'Oracle'에 해당되는 글 45건
전체 쿼리조회
Oracle/Administoration
set line 120
set pagesize 50
col name for a20
col value for a10
col deflt for a10
col type for a10
col description for a50
select a.ksppinm name, b.ksppstvl value,b.ksppstdf deflt,
decode (a.ksppity, 1, 'boolean',
                2, 'string',
                3, 'number',
                4, 'file',
                a.ksppity) type,
a.ksppdesc description
from sys.x$ksppi a, sys.x$ksppcv b
where a.indx = b.indx and a.ksppinm like '\_%' escape '\'
order by name

 

강조부분을 빼야 all 조회

원하는것만 찾을려면 where절에 추가해넣으면 된다. 

오라클 Hidden 파라미터 조회
Oracle/Administoration

vi hidden.sql
set lines 132
col KSPPINM for a50
col KSPPSTVL for a10
select a.ksppinm,b.ksppstvl from x$ksppi a, x$ksppsv b
where a.indx=b.indx
and a.ksppinm = '&a'
and substr(a.ksppinm,1,1)='_';
를 os상에 sql로 만들어놓고 oracle 접속후 실행

 

'_in_memory_undo' 입력

tablespace에 속한 table 조회(owner)
Oracle/Administoration
Tablespace에 속한 Table을 조회 할 수 있다.
SQL> select table_name,tablespace_name
  2  from dba_tables
  3 where owner='SCOTT'
SQL> /

TABLE_NAME		       TABLESPACE_NAME
------------------------------ ------------------------------
DEPT			       USERS
EMP			       USERS
BONUS			       USERS
SALGRADE		       USERS
PROFESSOR		       USERS
DEPARTMENT		       USERS
STUDENT 		       USERS
EMP2			       USERS
DEPT2			       USERS
CAL			       USERS
GIFT			       USERS

TABLE_NAME		       TABLESPACE_NAME
------------------------------ ------------------------------
GOGAK			       USERS
HAKJUM			       USERS
EXAM_01 		       USERS
P_GRADE 		       USERS
REG_TEST		       USERS
P_01			       USERS
P_02			       USERS
PT_01			       USERS
PT_02			       USERS
P_TOTAL 		       USERS
TEST_NOVALIDATE 	       USERS

TABLE_NAME		       TABLESPACE_NAME
------------------------------ ------------------------------
TEST_VALIDATE		       USERS
TEST_ENABLE		       USERS
PRODUCT 		       USERS
PANMAE			       USERS
MEMBER			       USERS
REG_TEST2		       USERS
FRUIT			       USERS
DAECHUL 		       USERS
JUMSU			       USERS
TARAN			       SPIDER
H_TARAN 		       SPIDER

33 rows selected.
찾았다....taran테이블과 h_taran테이블..
테이블스페이스 소유자 확인
Oracle/SQL
SQL> SELECT status,enabled, t.name,d.name
     FROM  V$DATAFILE d, V$TABLESPACE t
     WHERE t.ts#=d.ts#;
=> 현재 dbf 파일과 테이블 스페이스명의 위치를 확인

SQL> select name,enabled from v$datafile;
=> dbf 파일들 위치 확인

SQL> select distinct owner from dba_segments where tablespace_name='TS_XEP_D'
=> 테이블 스페이스 명으로 소유자 계정을 확인

drop tablespace TSCAL_T including contents AND DATAFILES;
drop tablespace TSCAL_I including contents AND DATAFILES;
drop tablespace TS_PORTAL_I including contents AND DATAFILES;

drop tablespace HDATA_3_WEB including contents AND DATAFILES;
drop tablespace HDATA_4_WEB including contents AND DATAFILES;
drop tablespace HINDEX_1 including contents AND DATAFILES;
drop tablespace HINDEX_2_WEB including contents AND DATAFILES;
drop tablespace HINDEX_3_WEB including contents AND DATAFILES;

=> TSCAL_T 의 테이블 스페이스 및 실제 물리 dbf 파일도 같이 다 삭제
 
SQL> DROP USER INTRAG7 CASCADE;
=> intrag7 계정을 삭제


 



SQL> drop tablespace 테이블스페이스명 including contents cascade constaints;

이후

