1. 백업
1.1 CDB/PDB 모두 백업
rman target=/
BACKUP DATABASE PLUS ARCHIVELOG;
1.2 CDB 백업
rman target=/
BACKUP DATABASE ROOT;
BACKUP TABLESPACE pdb1:system, pdb1:sysaux, pdb1:users, pdb2:system;
1.3 PDB 백업
rman target=/
BACKUP PLUGGABLE DATABASE pdb1, pdb2;
# 데이터베이스
rman target=sys@pdb1
BACKUP DATABASE;
# 테이블스페이스
BACKUP TABLESPACE system, sysaux, users;
# 데이터파일
BACKUP DATAFILE 8, 9, 10;
2. 복구
2.1 전체(CDB/PDB) 복구
rman target=/ RUN { SHUTDOWN IMMEDIATE; # use abort if this fails STARTUP MOUNT; RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN; }
2.2 CDB 복구
rman target=/ RUN { SHUTDOWN IMMEDIATE; # use abort if this fails STARTUP MOUNT; RESTORE DATABASE ROOT; RECOVER DATABASE ROOT; # Consider recovering PDBs before opening. ALTER DATABASE OPEN; }
2.3 PDB 복구
rman target=/ RUN { ALTER PLUGGABLE DATABASE pdb1, pdb2 CLOSE; RESTORE PLUGGABLE DATABASE pdb1, pdb2; RECOVER PLUGGABLE DATABASE pdb1, pdb2; ALTER PLUGGABLE DATABASE pdb1, pdb2 OPEN; }
sqlplus sys@pdb1 as sysdba
CREATE USER admin_user IDENTIFIED BY admin_user; GRANT CREATE SESSION, PDB_DBA, SYSDBA TO admin_user; EXIT;
rman target=admin_user@pdb1 SHUTDOWN IMMEDIATE; RESTORE DATABASE; RECOVER DATABASE; STARTUP;
rman target=sys@pdb1 RUN { ALTER TABLESPACE users OFFLINE; RESTORE TABLESPACE users; RECOVER TABLESPACE users; ALTER TABLESPACE users ONLINE; }
rman target=sys@pdb1 RUN { ALTER DATABASE DATAFILE 10 OFFLINE; RESTORE DATAFILE 10; RECOVER DATAFILE 10; ALTER DATABASE DATAFILE 10 ONLINE; }
# Point in Time Recovery (CDB/PDB)
rman target=/ RUN { SHUTDOWN IMMEDIATE; # use abort if this fails STARTUP MOUNT; SET UNTIL TIME "TO_DATE('23-DEC-2013 12:00:00','DD-MON-YYYY HH24:MI:SS')"; RESTORE DATABASE; RECOVER DATABASE; # Should probably open read-only and check it out first. ALTER DATABASE OPEN RESETLOGS; }
# Point in Time Recovery (PDB)
rman target=/ RUN { ALTER PLUGGABLE DATABASE pdb1 CLOSE; SET UNTIL TIME "TO_DATE('23-DEC-2013 12:00:00','DD-MON-YYYY HH24:MI:SS')"; RESTORE PLUGGABLE DATABASE pdb1; RECOVER PLUGGABLE DATABASE pdb1; ALTER PLUGGABLE DATABASE pdb1 OPEN RESETLOGS; }
# Point in Time Recovery for table in CDB
SELECT DBMS_FLASHBACK.get_system_change_number FROM dual;
Auxiliary 위치로 DB를 복구후 해당 테이블 추출하여 t1_prev로 데이터 import
rman target=/
RECOVER TABLE 'TEST'.'T1' UNTIL SCN 1853267 AUXILIARY DESTINATION '/u01/aux' REMAP TABLE 'TEST'.'T1':'T1_PREV';
RECOVER TABLE 'TEST'.'T1' UNTIL SCN 1853267 AUXILIARY DESTINATION '/u01/aux' REMAP TABLE 'TEST'.'T1':'T1_PREV' REMAP TABLESPACE 'USERS':'EXAMPLES';
# 12.2 User Remap 포함
RECOVER TABLE 'TEST'.'T1' UNTIL SCN 1853267 AUXILIARY DESTINATION '/u01/aux' REMAP TABLE 'TEST'.'T1':'TEST2'.'T1_PREV' REMAP TABLESPACE 'USERS':'EXAMPLES';
복구하여 test_t1_prev.dmp 파일 생성
RECOVER TABLE 'TEST'.'T1' UNTIL SCN 1853267 AUXILIARY DESTINATION '/u01/aux' DATAPUMP DESTINATION '/u01/export' DUMP FILE 'test_t1_prev.dmp' NOTABLEIMPORT;
# Point in Time Recovery for table in PDB
rman target=/
RECOVER TABLE 'TEST'.'T1' OF PLUGGABLE DATABASE pdb1 UNTIL SCN 5695703 AUXILIARY DESTINATION '/u01/aux' REMAP TABLE 'TEST'.'T1':'T1_PREV';
RECOVER TABLE 'TEST'.'T1' OF PLUGGABLE DATABASE pdb1 UNTIL SCN 5695703 AUXILIARY DESTINATION '/u01/aux' DATAPUMP DESTINATION '/u01/export' DUMP FILE 'test_t1_prev.dmp' NOTABLEIMPORT;
'RDB > Oracle' 카테고리의 다른 글
Table fragmentation ? (0) | 2018.02.07 |
---|---|
oracle grid 사전준비 (0) | 2018.01.25 |
oracle asm package 구성 (0) | 2018.01.25 |
oracle rac 명령어 (0) | 2018.01.25 |
oracle clone 복구 (rman 없이) (0) | 2018.01.09 |