***********************************
날짜 : 2008년 4월 17일 목요일
제목 : RMAN과 Flash Recovery Area
***********************************
※ 작업환경 : Oracle 11g
※ Oracle 10g 서브노트
개요
1. 백업 종류 및 주의사항
2. RMAN 전체백업
6. parallelism 옵션을 1보다 크게 설정
7. 백업 명령 수행
8. switch database to copy
9. Database Open
※ RMAN 백업 셋트 파일에 대한 압축
백업 파일의 사이즈가 큰 경우 압축 기능을 사용할 수 있다
※ 백업되지 않은 데이터 파일의 복구
날짜 : 2008년 4월 17일 목요일
제목 : RMAN과 Flash Recovery Area
***********************************
※ 작업환경 : Oracle 11g
※ Oracle 10g 서브노트
개요
Oracle 10g RMAN을 사용하여 생성 되어지는 백업 파일들은
db_recovery_file_dest 파라미터에 설정된 위치에 저장
확인 : ORACLE_HOME/dbs 의 init.ora
-----------------------------------------------------------------------------------------------
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
-----------------------------------------------------------------------------------------------
※ db_recovery_file_dest 사이즈 조정
SQL> alter system set db_recovery_file_dest_size=2G scope=both;
※ db_flashback_retention_target : 백업 파일 저장 기간
SQL> alter system set db_flashback_retention_target=1440;
default = 1440 (1일)
설정된 시간이 넘어가면 해당 파일은 자동으로 삭제 된다
db_recovery_file_dest 파라미터에 설정된 위치에 저장
확인 : ORACLE_HOME/dbs 의 init.ora
-----------------------------------------------------------------------------------------------
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
-----------------------------------------------------------------------------------------------
※ db_recovery_file_dest 사이즈 조정
SQL> alter system set db_recovery_file_dest_size=2G scope=both;
※ db_flashback_retention_target : 백업 파일 저장 기간
SQL> alter system set db_flashback_retention_target=1440;
default = 1440 (1일)
설정된 시간이 넘어가면 해당 파일은 자동으로 삭제 된다
1. 백업 종류 및 주의사항
- 데이터베이스 백업
- 테이블 스페이스 백업
- 데이터 파일 백업
- 아카이브 로그 파일 백업
※ RMAN 의 복구기능을 사용하기 위해선 "아카이브 모드" 이어야 한다
SQL> connect /as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
// 노 아카이브 모드 = SQL> alter database noarchivelog;
SQL> alter database open;
- 테이블 스페이스 백업
- 데이터 파일 백업
- 아카이브 로그 파일 백업
※ RMAN 의 복구기능을 사용하기 위해선 "아카이브 모드" 이어야 한다
SQL> connect /as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
// 노 아카이브 모드 = SQL> alter database noarchivelog;
SQL> alter database open;
2. RMAN 전체백업
C:\> RMAN target hr/hr password
복구 관리자: Release 11.1.0.6.0 - Production on 목 4월 17 12:10:45 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
대상 데이터베이스에 접속합니다: ORCL (DBID=1179184541)
RMAN> backup as copy database;
복구 관리자: Release 11.1.0.6.0 - Production on 목 4월 17 12:10:45 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
대상 데이터베이스에 접속합니다: ORCL (DBID=1179184541)
RMAN> backup as copy database;
3. Oracle Base\flash_recovery_area\ORCL 에서 백업된 데이터 확인
폴더 : ARCHIVELOG/BACKUPSET/CONTROLFILE/DATAFILE/FLASHBACK /ONLINELOG
※ 각각 따로 백업하기
C:\> RMAN target hr/hrpassword
1. 테이블스페이스 백업 : test 테이블스페이스만 백업
RMAN> backup as copy tablespace test;
2. 데이터파일 백업
RMAN> backup as copy datafile 1;
3. 아카이브 로그 파일 백업 (database에 archivelog)
RMAN> backup as copy database plus archivelog;
1. 테이블스페이스 백업 : test 테이블스페이스만 백업
RMAN> backup as copy tablespace test;
2. 데이터파일 백업
RMAN> backup as copy datafile 1;
3. 아카이브 로그 파일 백업 (database에 archivelog)
RMAN> backup as copy database plus archivelog;
4. 복구
Oracle 10g 이전
- 많은 수행 시간 요구
Oracle 10g
- 이전에 생성해둔 백업 카피를 바로 사용하여 데이터베이스를 복구 : 시간단축
복구 방법
1. 백업카피 생성시 기존의 사용하던 위치가 아닌 새로운 위치로 백업 수행
2. switch database copy to 를 이용해 Oracle ControlFile에 변경정보 등록
3. 복구
※ 기존 파일은 switch database copy to 를 통해 ControlFile이 갱신되면 새롭게 등록된
데이터 파일들에 대한 백업카피로 존재
이 정보는 자동으로 RMAN Repository에 기록/보관 됨
- 많은 수행 시간 요구
Oracle 10g
- 이전에 생성해둔 백업 카피를 바로 사용하여 데이터베이스를 복구 : 시간단축
복구 방법
1. 백업카피 생성시 기존의 사용하던 위치가 아닌 새로운 위치로 백업 수행
2. switch database copy to 를 이용해 Oracle ControlFile에 변경정보 등록
3. 복구
※ 기존 파일은 switch database copy to 를 통해 ControlFile이 갱신되면 새롭게 등록된
데이터 파일들에 대한 백업카피로 존재
이 정보는 자동으로 RMAN Repository에 기록/보관 됨
※ ↓↓↓↓↓↓ 복구 수행 과정 ↓↓↓↓↓↓
5. switch database copy to / 저장 위치 변경
RMAN> configure channel device type disk format 'C:\11g\backup\bk_%t_%s';
------------------------------------------------------------------------------------------------------------------------
복구 카탈로그 대신 대상 데이터베이스 제어 파일을 사용하고 있습니다.
새 RMAN 구성 매개변수:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'c:\11g\backup\bk_%t_%s';
새 RMAN 구성 매개변수가 성공적으로 저장됨
------------------------------------------------------------------------------------------------------------------------
복구 카탈로그 대신 대상 데이터베이스 제어 파일을 사용하고 있습니다.
새 RMAN 구성 매개변수:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'c:\11g\backup\bk_%t_%s';
새 RMAN 구성 매개변수가 성공적으로 저장됨
6. parallelism 옵션을 1보다 크게 설정
RMAN> configure device type disk parallelism 3;
------------------------------------------------------------------------------------------------------------------------
새 RMAN 구성 매개변수:
CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
새 RMAN 구성 매개변수가 성공적으로 저장됨
------------------------------------------------------------------------------------------------------------------------
새 RMAN 구성 매개변수:
CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
새 RMAN 구성 매개변수가 성공적으로 저장됨
7. 백업 명령 수행
RMAN> backup as copy database;
backup을(를) 08/04/17에서 시작 중
채널을 할당했습니다: ORA_DISK_1
ORA_DISK_1 채널: SID=170 장치 유형=DISK
채널을 할당했습니다: ORA_DISK_2
ORA_DISK_2 채널: SID=105 장치 유형=DISK
채널을 할당했습니다: ORA_DISK_3
ORA_DISK_3 채널: SID=107 장치 유형=DISK
ORA_DISK_1 채널: 데이터 파일 복사 시작 중
.
.
.
backup을(를) 08/04/17에서 완료
backup을(를) 08/04/17에서 시작 중
채널을 할당했습니다: ORA_DISK_1
ORA_DISK_1 채널: SID=170 장치 유형=DISK
채널을 할당했습니다: ORA_DISK_2
ORA_DISK_2 채널: SID=105 장치 유형=DISK
채널을 할당했습니다: ORA_DISK_3
ORA_DISK_3 채널: SID=107 장치 유형=DISK
ORA_DISK_1 채널: 데이터 파일 복사 시작 중
.
.
.
backup을(를) 08/04/17에서 완료
8. switch database to copy
※ 주의 : 데이터베이스가 마운트 상태이어야 한다
마운트 상태가 아닐때 Error
RMAN-00571: ===============================================
RMAN-00569: ============ ERROR MESSAGE STACK FOLLOWS ===========
RMAN-00571: ===============================================
RMAN-03002: switch to copy 명령 실패(04/17/2008 14:26:57에서)
RMAN-06572: 데이터베이스가 열리고 데이터 파일 1이(가) 오프라인이 아님
RMAN> shutdown immediate
RMAN> startup mount
RMAN> switch database to copy;
-------------------------------------------------------------------------------------------------------------------------------
복구 카탈로그 대신 대상 데이터베이스 제어 파일을 사용하고 있습니다.
데이터 파일 1이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279375_26"로 전환됨
데이터 파일 2이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279376_27"로 전환됨
데이터 파일 3이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279524_28"로 전환됨
데이터 파일 4이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279374_25"로 전환됨
데이터 파일 5이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279567_31"로 전환됨
데이터 파일 6이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279527_29"로 전환됨
데이터 파일 7이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279565_30"로 전환됨
마운트 상태가 아닐때 Error
RMAN-00571: ===============================================
RMAN-00569: ============ ERROR MESSAGE STACK FOLLOWS ===========
RMAN-00571: ===============================================
RMAN-03002: switch to copy 명령 실패(04/17/2008 14:26:57에서)
RMAN-06572: 데이터베이스가 열리고 데이터 파일 1이(가) 오프라인이 아님
RMAN> shutdown immediate
RMAN> startup mount
RMAN> switch database to copy;
-------------------------------------------------------------------------------------------------------------------------------
복구 카탈로그 대신 대상 데이터베이스 제어 파일을 사용하고 있습니다.
데이터 파일 1이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279375_26"로 전환됨
데이터 파일 2이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279376_27"로 전환됨
데이터 파일 3이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279524_28"로 전환됨
데이터 파일 4이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279374_25"로 전환됨
데이터 파일 5이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279567_31"로 전환됨
데이터 파일 6이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279527_29"로 전환됨
데이터 파일 7이(가) 데이터 파일 복사본 "C:\11G\BACKUP\BK_652279565_30"로 전환됨
9. Database Open
RMAN> alter database open;
---------------------------------------------------------------------------------------------------------------------------------
DBGANY: Mismatched message length! [14:35:39.000] (krmiduem)
DBGANY: Mismatched message length! [14:35:39.000] (krmiduem)
RMAN-00571: ===============================================
RMAN-00569: ========== ERROR MESSAGE STACK FOLLOWS =============
RMAN-00571: ===============================================
RMAN-00600: internal error, arguments [3045] [] [] [] []
RMAN-00571: ===============================================
RMAN-00569: ========== ERROR MESSAGE STACK FOLLOWS =============
RMAN-00571: ===============================================
RMAN-03002: alter db 명령 실패(04/17/2008 14:35:38에서)
ORA-01113: 1 파일이 매체 복구되어야 합니다
ORA-01110: 1 데이터 파일: 'C:\11G\BACKUP\BK_652279375_26'
RMAN> recover database;
---------------------------------------------------------------------------------------------------------------------------------
recover을(를) 08/04/17에서 시작 중
복구 카탈로그 대신 대상 데이터베이스 제어 파일을 사용하고 있습니다.
채널을 할당했습니다: ORA_DISK_1
ORA_DISK_1 채널: SID=150 장치 유형=DISK
채널을 할당했습니다: ORA_DISK_2
ORA_DISK_2 채널: SID=155 장치 유형=DISK
채널을 할당했습니다: ORA_DISK_3
ORA_DISK_3 채널: SID=152 장치 유형=DISK
미디어 복구를 시작합니다
매체 복구 완료, 경과 시간: 00:00:09
recover을(를) 08/04/17에서 완료
RMAN> alter database open;
------------------------------------------
데이터베이스가 열려졌습니다
---------------------------------------------------------------------------------------------------------------------------------
DBGANY: Mismatched message length! [14:35:39.000] (krmiduem)
DBGANY: Mismatched message length! [14:35:39.000] (krmiduem)
RMAN-00571: ===============================================
RMAN-00569: ========== ERROR MESSAGE STACK FOLLOWS =============
RMAN-00571: ===============================================
RMAN-00600: internal error, arguments [3045] [] [] [] []
RMAN-00571: ===============================================
RMAN-00569: ========== ERROR MESSAGE STACK FOLLOWS =============
RMAN-00571: ===============================================
RMAN-03002: alter db 명령 실패(04/17/2008 14:35:38에서)
ORA-01113: 1 파일이 매체 복구되어야 합니다
ORA-01110: 1 데이터 파일: 'C:\11G\BACKUP\BK_652279375_26'
RMAN> recover database;
---------------------------------------------------------------------------------------------------------------------------------
recover을(를) 08/04/17에서 시작 중
복구 카탈로그 대신 대상 데이터베이스 제어 파일을 사용하고 있습니다.
채널을 할당했습니다: ORA_DISK_1
ORA_DISK_1 채널: SID=150 장치 유형=DISK
채널을 할당했습니다: ORA_DISK_2
ORA_DISK_2 채널: SID=155 장치 유형=DISK
채널을 할당했습니다: ORA_DISK_3
ORA_DISK_3 채널: SID=152 장치 유형=DISK
미디어 복구를 시작합니다
매체 복구 완료, 경과 시간: 00:00:09
recover을(를) 08/04/17에서 완료
RMAN> alter database open;
------------------------------------------
데이터베이스가 열려졌습니다
※ RMAN 백업 셋트 파일에 대한 압축
백업 파일의 사이즈가 큰 경우 압축 기능을 사용할 수 있다
1. 압축 백업
RMAN> backup as comporessed backupset database;
RMAM의 압축 기능이 비활성화 되어 있을 경우
RMAN> configure device type disk backup type to compressed backupset;
설정 후 1번 실행
RMAN> backup as comporessed backupset database;
RMAM의 압축 기능이 비활성화 되어 있을 경우
RMAN> configure device type disk backup type to compressed backupset;
설정 후 1번 실행
※ 백업되지 않은 데이터 파일의 복구
1. Oracle_Base/oradata/ORCL 폴더 내의 파일 중 한개 삭제 (ex : ex01.dbf 삭제)
2. 복구
RMAN> restore datafile 'C:\11g\oradata\ORCL\ex01.dbf';
2. 복구
RMAN> restore datafile 'C:\11g\oradata\ORCL\ex01.dbf';
이올린에 북마크하기