실제 dbf 파일을 rm 또는 탐색기에서 삭제한다
RAC) PRKC-1044 failed to check remote command execution setup for node 에러
Oracle/RAC


클러스터를 NODE1에 설치할때
specified nodes are not clisterable 에러가 발생할 경우 ssh-keygen생성중에 암호를 넣어서 그렇다.

1.모든 노드상에 .ssh 디렉토리를(root,oracle)을 삭제한후 다시 .ssh디렉토리를 만든다.

2.모든 노드에 ssh-keygen -t rsa 실행(rac1,rac2)
(여기서 암호는 절대로 넣지 말고 엔터로 입력)

[oracle@rac1 ~]$ chmod 700 .ssh
[oracle@rac1 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
enter file in which to save the key (/home/oracle/.ssh/id_rsa) : 엔터
enter passphrase (emptyu for no passphrase) : 엔터
enter same passphrase again : 엔터

3.모든 노드에 ssh-keygen -t dsa 실행(rac1,rac2)
(여기서 암호는 절대로 넣지 말고 엔터로 입력)
[oracle@rac1 ~]$ ssh-keygen -t dsa
Generating public/private rsa key pair.
enter file in which to save the key (/home/oracle/.ssh/id_rsa) : 엔터
enter passphrase (emptyu for no passphrase) : 엔터
enter same passphrase again : 엔터

4. 하나의 노드에서 다음의 작업을 실행(rac1)
[oracle@rac1 .ssh]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[oracle@rac1 .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@rac1 .ssh]$ ssh rac1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys
oracle@rac1'spassword:
[oracle@rac1 .ssh]$ ssh rac1 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys
[oracle@rac1 .ssh]$ ssh rac2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys
oracle@rac2'spassword:
[oracle@rac1 .ssh]$ ssh rac2 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys
oracle@rac2'spassword:
[oracle@rac1 .ssh]$ scp authorized_keys rac2:/home/oracle/.ssh/
oracle@rac2'spassword:
authorized_keys                      100% 2040     2.0KB/s   00:00   
5. 양쪽 노드에서 다음을 실행(비밀번호를 물어보면 안됨)
--------------RAC1------------------
[oracle@rac1 .ssh]$ ssh rac1 date
[oracle@rac1 .ssh]$ ssh rac1-priv date
[oracle@rac1 .ssh]$ ssh rac2 date
[oracle@rac1 .ssh]$ ssh rac2-priv date
--------------RAC2------------------
[oracle@rac2 .ssh]$ ssh rac1 date
[oracle@rac2 .ssh]$ ssh rac1-priv date
[oracle@rac2 .ssh]$ ssh rac2 date
[oracle@rac2 .ssh]$ ssh rac2-priv date


'Oracle > RAC' 카테고리의 다른 글

RAC 구성 Processe  (0) 2014.11.16
RAC 시작/종료 명령어  (0) 2014.11.16
RAC 관련 명령어  (0) 2014.11.16
RAC I/O시스템 설명  (0) 2014.11.15
RAC 구성 Processe
Oracle/RAC

SMP

상호 연결된 하나 이상의 컴퓨터가 그룹을 이루어 작업을 함께 처리하는 방식

 

CRS(Cluster Ready Service)는 10g Real Application Cluster의 새로운 기능으로, 모든 플랫폼에 대한 표준화된 클러스터 인터페이스를 제공해 주고, 이전 버전에 없었던 새로운 고가용 서비스를 제공해 줍니다.



 

CRS는 H/W업체에서 제공하는 Cluster S/W/와 함께 사용 되어질 수도 있으며, H/W 업체의 Cluster S/W없이 CRS자체만으로도 구성할수 있습니다.

 

 9i RAC환경에서는 H/W업체에서 제공하는 Cluster S/W 사용이 필수요소였지만, 10g RAC로 오면서 H/W 업체의 Cluster S/W의 사용은 선택사항이 되었습니다.

 이와 같은 CRS를 구성하기 위해서는 아래사항을 반드시 확인해야 하며 인지하고 있어야 합니다.

 

 - CRS 10g RAC를 설치하기 전에 설치되고 실행되어야 합니다.

 - CRS HOME과 ORACLE_HOME은 반드시 다른 디렉토리에 설치되어야 합니다.

 - CRS를 설치하기 전에, VOTING 파일 또는 OCR(Oracle Configuration Repository)파일을 설치 할 수 있는 공유된 

   디렉토리 또는 디바이스가 구성 되어야 합니다. 이를 위한 voting file은 최소 20MB 정도 크기이며, OCR 파일은

   최소 100MB 크기가 되어야 합니다.

 - CRS 및 RAC를 설치하기 위해서는 다음과 같은 네트워크 인터페이스가 구성되어야 합니다.

   Public Interface

   Pravate Interface

   Virtual Interface

 - RAC NODE당 1개의 CRS 데몬만 실행 가능합니다.

 - 네트워크 split이 있을 경우 (NODE간 통신 두절) data corruTESTion을 방지 하기 위해 하나 또는 그 이상의 NODE

   에서 시스템 Rebooting 현상이 발생 할 수 있습니다.

 - 서비스를 중단시키는 올바른 방법은, 장비를 shutdown 시키거나, "init.crsstop" 명령을 실행시키는 것입니다.


CRS를 구성하고 있는 프로세스



CRS를 구성하고 있는 가중 중요한프로세스로서 RAC에서 담당하는 역활은 아래와 같습니다.

  - HA(High Availability) 작업을 위한 엔진

  - Application 자원 관리

  - Application 자원을 구동, 정지, failover 처리

  - OCR(Oracle Configuration Repository)의 구성 프로파일 관리

  - OCR의 현재 알려진 상태를 저장

  - root 권한으로 실행

 

 이처럼 CRSD 데몬은 RAC환경에서 가장 기본적인 NODE간의 자원상태를 감지하고 있습니다. 필요한 경우 해당 NODE를 Down 하거나 Rebooting 하는 역활을 수행하게 됩니다. CRS데몬은 장애 발생 시 자동으로 구동되도록 설정되어 있습니다. 만약에 CRS 데몬을 OS명령어로 KILL하게 될 경우 해당 NODE는 Rebooting 될 수 있으니 주의하시기 바랍니다.

 

 - CSSD




   CSSD는 RAC의 일부로, ASM과 함께 단일 인스턴스를 구성

   NODE 맴버쉽에 대한 액세스를 제공

   그룹 서비스 제공

   기본적인 클러스터 LOCK 기능 제공

   오라클 계정으로 실행

 

  이처럼 CSSD 데몬은 데이터베이스의 Syncronization 부분을 담당하게 됩니다.

 






'Oracle > RAC' 카테고리의 다른 글

RAC) PRKC-1044 failed to check remote command execution setup for node 에러  (0) 2014.11.20
RAC 시작/종료 명령어  (0) 2014.11.16
RAC 관련 명령어  (0) 2014.11.16
RAC I/O시스템 설명  (0) 2014.11.15
RAC 시작/종료 명령어
Oracle/RAC

########################################################

# Listener (stop, start, status)
# srvctl stop listener -n <hostname> -l LISTENER

########################################################

srvctl stop listener -n rac1 -l LISTENER
srvctl start listener -n rac1 -l LISTENER
srvctl status listener -n rac1 -l LISTENER

srvctl stop listener -n rac2 -l LISTENER
srvctl start listener -n rac2 -l LISTENER
srvctl status listener -n rac2 -l LISTENER

 

########################################################

# Oracle Instance and service(status)
# srvctl status database -d <database_name>

########################################################

 

srvctl status database -d ORCL

 

########################################################

# Oracle 11g RAC stop command
# srvctl stop instance -d <database_name> -i ORCL1<instance_name>
# srvctl stop listener -n r<hostname> -l LISTENER
# srvctl stop nodeapps -n <hostname>

########################################################

 

- RAC1

emctl stop dbconsole

srvctl stop instance -d ORCL -i ORCL1
srvctl status instance -d ORCL -i rac1

srvctl stop listener -n rac1 -l LISTENER
srvctl status listener -n rac1 -l LISTENER

srvctl stop nodeapps -n rac1

 

- RAC2
emctl stop dbconsole

srvctl stop instance -d ORCL -i ORCL2
srvctl status instance -d ORCL -i ORCL2

