ORACLE 12C RMAN備份與恢復


oracle12C下一個CDB庫(test),兩個PDB庫(test1,test2)

一、備份

rman target sys/oracle@test

1.顯示數據庫結構

RMAN>report schema;

 

Report of database schema for database with db_unique_name TEST

List of Permanent Datafiles
===========================
File          Size(MB)     Tablespace           RB segs                               Datafile Name
---- -------- ---------------------------------------------------------------------------------------------------------- ------- ------------------------
 1            930     SYSTEM      YES      +DATA/TEST/DATAFILE/system.261.1013957131
 2      3140    SYSAUX       NO       +DATA/TEST/DATAFILE/sysaux.262.1013957135
 3      965      UNDOTBS1      YES      +DATA/TEST/DATAFILE/undotbs1.263.1013957135
 4      200      UNDOTBS2      YES      +DATA/TEST/DATAFILE/undotbs2.264.1013957143
 5        5        USERS         NO       +DATA/TEST/DATAFILE/users.265.1013957145
 6      32000       USERS         NO       +DATA/TEST/DATAFILE/users02.dbf

List of Temporary Files
=======================
File      Size(MB)  Tablespace    Maxsize(MB)   Tempfile Name
---- -------- ------------------------------------------------------------------------------------------------------------------ ----------- --------------------
 1       78      TEMP      32767     +DATA/TEST/TEMPFILE/temp.257.1013957137

2.備份全庫
RMAN> backup database;

3.備份CDB庫
RMAN> backup database root;

4.備份PDB庫(可多個)
RMAN> backup pluggable database test1,test2; (如果要備份根容器需要加"")

5.備份表空間
rman target sys/oracle@test1
RMAN> backup tablespace TEST;

 

二、恢復

1.恢復全庫
rman target sys/oracle@test
run
{
allocate channel c1 type disk;
startup mount;
restore database;
recover database;
alter database open;
release channel c1;
}

2.恢復CDB庫
connect target sys/oracle@test
run
{
allocate channel c1 type disk;
startup mount;
restore database root;
recover database root;
alter database open;
release channel c1;
}

3.恢復PDB庫(可多個同時恢復)
connect target sys/oracle@test
run
{
allocate channel c1 type disk;
alter pluggable database test1,test2 close;
restore pluggable database test1,test2;
recover pluggable database test1,test2;
alter pluggable database test1,test2 open;
release channel c1;
}


4.單獨恢復CDB庫數據文件
connect target sys/oracle@test
run{
allocate channel c1 type disk;
sql 'alter database datafile 11 offline';
restore datafile 11;
recover datafile 11;
sql 'alter database datafile 11 online';
release channel c1;
}

5.單獨恢復PDB庫數據文件
connect target sys/oracle@test2
run{
allocate channel c1 type disk;
sql 'alter database datafile 15 offline';
restore datafile 15;
recover datafile 15;
sql 'alter database datafile 15 online';
release channel c1;
}

 

6. 恢復控制文件:

            關閉數據庫:

            sqlplus / as sysdba

            shutdown immediate

            rman登錄:

            rman target /

            startup nomount

            restore controlefile from autobackup;

            alter database mount;

            recover database;

            alter database open resetlogs;

            alter pluggable database all open;

 

  7. 恢復system或undo表空間

            關閉數據庫:

            sqlplus / as sysdba

            shutdown immediate

            rman登錄:

            rman target /

            startup mount

            restore tablespace system;

            recover tablespace system;

            alter database open;

            alter pluggable database all open;

 

   8. 恢復SYSAUX或其他根表空間

            不需要關閉數據庫

            rman登錄:

            alter tablespace sysaux offline immediate;

            restore tablespace sysaux;

            recover tablespace sysaux;

            alter tablespace sysaux online;

 

   9. 恢復PDB數據文件

            (1)丟失未開啟pdb的system表空間(CDB和其他PDB在還原和恢復期間仍可打開)

                  rman登錄:

                  restore tablespace test1:system;

                  recover tablespace test1:system;

                  alter pluggable database test1 open;

            注:若pdb已開啟,此時丟失system表空間,則要關閉整個CDB。

            (2)丟失PDB非system數據文件

                  sqlplus / as sysdba

                  conn sys/oracle@test1;

                  alter tablespace test offline;

                  登錄rman:

                  restore tablespace test1:test;

                  recover tablespace test1:test;

                  sqlplus / as sysdba

                  conn sys/oracle@test1;

                  alter tablespace test offline;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM