아바마 오라클 복구 관련 내용 정리 (아바마 6.1 버전)

아바마 오라클 복구 관련 내용 정리 (아바마 6.1 버전)
 [출처] 아바마 오라클 복구 관련 내용 정리 (아바마 6.1 버전)|작성자 DD

 

아바마 오라클 복구 관련 내용 정리

(아바마 오라클 유저가이드 6.1 버전 문서참조)

 

-------------------------------------------------------------------------------------------

​ 

 

- 데이터베이스 준비작업 (82, 83쪽 - 핫백업으로부터)

 

1. 솔라리스VCS클러스터의 경우, listener 와 다른 프로세스 정지

/ 해당없으면 3번으로

 

2. (raw 디바이스만해당) raw device에 복구전, flash recovery area 안의 파일을 백업

(데이터 베이스가 raw 파일 스트럭쳐에 저장되도록 구성된 경우, 오라클에서는 flash recovery area 에 대하여 일반적인 파일시스템을 사용할 것을 권장함)

/ 해당없으면 3번으로

 

3. ORACLE_SID 가 올바르게 설정되있는지 확인

echo $ORACLE_SID

MY-SID

 

4. ORACLE RAC 를 복구하는 경우, 모든노드의 모든 데이터베이스 인스턴스 셧다운하고,

sqlplus "/ as sysdba“

shutdown immediate;

exit

등록된 노드만 노마운트로 스타트업

startup nomount;

exit

/ 해당없으면 5번으로

 

5. non-clustered 오라클 데이터베이스 복구하는 경우 (일반적인 DB복구해당),

데이터베이스 close 하고 인스턴스를 데이터베이스 마운트하지 않고 시작함

sqlplus "/ as sysdba"

SQL> 프롬프트에서

shutdown immediate;

startup nomount;

exit

 

6. 현재 데이터파일(*.dbf), 콘트롤파일(*.ctl), 리두로그파일(*.log), 아카이브로그파일(*.arc), 오토백업파일(*.bkp)

을 이동시킴.

mkdir $ORACLE_HOME/oradata/DB_NAME.saved

mv $ORACLE_HOME/oradata/DB_NAME/* $ORACLE_HOME/oradata/DB_NAME.saved

mkdir $ORACLE_HOME/flash_recovery_area/DB_NAME.saved

mv $ORACLE_HOME/flash_recovery_area/DB_NAME/* $ORACLE_HOME/flash_recovery_area/DB_NAME.saved

DB_NAME 은 대문자로 데이터베이스 네임.

 

오라클 11gR2 에서는 다음을 추가로 실행

mkdir $ORACLE_HOME/flash_recovery_area/db_name.saved

mv $ORACLE_HOME/flash_recovery_area/db_name/* $ORACLE_HOME/flash_recovery_area/db_name.saved

db_name 은 소문자로 데이터베이스 네임.

 

*.dbf, *.ctl, *.log, *.arc, *.bkp 의 기본 위치는 아래와 같음

$ORACLE_HOME/oradata/DB_NAME

$ORACLE_HOME/flash_recovery_area/DB_NAME

 

7. $ORACLE_HOME/oradata/DB_NAME 디렉토리를 복구 시작 - (106쪽~ 또는 111쪽~)

 

 

 

 

 

- 복구 준비 (106쪽)

 

아바마 관리자 (콘솔)는 하나의 시스템에서 다른 시스템 또는 같은 시스템의 다른 디렉토리에 데이터베이스 복구를 지원. 복구시에 복구되는 데이터베이스와 원본 데이터베이스의 같은 오라클 시스템 식별자 (SID) 와 데이터베이스 식별 번호 (DBID)를 사용.

 

 

 

 

 

- 원래 클라이언트에 데이터베이스 복구 (106쪽)

 

1. 콘솔시작 및 로그인

 

2. Backup & Restore 클릭

 

3. Select for Restore 클릭

 

4. Clients 트리에서 오라클 서버 선택

 

5. By Date 탭 클릭

 

6. 달력에서 백업 날짜 선택 (노란색)

 

7. 백업 테이블에서 백업 선택

 

8. 달력 밑의 내용에서 데이터베이스 SID가 보일때까지 폴더를 확장

 

9. 하나 또는 그 이상의 SID 폴더를 선택

(point-in-time 리커버리의 경우 하나만 선택, 다중 데이터베이스를 point-in-time 리커버리 미지원)

 

10. 콘트롤 파일을 선택

(성공적으로 복구 완료하기 위해서 반드시 선택해야함)

 

11. Actions > Restore Now 선택 - Restore Options 창이 뜸

 

12. Restore Options 창의 설정

a) Encryption method 목록에서 복구중 클라이언트-서버간 데이터전송에 사용할 암호화 방법 선택

b) Restore everything to its original location 선택

c) More Options 클릭 - Restore Command Line Options 대화상자 뜸

 

13. Restore Command Line Options 대화상자 설정

a) 고급옵션을 보려면, 대화상자의 아래 Show Advanced Options 를 선택 - 고급옵션이 붉게 표시

b) Oracle Instance Name 필드를 비워둠 (아바마 오라클 플러그인이 오라클 인스턴스 네임을 결정함)

c) User Name 필드에 오라클 데이터베이스를 인증하는데 사용되는 유저네임 입력

d) Password 필드에 유저네임 계정에 사용되는 패스워드 입력

e) (Linux 와 Unix 만 해당) 어플리케이션 비트수와 OS 비트수가 다른 경우 적절한 설정값을

Media Management Library Bitwidth 목록에서 선택 (동일한 경우에는 그대로 놔둠-기본값)

윈도우 플랫폼에서는 적용되는 사항이 아님

f) Number of RMAN Channels 목록에서 복구중 할당할 채널수 선택, 최대 6

g) (선택사항) 여러개의 복구 타겟중 하나의 복구가 실패가 되도 복구가 계속 되는것을 방지하기 위해,

Exit a multiple target restore when any one backup fails 선택

h) (고급옵션) Enable debugging message 옵션 선택하지 않을 것. 복구문제를 해결하기 위한 옵션임.

선택시 용량이 큰 로그 파일을 생성

i) (고급옵션) NLS_DATE_FORMAT 필드에 대상 머신의 타임스탬프 포맷 입력

j) Recovery Type 선택:

* Point-in-Time(PIT) 은 아바마 오라클 플러그인이 데이터를 현재시점 또는 과거의 특정시점으로 복구하도록

지원 (여러개의 데이터베이스는 지원되지 않고, 하나의 데이터베이스만 선택)

* Flashback Database (FRA) 는 아바마 오라클 플러그인이 Flash Recovery Area (FRA) 로부터 데이터블록

을 복구하도록 지원 (FRA를 사용전 설정이 필요)

* Corrupt blocks only 는 아바마 오라클 플러그인이 전체 데이터베이스가 아닌 Corrupt블록만 복구하도록 함

(옵션을 사용하기 위해서는, DB_BLOCK_CHECKSUM 초기화 파라미터가 오라클 데이터베이스의 TYPICAL

로 설정되어야 함. 데이터베이스는 마운트 또는 오픈 상태여야 함. Corrupt blocks only는 고급옵션)

k) Recovery mode 목록에서, j 에서 선택한 복구유형을 선택

(150쪽에 상세내용, 복구모드에 따라 SCN 또는 log 시퀀스넘버 또는 타임스탬프 입력)

l) OK를 클릭하여 Restore Command Line Options 대화상자를 닫음

 

14. OK를 클릭하여 Restore Options 대화상자를 닫음

 

15. OK를 클릭 (리스토어 프로세스가 실패하면, 수동작업 필요 - 연락)

 

16. (솔라리스만 해당) 솔라리스 VCS 클러스터에 복구하는 경우, 리스너와 다른 독립 프로세스 재시작

 

 

 

 

 

- 다른 클라이언트에 데이터베이스 복구 (111쪽)

 

오라클 데이터베이스를 다른 클라이언트로 복구하기 위해서는 대상 클라이언트의 다음 항목이 반드시 원본 클라이언트와 동일해야 함

 

ORACLE_HOME

oradata

flash_recovery_area paths

Database SID

 

대상 클라이언트를 복구 준비에 맞게 준비함.

 

1~12번a) 까지 원래 클라이언트에 데이터베이스 복구 내용과 동일함

 

12. Restore Options 창의 설정

b) Restore everything to a different location 선택

이 옵션을 선택하면 Item Marked for Restore table 과 options 를 활성화함

c) Set Destination 클릭 - Set Destination 대화상자 뜸

d) Browse 클릭 - File, Folder 또는 Directory 대화상자 뜸

e) 복구할 대상 위치를 선택하고 OK 클릭 - 대상이 Directory field 의 Save Target(s) 에 나타남

f) OK를 클릭하여 Set Destination 대화상자 닫음

Items Marked for Restore table 의 Destination 열은 e 에서 선택한 대상 위치를 포함하고 있음

g) More Options 클릭 - Restore Command Line Options 대화상자 뜸

 

13~16번 까지 원래 클라이언트에 데이터베이스 복구 내용과 동일함

 

 

 

 

 

 

 

- RMAN 사용하기 앞서 (118쪽)

 

RMAN에서 직접 오라클 데이터베이스를 수동으로 백업하거나 복구. 대부분은 아바마 관리콘솔로 백업 복구함.

 

아바마 관리콘솔보다 RMAN을 사용하여 오라클 백업시에 반드시 백업 만료시간이 정확하게 지정되어야함.

백업 만료는 avtar --expires 옵션을 각 백업에 추가하여 설정. avtar --expires 옵션이 설정되지 않으면 아바마 서버에 저장된 백업이 절대 만료되지 않음. --expires 옵션은 보존할 날짜나 정확한 만료 시점 모두 적용됨.

avtar 옵션은 RMAN 백업중에 avtar 에 의해 읽히는 플래그 파일 안에 지정됨. 가이드의 모든 RMAN 백업 스크립트 예시와 플래그 파일 예시는 --expires 옵션을 포함함.

 

 

 

 

- avtar 플래그 파일 생성하기 (119쪽)

 

오라클 RMAN으로 백업 또는 복구시, RMAN은 반드시 avtar 에게 send 명령을 이용하여 특정정보를 전달해야 함

이러한 avtar 옵션이 포함된 avtar 플래그 파일은 RMAN 명령어 내부 라인길이제한을 초과하지 않음.

 

아바마 관리콘솔에 의해 시작되는 백업이나 복구 작업 중 설정되는 avtar 옵션과 혼동될수 있기 때문에 avtar -c 와 -x 옵션은 플래그 파일에 들어가지 않아야 함

 

avtar 플래그 파일 생성

1. UNIX 텍스트 에디터로 일반 텍스트 파일 생성 - my-avtar-flags.txt를 플래그 파일 예시로 사용하여 설명

 

2. 다음 엔트리를 추가함

--pidname=Oracle

--pidnum=PIDNUM

--logfile=INSTALL-DIR/var/avtar.log

--vardir=INSTALL-DIR/var

--id=USER

--ap=PASSWORD

--path=/client/MY-DB-CLIENT

--expires={NUM-DAYS | TIMESTAMP}

 

* PIDNUM 은 OS의 올바른 PID번호 - 리눅스 1002, 솔라리스 2002, 윈도우즈 3002, HP-UX 4002, AIX 5002

* INSTALL-DIR 은 플랫폼에 따른 설치 디렉토리

(예, 리눅스 /usr/local/avamar, 솔라리스 /opt/AVMRclnt, 윈도우즈 C:\Program Files\avs\bin)

* USER 는 아바마 관리 계정 / PASSWORD 는 아바마 관리 암호

* MY-DB-CLIENT 는 오라클 데이터베이스 호스트네임

* {NUM-DAYS | TIMESTAMP} 는 백업 만료일자 지정 (오늘부터 날짜 또는 타임스탬프 지정)

 

3. (DD사용시만 해당) RMAN 스크립트를 사용하여 오라클을 DataDomain 시스템에 백업하기 위해, DataDomain 지정 엔트리 추가

--ddr

--ddr-index=DDR-INDEX

 

* DDR-INDEX는 아바마 서버 구성에 추가될때 할당된 DataDomain 인덱스 번호

 

4. 아바마 관리콘솔로 원래 생성된 백업을 복구하려면, --incpartials 엔트리 추가

 

5. /oracle 또는 검색경로내 다른 위치에 파일 저장

 

 

 

 

 

- SBT_LIBRARY 설정 (120쪽)

 

아바마 소프트웨어에서 사용되는 RMAN 백업과 복구 스크립트는 반드시 구체적인 방법으로 백업 채널을 지정해야 함. RMAN allocate channel 명령은 아래와 같은 SBT_LIBRARY 값을 정의하는 PARMS 절을 반드시 포함해야 함.

 

SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so

 

* INSTALL-DIR 은 플랫폼에 따른 설치 디렉토리

(예, 리눅스 /usr/local/avamar, 솔라리스 /opt/AVMRclnt, 윈도우즈 C:\Program Files\avs\bin)

 

64비트 오라클 설치에는 libobk_avamar.so 대신 libobk_avamar64.so 를 사용. 윈도우즈 에서는 동일한 라이브러리가 각각 libobk_avamar64.dll 과 libobk_avamar.dll 임.

 

다음 명령은 IBM AIX 에서 allocate channel 명령 예시임.

 

allocate channel c1 type sbt

PARMS="SBT_LIBRARY=/usr/local/avamar/AVMRclnt/lib/libobk_avamar.so";

 

다음 명령은 HP-UX의 64비트 오라클에 대한 제대로 된 allocate channel 명령 예시임.

 

allocate channel c1 type sbt

PARMS="SBT_LIBRARY=/opt/AVMRclnt/lib/libobk_avamar64.so";

 

 

 

 

 

- 라이브러리 경로 설정 (120쪽)

 

RMAN 이 libobk 를 로드할때, RMAN 종속 라이브러리 경로가 반드시 동적로더에 전달되어야 함. 동적로더가 libobk 에서 요구되는 라이브러리를 찾을 수 없는 경우, 실패되어 종료되며 RMAN 에 의한 채널 할당도 실패함.

라이브러리의 위치를 지정하기 위해 환경 변수를 사용. 아바마 백업 또는 복구 작업이 RMAN 스크립트를 실행하기 전에 반드시 올바른 라이브러리 경로 환경변수를 설정해야 함. 다음은 각 OS에 대한 다양한 위치와 환경변수.

 

AIX : LIBPATH

HP-UX : SHLIB_PATH

HP-UX, Linux, Solaris : LD_LIBRARY_PATH

 

* 라이브러리 경로는 보통 INSTALL-DIR/lib 이며 INSTALL-DIR 은 플랫폼에 따른 설치 디렉토리

(예, 리눅스 /usr/local/avamar, 솔라리스 /opt/AVMRclnt, 윈도우즈 C:\Program Files\avs\bin)

 

set 과 export 명령을 사용하거나 setenv 명령을 사용하여 라이브러리 경로 변수 설정

 

솔라리스에 LD_LIBRARY_PATH 변수를 설정 :

* sh, ksh, 또는 bash 쉘에서 입력 :

set LD_LIBRARY_PATH=/opt/AVMRclnt/lib

export LD_LIBRARY_PATH

* csh 또는 bash 쉘에서 입력 :

setenv LD_LIBRARY_PATH /opt/AVMRclnt/lib

 

 

 

 

 

 

 

 

 

- 기본 백업 명령 (121쪽)

 

RMAN을 이용하여 오라클 데이터베이스, 테이블스페이스, 또는 단일 데이터파일을 백업

 

* 아바마는 핫백업을 수행하기 위해 오라클 RMAN 인터페이스를 사용. 오라클 RMAN은 오라클 데이터베이스가 실행중이어야 핫백업을 수행할 수 있음.

 

 

A. 데이터베이스 백업

 

1. 명령쉘 열기

 

2. avtar 플래그 파일이 올바른 위치에 있는지 확인 - 존재하지 않으면 119쪽 avtar 플래그 파일 생성 참조

* recovery catalog 대신 콘트롤 파일을 사용하여 데이터베이스를 백업하려면 RMAN을 호출하는 명령줄에 nocatalog 를 포함해야 함.

 

3. 오라클 유저 ID 와 패스워드를 사용하여 오라클 RMAN 에 로그인

RMAN> 으로 명령프롬프트 변경됨

 

4. 백업할 오라클 데이터베이스에 접속

 

5. 다음 입력

run {

configure controlfile autobackup on;

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so" format '%d_%U';

set controlfile autobackup format for device type sbt to "CONTROLFILE.%F";

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin"';

backup database plus archivelog;

release channel c1;

}

 

* INSTALL-DIR 은 플랫폼에 따른 설치 디렉토리

(예, 리눅스 /usr/local/avamar, 솔라리스 /opt/AVMRclnt, 윈도우즈 C:\Program Files\avs\bin)

 

 

B. 테이블스페이스 백업

 

1~4번 A와 동일

 

5. 다음 입력

run {

configure controlfile autobackup on;

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so" format '%d_%U';

set controlfile autobackup format for device type sbt to "CONTROLFILE.%F";

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin"';

backup tablespace "USERS";

release channel c1;

}

 

* USERS 는 백업할 테이블스페이스

 

 

C. 데이터파일 백업

 

1~4번 A와 동일

 

5. 다음 입력

run {

configure controlfile autobackup on;

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so" format '%d_%U';

set controlfile autobackup format for device type sbt to "CONTROLFILE.%F";

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin"';

backup datafile "MyFile.dbf";

release channel c1;

}

 

* MyFile.dbf 는 백업할 오라클 데이터파일

 

 

 

 

 

 

 

 

- 기본 복구 명령 (124쪽)

 

RMAN을 이용하여 오라클 데이터베이스, 테이블스페이스, 또는 단일 데이터파일을 복구

 

* 오라클 데이터베이스의 핫 리커버리 수행은 불가능함. 반드시 이런 복구절차 중 하나라도 수행하기 전에 오라클 svrmgr 을 사용하여 데이터베이스 인스턴스를 중단해야 함.

 

 

A. 데이터베이스 복구

 

RMAN 이 생성하는 기본 콘트롤 파일 이름은 다음 포맷을 사용함 :

 

c.DBID-DATE-SEQ

 

RMAN 스크립트에 지침을 전달하여 이 형식을 수정할 수 있음.

 

아바마 관리콘솔은 다음 지침을 포함하는 스크립트를 생성함 :

 

set controlfile autobackup format for device type sbt to "CONTROLFILE.%F";

 

그 결과 다음 포맷을 사용하는 콘트롤 파일 이름으로 변경됨 :

 

CONTROLFILE.c.DBID-DATE-SEQ

 

가이드의 샘플 스크립트는 콘트롤 파일 이름에 대해 이 포맷을 가정함

 

아바마 관리콘솔이 복구를 위해 사용하는 백업을 수행하는 경우, 콘트롤 파일 이름은 접두사를 포함함.

send 명령어에 접두사를 반드시 추가해야 함. 접두사는 반드시 맨 처음 지정 되어야 함.

다음 send 명령은 orcl 이라는 SID를 가진 11g 데이터베이스의 예제.

 

send '"--prefix=11g/orcl/" "--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin"';

 

--prefix 옵션으로 지정된 경로는 반드시 슬래쉬 (/)를 포함해야 함.

윈도우즈 플랫폼에서 슬래쉬 방향은 변하지 않음.

 

1. 명령쉘 열기

 

2. avtar 플래그 파일이 올바른 위치에 있는지 확인 - 존재하지 않으면 119쪽 avtar 플래그 파일 생성 참조

 

3. 오라클 유저 ID 와 패스워드를 사용하여 오라클 RMAN 에 로그인

RMAN> 으로 명령프롬프트 변경됨

 

4. 복구할 오라클 데이터베이스에 접속

 

5. 다음 입력

list backup;

 

6. 복구될 백업에서, 다음의 정보를 콘트롤 파일로부터 검색

a) 데이터베이스 백업 콘트롤 파일 이름 조사

b) 향후 사용을 위해 다음 값을 기록

- DATE

- DBID

- SEQ

* 이 절차의 나머지 부분마다 이러한 토큰 중 하나가 발생한 경우, 콘트롤 파일의 값으로 대체.

 

7. 다음 명령을 6번의 DBID, DATE, SEQ 값으로 대체하여 입력

set dbid=DBID;

set controlfile autobackup format for device type sbt to 'CONTROLFILE.%F';

run {

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so" format '%d_%U';

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin"';

restore controlfile from autobackup MAXSEQ=SEQ until time = "TO_DATE('DATE','YYYYMMDD')";

startup mount;

release channel c1;

list backup;

}

 

* DBID 는 데이터베이스 ID

* INSTALL-DIR 은 플랫폼에 따른 설치 디렉토리

(예, 리눅스 /usr/local/avamar, 솔라리스 /opt/AVMRclnt, 윈도우즈 C:\Program Files\avs\bin)

* YYYYMMDD 는 날짜

 

콘트롤 파일이 복사되고 데이터베이스가 마운트 상태.

 

명령쉘에 가용한 데이터베이스 백업 리스트와 대응되는 시스템 변경 번호 (SCN) 이 출력됨.

 

8. 복구에 사용할 백업에 대응되는 SCN 을 찾아 기록

* 아카이브 로그 백업을 복구하려면, 아카이브 로그 다음 SCN 기록

* 데이터베이스 백업에서 복구하려면, 데이터베이스의 SCN 기록

 

9. RMAN 세션을 다음을 입력하여 로그 아웃

exit

 

10. 오라클 유저 ID 와 패스워드를 사용하여 오라클 RMAN 에 로그인

RMAN> 으로 명령프롬프트 변경됨

 

11. 복구할 오라클 데이터베이스에 접속

 

12. 다음 입력

run {

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so" format '%d_%U';

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin"';

set until scn SCN;

restore database;

recover database;

release channel c1;

}

alter database open resetlogs;

 

* SCN 은 아카이브 로그 복구를 위한 다음의 SCN 값 (8번) 또는 데이터베이스의 SCN 값

(리스토어 프로세스가 실패하면, 수동작업 필요 - 연락)

 

 

B. 테이블스페이스 복구

 

1~4번 A와 동일

 

5. 다음 입력

run {

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so" format '%d_%U';

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin"';

restore tablespace "USERS";

recover tablespace "USERS";

release channel c1;

}

 

* USERS 는 복구할 테이블스페이스

 

 

C. 데이터파일 복구

 

1~4번 A와 동일

 

5. 다음 입력

run {

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so" format '%d_%U';

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin" "--labelnum=NUM"';

restore datafile "MyFile.dbf";

recover datafile "MyFile.dbf";

release channel c1;

}

 

* NUM 은 복구할 백업으로부터 번호 입력

* MyFile.dbf 는 복구할 오라클 데이터파일

 

 

 

 

 

 

 

- 고급 복구 명령 (128쪽)

 

RMAN 을 사용하여 아바마 오라클 플러그인의 기본 기능을 확장 가능.

(recovery catalog 를 사용한 데이터베이스 복구, 다른 네트웍 호스트(머신)로 복구)

 

 

A. recovery catalog 사용하여 데이터베이스 복구

 

1. 명령쉘 열기

 

2. avtar 플래그 파일이 올바른 위치에 있는지 확인 - 존재하지 않으면 119쪽 avtar 플래그 파일 생성 참조

 

3. 오라클 유저 ID 와 패스워드를 사용하여 오라클 RMAN 에 로그인

RMAN> 으로 명령프롬프트 변경됨

 

4. 다음 입력

Connect catalog USER/PASSWD@CATALOG;

run {

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so" format '%d_%U';

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=INSTALL-DIR/bin"';

restore database;

recover database;

release channel c1;

}

 

* USER 와 PASSWORD 는 recovery catalog (CATALOG) 의 인증정보

* INSTALL-DIR 은 플랫폼에 따른 설치 디렉토리

(예, 리눅스 /usr/local/avamar, 솔라리스 /opt/AVMRclnt, 윈도우즈 C:\Program Files\avs\bin)

 

 

B. 다른위치로 복구

 

RMAN 을 사용하여 하나의 네트웍 호스트(머신)의 데이터베이스 백업을 다른 머신으로 복구 가능.

 

다른 머신으로 오라클을 복구하기 위해서는,

- 소스와 타겟 머신 모두 동일한 구성의 비슷한 유형이어야 함

- 타겟 머신의 RMAN 버전이 백업을 생성한 RMAN 버전과 호환되어야 함

 

1. 명령쉘 열기

 

2. 타겟 머신에서, avtar 플래그 파일 생성

이 파일은 대상 머신이 아닌 원본 호스트 머신(백업이 원래 실행된)의 --id, --ap, --path 엔트리를 제외하고 119쪽 avtar 플래그 파일 생성에 설명된 파일과 동일함

 

3. 변경사항 저장

 

4. 오라클 유저 ID 와 패스워드를 사용하여 오라클 RMAN 에 로그인

RMAN> 으로 명령프롬프트 변경됨

 

5. 원본 데이터베이스와 동일한 SID를 가진 빈 데이터베이스를 타겟 머신에 생성

 

6. 데이터베이스 셧다운하고 데이터베이스에 해당하는 모든 콘트롤파일, 데이터파일, 로그, FRA내용 삭제

 

7. nomount 옵션으로 데이터베이스 재시작

 

8. 플래그 파일을 사용하여 데이터베이스 복구. 124쪽 데이터베이스 복구 참조.

 

 

 

 

 

 

- 백업 보관 관리 (129쪽)

 

RMAN 은 두가지 보관정책을 지원함 - recovery window 와 redundancy :

- recovery window 정책은 현재시간으로 시작하여 복구가능한 시간까지 기간을 지정. 예) 7일

- redundancy 정책은 데이터베이스에 대한 보관될 백업 갯수를 지정. 기본 보관정책은 1개 백업본 보관

 

백업이 누적되어 오래된 백업은 보관정책에 따라 소멸됨. RMAN 은 아바마 서버에 저장된 백업을 관리하기 위해 crosscheck 와 delete 작업을 사용.

- Crosscheck 는 백업이 아바마 서버에 존재함을 검증. crosscheck 작업은 아바마 관리 콘솔에 의해 생성된

백업에 대해서도 적용.

- Delete 는 백업이 소멸되는 것으로 표시되는 경우 아바마 서버에서 만료된 백업을 제거.

 

 

A. 보관 정책 구성

 

아바마 관리 콘솔에 의해 수행된 백업을 검증하기 위해 crosscheck 를 사용하려면,

아바마 보존정책과 RMAN 보존정책을 구성하여야 함

 

1. 아바마 보존정책 구성

a) 아바마 관리 콘솔에서, Tools > Manager Retention Policies 선택

Manage All Retention Policies 대화상자 뜸

b) New 클릭 - New Retention Policy 대화상자 뜸

c) New Retention Policy 대화상자에서 설정을 완료

* 이 신규 보존정책에 있는 Name 필드에 이름 입력

(보존정책 이름에 다음의 어떤 문자라도 사용금지 : ~!@$^%(){}[]|,`;#\/:*?<>'"&.

* 아바마 서버에서 향후 백업을 특정 일자, 주, 달, 또는 년수 이후 삭제하려면,

Retention Policy 옵션을 선택하고 일자, 주, 달 또는 년수를 입력.

* 아바마 서버에서 향후 백업을 달력의 특정일에 삭제하려면, End date 옵션을 선택하고 달력에 날짜 검색

* 아바마 서버에서 클라이언트가 활성화 되어있는 동안 향후 백업을 보존하려면, No end date 옵션 선택

d) OK 클릭 - 신규 보존정책이 Manage All Retention Policies 대화상자에 나타남

 

2. RMAN 보존정책 구성

a) 명령쉘 열기

b) 오라클 유저 ID 와 패스워드를 사용하여 오라클 RMAN 에 로그인

RMAN> 으로 명령프롬프트 변경됨

c) 오라클 데이터베이스에 접속

d) 적절한 명령을 사용하여 보존정책 생성. 다음 명령 예시 참조.

CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

RMAN 보존기간이 아바마 보존정책에서 지정된 기간보다 긴 시간이 되도록 반드시 확인

 

 

 

 

B. 백업 크로스체크

 

crosscheck 명령은 아바마 서버에 있는 백업을 검증. RMAN 은 해당 명령이 성공적으로 완료되면 백업이

가용하거나 만료되었음을 표시함. crosscheck 명령이 아바마 서버에 접속할 수 없을 때는 작업이 실패함.

아바마 관리 콘솔에서 데이터베이스를 백업할 때, 아바마 오라클 플러그인은 백업파일의 이름에 접두사를 추가함.

이런 유형의 백업을 크로스체크 하려면, 다음 절차의 5번째 단계의 내용과 같이 send 명령에 접두사 지침을 추가하도록 반드시 확인. RMAN 명령행에서 지정된 접두사는 아바마 관리 콘솔의 접두사와 반드시 동일해야 함.

 

1. 명령쉘 열기

 

2. avtar 플래그 파일이 올바른 위치에 있는지 확인 - 존재하지 않으면 119쪽 avtar 플래그 파일 생성 참조

 

3. 오라클 유저 ID 와 패스워드를 사용하여 오라클 RMAN 에 로그인

RMAN> 으로 명령프롬프트 변경됨

 

4. 오라클 데이터베이스에 접속

 

5. 다음 입력

allocate channel for maintenance type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so";

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=/usr/local/avamar/bin"';

crosscheck backup device type sbt;

 

 

 

 

C. 백업 삭제하기

 

성공적으로 백업을 삭제하려면, 아바마 사용자 계정(avtar 플래그 파일의 --id 값에 해당하는)이 반드시 삭제 권한을 가지고 있어야 함. 삭제 권한이 없는 계정으로 delete 명령을 실행하게 되면, avtar 프로그램은 에러가 아닌 경고를 나타냄. 아바마 사용자 계정에 삭제 권한을 추가하려면 avmgr 명령을 사용.

 

avmgr chgv --u=NAME --pv=delete

 

* NAME 은 사용자 계정의 이름

 

RMAN 백업 관리에만 delete 명령을 사용할 것. 아바마 관리 콘솔에서 원래 생성된 백업 관리를 위해 delete 명령을 사용하면 예측 불가능한 시스템 동작이 발생할 수 있음.

 

delete 명령은 아바마 서버에서 백업이 소멸된 것으로 표시된 경우 만료된 백업을 삭제.

 

1. 명령쉘 열기

 

2. avtar 플래그 파일이 올바른 위치에 있는지 확인 - 존재하지 않으면 119쪽 avtar 플래그 파일 생성 참조

 

3. 오라클 유저 ID 와 패스워드를 사용하여 오라클 RMAN 에 로그인

RMAN> 으로 명령프롬프트 변경됨

 

4. 오라클 데이터베이스에 접속

 

5. 다음 입력

run {

allocate channel c1 type sbt PARMS="SBT_LIBRARY=INSTALL-DIR/lib/libobk_avamar.so";

send '"--flagfile=/oracle/my-avtar-flags.txt" "--bindir=/usr/local/avamar/bin"';

delete expired backupset;

}

 

 

 

D. RMAN 과 아바마 관리 콘솔 백업 조정

 

동일한 데이터베이스를 RMAN 과 아바마 관리 콘솔 모두에서 백업할 때,

- 백업을 수행할 때, 반드시 send 명령에 접두사 지침을 추가해야 함.

접두사 지침과 관련된 더 많은 정보는 124쪽 “데이터베이스 복구” 참조

- 접두사 지침의 독립변수는 아바마 관리 콘솔이 백업 파일의 이름에 추가한 접두사와 반드시 일치해야 함.

- crosscheck 와 delete 작업 또한 접두사 필요.

 

 

 

E. RMAN catalog 동기화

 

RMAN catalog 가 아바마 서버와 동기화를 유지하려면, 다음 방법 중 하나를 사용,

- delete obsolete 명령 후 report obsolete 명령

RMAN 은 보존 정책에서 벗어나는 백업을 결정한 후 카타로그와 아바마 서버에서 삭제

- delete expired 명령 후 crosscheck 명령

RMAN 은 아바마 서버에서 가용한 백업을 결정한 후 그에 따라 카타로그를 업데이트

 

 

 

 

 

 

- 다중 채널 할당 (133쪽)

 

다중 채널을 지정하는 RMAN 백업 스크립트는 병렬로 avtar 프로그램의 다중 인스턴스를 진행. 최대 채널수는 6.

캐쉬 파일 충돌을 피하기 위해 각각의 채널에 대해 분리된 캐쉬 파일을 지정. cacheprefix 연산자는 캐시 파일의 이름을 결정함. 각각의 데이터베이스에 대한 분리된 캐쉬 파일셋을 사용.

 

너무 많은 채널을 할당하면 timeout 에러를 발생할 수 있는 프로세스 lock 이 일어날 수 있음. 이런 에러가 발생하는 경우, 더 적은 채널을 사용하여 작업을 재시도.

 

1. 다음 엔트리를 avtar 플래그 파일에 추가하여 파일 캐쉬 해제

--enable-filecache=false

 

2. 다음과 유사한 allocate channel 명령을 포함한 RMAN 스크립트 생성

allocate channel c0 type sbt

PARMS="SBT_LIBRARY=/usr/local/avamar/lib/libobk_avamar64.so" format '%d_%U';

allocate channel c1 type sbt

PARMS="SBT_LIBRARY=/usr/local/avamar/lib/libobk_avamar64.so" format '%d_%U';

allocate channel c2 type sbt

PARMS="SBT_LIBRARY=/usr/local/avamar/lib/libobk_avamar64.so" format '%d_%U'

 

3. 더 많은 채널을 할당이 필요하면 allocate channel 명령 반복

 

4. 각각의 채널에 대한 RMAN 스크립트에 send 명령 추가. 다음 예시는 2번에서 지정된 채널 send 명령에 해당

send channel='c0' '"--flagfile=/oracle/my-avtar-flags.txt"

"--bindir=INSTALL-DIR/bin" "--cacheprefix=orcl-c0"';

send channel='c1' '"--flagfile=/oracle/my-avtar-flags.txt"

"--bindir=INSTALL-DIR/bin" "--cacheprefix=orcl-c1"';

send channel='c2' '"--flagfile=/oracle/my-avtar-flags.txt"

"--bindir=INSTALL-DIR/bin" "--cacheprefix=orcl-c2"';

 

* 스크립트는 각각의 채널에 대한 cacheprefix 지침을 지정함. send 명령이 다중 인스턴스로 나눠진 경우, 각각의 채널에 대해 cacheprefix 지침을 한 번만 지정.

 

5. 다중 채널을 할당하는 RMAN 스크립트를 실행하기 전에, 사용자 계정이 INSTALL-DIR/var 디렉토리에 파일을 생성하는 권한을 가지고 있는지 또는 캐쉬 파일이 존재하고 올바른 권한을 가지고 있는지 반드시 확인.

 

 

 

 

 

 

- 아바마 프로세스 중지 (134쪽)

 

아바마 오라클 플러그인 프로세스는 오라클 서버가 시작되거나 셧다운 되었을때, 자동으로 시작하고 중지됨.

수동으로 해당 프로세스를 중지하려면 UNIX kill 명령을 사용,

 

1. 오라클 서버에 로그인.

 

2. 다음을 입력하여 아바마 프로세스를 표시.

ps -ef | grep AVMR

(명령쉘이 활성화된 프로세스의 목록을 표시. 이들 중 일부가 아바마 오라클 플러그인 프로세스.)

 

3. 목록의 아바마 오라클 플러그인 프로세스로 이동하여 프로세스 ID 넘버 (PID) 를 기록.

 

4. 다음을 입력하여 프로세스 종료.

kill PID

(PID 는 2번에서 표시된 프로세스 ID)

 

5. 모든 아바마 프로세스들이 중지될 때 까지 4번 단계를 반복.

[출처] 아바마 오라클 복구 관련 내용 정리 (아바마 6.1 버전)|작성자 DD




http://blog.naver.com/PostView.nhn?blogId=dnd0771&logNo=220032845406&categoryNo=0&parentCategoryNo=6&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView#

[출처] http://blog.naver.com/PostView.nhn?blogId=dnd0771&logNo=220032845406&categoryNo=0&parentCategoryNo=6&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView

태그가 없습니다.

0개의 댓글이 있습니다.

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입