srvctl stop listener -n rac2 -l LISTENER
srvctl status listener -n rac2 -l LISTENER

srvctl stop nodeapps -n rac2

 

########################################################

# Oracle 11g RAC start command
# srvctl start listener -n r<hostname> -l LISTENER
# srvctl start instance -d <database_name> -i <instance_name>

########################################################

- RAC1

srvctl start nodeapps -n rac1
srvctl status nodeapps -n rac1

srvctl start listener -n rac1 -l LISTENER
srvctl status listener -n rac1 -l LISTENER

srvctl start instance -d ORCL -i ORCL1
srvctl status instance -d ORCL -i ORCL1

emctl start dbconsole

 

- RAC2
srvctl start nodeapps -n rac2
srvctl status nodeapps -n rac2

srvctl start listener -n rac2 -l LISTENER
srvctl status listener -n rac2 -l LISTENER

srvctl start instance -d ORCL -i ORCL2
srvctl status instance -d ORCL -i ORCL2

emctl start dbconsole

 

########################################################

# All Database (stop, start)
# srvctl start database -d <database_name>

########################################################

srvctl start database -d ORCL
srvctl stop database -d ORCL


'Oracle > RAC' 카테고리의 다른 글

RAC) PRKC-1044 failed to check remote command execution setup for node 에러  (0) 2014.11.20
RAC 구성 Processe  (0) 2014.11.16
RAC 관련 명령어  (0) 2014.11.16
RAC I/O시스템 설명  (0) 2014.11.15
RAC 관련 명령어
Oracle/RAC

RAC 관리 Oracle/MSSQL 

 

1) 관리 툴 : EM, CVU(Cluster Verification Utility, RAC 설치 후 검증 툴), srvctl(server control)
      - crsctl(cluster ready services control) : oracle cw 기동/중지 툴
      - oifcfg(oracle interface configuration tool) : 네트워크 인터페이스 할당/해제 툴
      - ocrconfig(OCR configuration tool) : ocr 관리 툴, ocrcheck, ocrdump 등의 유틸리티도 있음
      - vipca : vip 관리


2) Voting Disk 관리
      - voting disk 백업 : $[oratest] dd if=voting_disk_name of=backup_file_name
      - voting disk 복구 : $[oratest] dd if=backup_file_name of=voting_disk_name


      - Multiple voting disk path 추가
        #[root] crsctl stop crs (모든 노드에서)
        #[root] crsctl add css votedisk path -force


      - Multiple voting disk path 삭제
        #[root] crsctl delete css votedisk path


3) OCR 관리
      - OCR location 추가 : #[root] ocrconfig -replace ocr destination_file or disk
      - OCR mirror location 추가 : #[root] ocrconfig -replace ocrmirror destination_file or disk


      - OCR 교체
        . 교체할 OCR 외에 나머지 OCR이 online 상태인지 확인
        . Oracle CW가 해당 노드에서 작동 중인지 확인
        . 다음의 명령어로 OCR 교체
          # ocrconfig -replace ocr [dst file] or [disk]
          # ocrconfig -replace ocrmirror [dst file] or [disk]


        . 교체 작업 중 shutdown 상태였던 node가 있었다면, 해당 노드 restart 시에 다음의 명령어로 repair 작업 수행
          # ocrconfig -repair ocr [device_name]
          # ocrconfig -repair ocrmirror [dev_name]


      - OCR 복구
        # ocrconfig -repair ocrmirror [dev_name]


      - OCR 삭제
        . 제거할 OCR 외에 나머지 OCR이 online 상태 인지 확인
        . 다음의 명령어로 OCR 삭제
          # ocrconfig -replace ocr
          # ocrconfig -replace ocrmirror


      - OCR 백업
        . Oracle이 자동으로 백업 생성/관리
        . 백업 디폴트 위치 : CRS_home/cdata/cluster_name


      - OCR 백업 확인
        # ocrconfig -showbackup


      - OCR 복구
        . OCR 백업 확인
          # ocrconfig -showbackup
          # ocrdump -backupfile [file_name]
        . 모든 노드에서 ORACLE CW 중지
          # crsctl stop crs
        . 복구
          # ocrconfig -restore [file_name]
        . 모든 노드에서 Oracle CW 시작
          # crsctl start crs


      - OCR 내용 확인
        . ocrdump 이용하여 ocr의 내용을 파일로 출력해서 확인


      - OCR 체크 : $ ocrcheck


