oracle12c rman备份与恢复命令详解

描述:由于CDB中的所有数据库都在相同的数据库实例上运行,因此可以使用服务名,通过rman连接到单个PDB。

一、rman备份

      1. rman连接到CDB:

              rman target /

      2. rman连接特定的pdb:

           rman target pdbuser/pdbpwd@pdbname;

      3. 确定连接的是CDB还是PDB:

            report schema;

      4. rman备份整个数据库和所有pdb:

            rman target /

            backup database;

      5. rman连接CDB并备份一个或多个pdb:

            rman target /

            backup pluggable database pdbname1,pdbname2,pdbname3;(如果要备份根容器需要加"")

      6. rman连接pdb并备份:

            rman target pdbuser1/pdbpwd1@pdbname;

            backup database;

      注:此时不需要指定pluggable关键字,因此这是从pdb角度执行备份。虽然控制文件和spfile在整个容器上共享,控制文件也        包含在完整备份中。

 

二、rman恢复

      1. 恢复控制文件:

            关闭数据库:

            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;

 

      2. 恢复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;

 

      3. 恢复SYSAUX或其他根表空间

            不需要关闭数据库

            rman登录:

            alter tablespace sysaux offline immediate;

            restore tablespace sysaux;

            recover tablespace sysaux;

            alter tablespace sysaux online;

 

      4. 恢复PDB数据文件

            (1)丢失未开启pdb的system表空间(CDB和其他PDB在还原和恢复期间仍可打开)

                  rman登录:

                  restore tablespace pdborcl:system;

                  recover tablespace pdborcl:system;

                  alter pluggable database pdborcl open;

            注:若pdb已开启,此时丢失system表空间,则要关闭整个CDB。

            (2)丢失PDB非system数据文件

                  sqlplus / as sysdba

                  conn pdbcloud/pdbcloud@pdbcloud;

                  alter tablespace cloud offline;

                  登录rman:

                  restore tablespace pdbcloud:cloud;

                  recover tablespace pdbcloud:cloud;

                  sqlplus / as sysdba

                  conn pdborcl/pdborcl@pdborcl;

                  alter tablespace cloud offline;

 

 

 

 

 

 

你可能感兴趣的:(Oracle12c)