Amazon RDS for Oracle DB 인스턴스의 RMAN 백업을 생성하려면 어떻게 해야 합니까?
RMAN(Recovery Manager, 복구 관리자)을 사용하여 Amazon Relational Database Service(Amazon RDS) for Oracle DB 인스턴스의 백업을 생성하고 싶습니다.
해결 방법
Amazon RDS for Oracle DB 인스턴스의 RMAN 백업을 생성하기 전에 다음 제한 사항에 유의하십시오.
- DB 인스턴스에서 RMAN 백업을 수행하면 해당 인스턴스에 할당된 스토리지 공간이 사용됩니다. 또한 Amazon Elastic File System(Amazon EFS) 통합을 사용하여 DB 인스턴스의 전체 스토리지 크기를 늘리지 않고도 확장 스토리지에 백업 파일을 저장할 수 있습니다.
- 백업을 위한 병렬 옵션, 백업 압축, 데이터베이스 검증, 블록 변경 사항 추적과 같은 기능은 Oracle Enterprise Edition 사용자에게만 제공됩니다. 자세한 내용은 Oracle 웹사이트의 Oracle Database Editions을 참조하십시오.
- RMAN 기능은 RDS for Oracle 읽기 복제본에서 지원되지 않지만 읽기 복제본에서 블록 변경 추적을 사용할 수 있습니다.
- RMAN 백업을 수행하기 전에 DB 인스턴스에 대한 자동 백업을 활성화해야 합니다. RMAN 백업은 온라인 작업이기 때문에 아카이브 로그를 활성화해야 합니다. 인스턴스에서 자동 백업을 활성화하면 DB 인스턴스도 아카이브 로그 모드로 설정됩니다.
DB 인스턴스의 RMAN 백업 수행
다음 방법 중 하나를 사용하여 DB 인스턴스의 RMAN 백업을 수행하십시오.
- 기본 DATA_PUMP_DIR 디렉터리를 사용합니다.
- RDS 인스턴스의 할당된 스토리지에 백업 파일을 저장할 새 디렉터리를 생성합니다.
- Amazon EFS 통합을 사용하면 DB 인스턴스에 할당된 스토리지를 사용하지 않아도 됩니다.
디렉터리에서 사용하는 스토리지의 양을 모니터링하려면 다음 쿼리를 실행합니다.
SELECT round(SUM(filesize)/1024/1024/1024, 3) SIZE_IN_GB FROM TABLE(rdsadmin.rds_file_util.listdir('<DIRECTORY_NAME>'));
DB 인스턴스의 전체 데이터베이스 백업 수행
전체 데이터베이스 백업을 수행하면 DB 인스턴스의 모든 데이터 파일이 백업됩니다. 여기에는 제어 파일과 저장 프로시저 파일이 포함됩니다.
기본 작업 파라미터를 사용하여 DATA_PUMP_DIR에서 태그 이름 Full_DB_BACKUP으로 전체 데이터베이스 백업을 수행하려면 다음 쿼리를 실행합니다.
BEGIN rdsadmin.rdsadmin_rman_util.backup_database_full( p_owner => 'SYS', p_directory_name => 'DATA_PUMP_DIR', p_tag => 'FULL_DB_BACKUP', p_rman_to_dbms_output => FALSE); END; /
DB 인스턴스의 증분 데이터베이스 백업 수행
증분 백업에는 p_level이라는 추가 파라미터가 사용됩니다. 전체 증분 백업을 수행하려면 p_level을 0으로 설정합니다. 증분 차등 백업을 수행하려면 p_level을 1로 설정합니다. 자세한 내용은 Oracle 웹사이트의 RMAN 증분 백업 정보를 참조하십시오.
전체 백업과 마찬가지로 RDS for Oracle DB 인스턴스에 대한 증분 백업에는 백업을 시작하기 전에 설정할 수 있는 공통 파라미터가 있습니다.
기본 작업 파라미터를 사용하여 DATA_PUMP_DIR 디렉터리에서 태그 이름 MY_INCREMENTAL_BACKUP으로 증분 백업을 수행하려면 다음 절차를 실행합니다.
BEGIN rdsadmin.rdsadmin_rman_util.backup_database_incremental( p_owner => 'SYS', p_directory_name => 'DATA_PUMP_DIR', p_level => 1, p_tag => 'MY_INCREMENTAL_BACKUP', p_rman_to_dbms_output => FALSE); END; /
DB 인스턴스의 아카이브 로그 백업 수행
Amazon RDS for Oracle rdsadmin_rman_util 패키지를 사용하여 SCN 범위, 시퀀스 번호 범위 및 날짜 범위에 따라 아카이브 로그를 백업합니다.
ARCHIVE_LOG_BACKUP 디렉터리에서 인스턴스에 대한 아카이브 로그를 태그 이름 LOG_BACKUP으로 백업하려면 다음 절차를 실행합니다. 아카이브 로그 백업에 대한 설정을 수정하려면 Oracle DB 인스턴스에 대한 일반적인 RMAN 작업 수행을 참조하십시오.
--creating a directory to store archive log backups EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'ARCHIVE_LOG_BACKUP'); --performing archive log backup BEGIN rdsadmin.rdsadmin_rman_util.backup_archivelog_all( p_owner => 'SYS', p_directory_name => 'ARCHIVE_LOG_BACKUP', p_tag => 'LOG_BACKUP', p_rman_to_dbms_output => FALSE); END; /
DB 인스턴스의 테이블스페이스 백업 수행
DB 인스턴스의 개별 테이블스페이스 백업을 수행하려면 테이블스페이스 백업에서 설명한 일반 파라미터를 사용합니다. 다음 예제 명령은 태그 이름이 MYTABLESPACE_BACKUP인 사용자 지정 디렉터리 TB_BACKUP에 있는 USERS1 테이블스페이스를 백업합니다.
BEGIN rdsadmin.rdsadmin_rman_util.backup_tablespace( p_owner => 'SYS', p_directory_name => 'TB_BACKUP', p_tablespace_name => 'USERS1', p_tag => 'MYTABLESPACE_BACKUP', p_rman_to_dbms_output => FALSE); END; /
참고: rdsadmin_rman_util 프로시저를 사용하여 제어 파일의 백업을 수행할 수도 있습니다. 자세한 내용은 제어 파일 백업을 참조하십시오.
RMAN 백업 작업 모니터링
RMAN 백업을 모니터링하려면 SQL 쿼리를 사용하거나 RMAN 작업에 대해 생성된 로그 파일을 확인하십시오.
다음 방법을 사용하여 RMAN 백업 작업의 로그 파일에 액세스할 수 있습니다.
-
실행하려는 RMAN 작업에 대해 p_rman_to_dbms_output을 TRUE로 설정합니다. rdsadmin_rman_util 패키지를 실행하기 전에 serveroutput을 활성화로 설정해야 합니다.
-
RMAN 작업 로그 파일을 나열하려면 Amazon RDS 콘솔에서 로그 및 이벤트 섹션을 검토하십시오.
-
RMAN 백업 작업이 완료되면 다음 SQL 쿼리를 실행하여 RMAN 작업 로그를 나열할 수도 있습니다. 그런 다음 rdsadmin.rds_file_util.read_text_file 프로시저를 사용하여 로그를 읽습니다. 자세한 내용은 파일 나열을 참조하십시오.
column filename format a70 set linesize 200 SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP')) where filename like '%rman%';
-
RMAN 백업이 저장되는 디렉터리 크기를 확인하려면 먼저 다음 쿼리를 실행합니다. 그런 다음 스토리지 사용량을 모니터링합니다.
SELECT round(SUM(filesize)/1024/1024, 3) SIZE_IN_MB FROM TABLE(rdsadmin.rds_file_util.listdir('<DIRECTORY_NAME>'));
-
RMAN 백업 작업을 완료하는 데 걸린 시간과 함께 백업 작업의 상태를 나열하려면 다음 쿼리를 실행합니다.
set linesize 500 pagesize 2000 col Hours format 9999.99 col STATUS format a10 select SESSION_KEY, INPUT_TYPE, STATUS, to_char(START_TIME,'mm-dd-yyyy hh24:mi:ss') as RMAN_Bkup_start_time, to_char(END_TIME,'mm-dd-yyyy hh24:mi:ss') as RMAN_Bkup_end_time, elapsed_seconds/3600 Hours from V$RMAN_BACKUP_JOB_DETAILS order by session_key;
관련 정보
관련 콘텐츠
- 질문됨 일 년 전lg...
- 질문됨 일 년 전lg...
- 질문됨 7달 전lg...
- AWS 공식업데이트됨 3년 전
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 6달 전
- AWS 공식업데이트됨 일 년 전