4) DB와 인스턴스(서버) 관리
      - DB와 인스턴스(서버) 시동 : $ srvctl start instance -d [dbname] -i [inst_name_list]
      - DB와 인스턴스(서버) 중지 : $ srvctl stop instance -d [dbname] -i [inst_name_list]


      - 모든 인스턴스 시작 : $ srvctl start database -d [dbname]
      - 모든 인스턴스 중지 : $ srvctl stop database -d [dbname]


      - DB policy 변경
        . policy 종류 : Automatic(Default), manual
        . 현재 policy 확인 : # srvctl config database -d [dbname] -a
        . Policy 변경 : # srvctl modify database -d [dbname] -y [policy name]
        . Database 추가 및 Policy 설정 : # srvctl add database -d [dbname] -y [policy name]


      - SPFILE 변경
        . 현재 spfile 설정 확인 : # srvctl config database -d [dbname] -a
        . spfile 변경 : # srvctl modify database -d [dbname] -p [spfile위치]


      - RAC NIC 관리
        . NIC 정의 : $ oifcfg setif -global eth0/139.185.141.0:cluster_interconnect
        . NIC 확인 : $ oifcfg iflist
                     $ oifcfg getif
        . NIC 삭제 : $ oifcfg delif -global eht0/139.185.141.0


      - CSS failover 파라메터 설정
        . CSS 파라메터 : Misscount, Disktimeout, Reboottime
        . CSS 파라메터 설정 확인
          $ crsctl get css misscount
          $ crsctl get css disktimeout
          $ crsctl get css reboottime


        . CSS 파라메터 설정 변경
          # crsctl set css misscount [value]
          # crsctl set css disktimeout [value]
          # crsctl set css reboottime [value]


        . CRS 재시작
          # crsctl stop crs
          # crsctl start crs


      - OCR 파일내의 CRS 파라메터 변경
        . VIP 의 CHECK_INTERVAL 값 변경
          # crs_stat -p XXX.vip > XXX.vip.cap
          생성한 XXX.vip.cap 파일을 열어서, CHECK_INTERVAL 값 변경
          crs를 내렸다 올림
          # crs_register -u XXX.vip (.cap는 자동으로 인식하므로, 생략함)
          # crsctl stop crs
          # crsctl start crs


      - 로그 레벨 변경
        . 관련 로그 및 위치
          = CRS Log : $ORA_CRS_HOME/log/hostname/crsd
          = CSS Log : $ORA_CRS_HOME/log/hostname/cssd
          = OCR Log : $ORA_CRS_HOME/log/hostname/client
          = EVM Log : $ORA_CRS_HOME/log/hostname/evmd


        . CSS 로그 레벨 변경
          # crsctl set trace [level] (default 1)
          # crsctl stop crs
          # crsctl start crs


        . OCR 로그 레벨 변경
          $ORA_CRS_HOME/srvm/admin/ocrlog.ini 의 mesg_logging_level 값 조정 (default 0)

 

RAC 인스턴스 개수 확인 : select count(*) from gv$instance;

 

RAC STOP => 역시 관리의 기본은 STOP/START/상태 확인이다.... ^^
  1) 리스너 종료 : $ lsnrctl stop
  2) RAC 의 모든 인스턴스 shutdown : $ srvctl stop database -d [db sid]
  3) ORACLE CW 종료 : # crsctl stop crs (root)

 

RAC START
  1) ORACLE CW 시작 : # crsctl start crs (root)
  2) RAC 의 모든 인스턴스 start : $ srvctl start database -d [db sid]
  3) RAC 관련 서비스 시작(옵션, ex:TAF) : $ srvctl start service -d [db sid]
  4) 리스너 시작 : $ lsnrctl start

 

CRS 상태 확인 : crs_stat -t => 가독성이 떨어짐
                       crsstat     => 가독성이 좋음

 

RAC 내의 DB 목록 확인
  $ srvctl config database
  oracl

 

RAC DB의 설정 확인
  $ srvctl config database -d [sid]
  linux1 orcl1 /u01/app/oracle/product/10.2.0.1/db_1
  linux2 orcl2 /u01/app/oracle/product/10.2.0.1/db_1 

 

RAC 관련 서비스 확인
  $ srvctl config service -d [sid]
  oracltest PREF: oracl2 oracl1 AVAIL

 

RAC 인스턴스 상태 확인
  $ srvctl status database -d [sid]

 

RAC 프로세스 확인
  ps -ef | grep d.bin
  => HP는 3개 있으면 OK(crsd, evmd, css), oprocd는 SGeRAC가 수행함.
     IBM은 4개 있으면 OK(crsd, evmd, css, oprocd)
 
RAC 프로세스 상태 확인
  crsctl check crs

 

crs_stop all  => CRS 부터 인스턴스까지 등록된 모든 것을 중지함(비 권장)
crs_start all => CRS 부터 인스턴스까지 등록된 모든 것을 시작함(비 권장)

crsctl disable crs * => rebooting 후 crs가 자동 시작되는 것을 disable
crsctl enable crs*   => rebooting 후 crs가 자동 시작되는 것을 enable

 

플랫폼 별 RAC 구동 순서

  1) HP : MCSG(SGeRAC) -> CFS -> CRS -> 각 노드의 DB 인스턴스 구동
  2) IBM : GPFS mount -> CRS -> 각 노드의 DB 인스턴스 구동 

'Oracle > RAC' 카테고리의 다른 글

RAC) PRKC-1044 failed to check remote command execution setup for node 에러  (0) 2014.11.20
RAC 구성 Processe  (0) 2014.11.16
RAC 시작/종료 명령어  (0) 2014.11.16
RAC I/O시스템 설명  (0) 2014.11.15
RAC I/O시스템 설명
Oracle/RAC

RAC 시스템에서 각각(node)의 인스턴스(instance)는 공유 스토리지를 통해 물리적인 데이터를 서로 공유한다.

공유 스토리지는 *인터커넥트*와 함께 grid를 구성하는 핵심적인 기반 구조다.


오라클이 공유 스토리지를 이용해 데이터 파일이나 리두 로그 파일 등을 공유하기 위해서는

파일을 공유해서 사용 할 수 있는 "파일 디바이스" 혹은 "파일 시스템"이 필요하다.


각 회사의 스토리지를 구입했다면 어떠한 파일 디바이스나, 혹은 파일 시스템을 사용 할지 결정해야 한다.

그중에 로우 디바이스(raw device), 클러스터 파일 시스템(cluster file system) , ASM(automatic storage Management)가 있다.



Raw Device :

File system을 사용하지 않은 원시적인 형태의 Device.

별도의 File system이 없이도 Disk를 직접 연결(엑세스)하게 된다.

HACMP와 같은 Cluster service를 사용하면 논리적인 파티션(Disk) 위에 Raw device를 생성해서 사용할 수 있다.

만일 OS가 제공하는 Cluster service를 사용하지 않는다면 하나의 물리적인 파티션을 하나의 Raw device로 사용하게 된다.

하지만 Disk 관리가 용이하지 않기 때문에, 해당 OS에서 제공하는 Cluster service를 사용하는것이 일반적이다.



Cluster File System :

Raw device의 불편함..즉 File System을 사용 할 수 없다는 단점으로 인해 cluster File System을 선책한다.

Cluster File System을 사용하면 기존의 File system의 편리함을 그대로 사용하면서 file을 공유해 사용할 수 있는 장점이 있다.

가령 Oracledms windows와 linux에서 사용 가능한 OCFS(Oracle Cluster File System)라는 이름의 File system을 제공하며,

거의 모든 OS에 대해 뛰어난 성능의 cluster file system을 제공한다.

아직까지는 raw device가 성능 면에서는 최고의 solution임이 틀림없지만 cluster file system의 성능 또한

여러가지로 개선이 이루어지고 있기 때문에 raw device보다 cluster file system이 점차 대세를 이룰것이다.



ASM(Automatic Storage Management) :

오라클 10g부터 추가된 ASM은 오라클의 자동화 로드맵중 storage에 대한 구현을 제공한다.

ASM을 사용할 경우에는 오라클이 전적으로 Storage를 관리한다.

관리자(administoration)은 Oracle에게 어떤 Disk와 Disk group을 사용할 것이지만을 지정하며 나머지 전부는 Oracle 자동화이다.

ASM은 현대적인 볼룸 관리에 필요한 스트라이핑,미러링, 백업 및 복구에 필요한 모든 기능을 제공하고,

Raw device와 cluster file system 모두의 장점에 더해서 볼륨 매니저의 기능까지 제공하기 때문에 매력적이다.

하지만 다른 솔루션들에 비해 적용 사례가 많지 않다.

'Oracle > RAC' 카테고리의 다른 글

RAC) PRKC-1044 failed to check remote command execution setup for node 에러  (0) 2014.11.20
RAC 구성 Processe  (0) 2014.11.16
RAC 시작/종료 명령어  (0) 2014.11.16
RAC 관련 명령어  (0) 2014.11.16
RMAN 임시경로에서 복구하기
Oracle/Backup & Recovery
rtest 테이블 스페이스를 삭제 한 후 기존 파일 경로 말고 다른 위치에 restore 하고 recover
하는 실습을 해보겠다. 복원 경로를 다른 위치로 지정하는 명령어는
set newname for datafile <번호 또는 경로> to < 새 위치 경로 및 파일명>
그리고 복원 한 후 반드시 Control file의 내용을 switch datafile <파일번호> 명령어로 변경
해야 한다. 이 책에서는 임시 복원 장소를 /data/temp 디렉토리로 하겠다.

1) 현재 상태를 확인 후 파일을 삭제
RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name TESTDB

List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ----------- ----------------------------------------------------
1 720 SYSTEM *** /app/oracle/oradata/testdb/system01.dbf
2 660 SYSAUX *** /app/oracle/oradata/testdb/sysaux01.dbf
3 354 UNDOTBS1 *** /app/oracle/oradata/testdb/undotbs01.dbf
4 748 USERS *** /app/oracle/oradata/testdb/users01.dbf
5 345 EXAMPLE *** /app/oracle/oradata/testdb/example01.dbf
6 10 RTEST *** /app/oracle/oradata/testdb/rtest01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ---------------- --------------------------------------------------
1 100 TEMP100 100 /app/oracle/oradata/testdb/temp100.dbf

RMAN> exit

[oracle@localhost ~]$ rm -f /app/oracle/oradata/testdb/rtest01.dbf
[oracle@localhost ~]$ ls /app/oracle/oradata/testdb/rtest01.dbf
ls: /app/oracle/oradata/testdb/users01.dbf: 그런 파일이나 디렉토리가 없음
2) 임시경로로 파일을 복원 한 후 복구
[oracle@localhost ~]$ mkdir /data/temp <-- 없을 경우 이렇게 새로 만드세요.

[oracle@localhost ~]$ rman target sys/oracle

Recovery Manager: Release 11.2.0.2.0 - Production on Sun Aug 18 02:37:43 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: TESTDB (DBID=2581382545)

-- 파일을 복원하기 전에 복원할 경로를 먼저 지정해 준 후에 restore 명령을 내림
-- 작업형 명령어로 복구를 하겠습니다.


RMAN> run {
2> sql 'alter tablespace rtest offline immediate' ;
3> set newname for datafile '/app/oracle/oradata/testdb/rtest01.dbf'
4> to '/data/temp/rtest01.dbf';
5> restore tablespace rtest;
6> switch datafile 6; <- 이 파일번호는 report schema 에서 확인
7> recover tablespace users;
8> sql 'alter tablespace rtest online';
9> }
( 지면 관계상 복구 내용 출력부분은 생략)
위 명령에서 3-4 번줄로 복원하기 전에 미리 경로를 지정 한 후 5번 줄에서 백업된 파일을 새 경로에 복원하고
6번 줄에서 control file 에 있는 경로를 새 경로로 변경해 주는 순서를 꼭 기억해야한다.
사람이 하는 작업과 비교하면 3,4,5 번줄은 새로운 경로로 복사하는 과정이고 6번 줄은 복사 후
alter tablespace rtest rename datafile 하는 과정과 동일.