说明
相关文章连接:
Oracle 12c之CDB与PDB的备份与恢复(一)什么是CDB与PDB?: http://blog.itpub.net/69992972/viewspace-2793217/
Oracle 12c之CDB与PDB的备份与恢复(二)备份恢复之前你需要知道的: http://blog.itpub.net/69992972/viewspace-2794508/
Oracle 12c之CDB与PDB的备份与恢复(三)CDB与PDB的备份方式: http://blog.itpub.net/69992972/viewspace-2794518/
Oracle 12c之CDB与PDB的备份与恢复(四)PDB的几种恢复方式: http://blog.itpub.net/69992972/viewspace-2794540/
CDB与PDB的备份方式虽然有些不同,但是大部分操作都大相径庭,下面就来介绍一下这两种的备份方式。
CDB与PDB的备份方式
1. CDB完全备份
CDB完全备份的备份内容:包括全部数据文件,这些数据库文件是CDB数据库文件、种子数据库文件、所有PDB的数据库文件以及归档文件:
$ rman target sys/sys@ test_cdb
RMAN> BACKUP DATABASE PLUS ARCHIVELOG ALL DELETE INPUT; --数据文件+归档备份,归档备份完自动删除
RMAN> LIST BACKUP OF DATABASE; --查看备份结果的具体信息
List of Backup Sets
===================
###省略一部分输出###
82 Full 3.78G DISK 00:02:16 19-SEP-21
BP Key: 56 Status: AVAILABLE Compressed: NO Tag: TAG20210919T178096
Piece Name: /oracle/app/oracle/fast_recovery_area/TESTCDB/backupset/2021_09_19/o1_mf_awwqn_TAG20210919T178096_6ccq1wga_.bkp
List of Datafiles in backup set 71
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/datafile/o1_ah_system_6016ac6f_.dbf
2 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/datafile/o1_ah_sysaux_6017vf9a_.dbf
3 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/datafile/o1_ah_undotbs1_6bs1vaf1_.dbf
4 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/C6B37673D8DA9DG1F720198BA5C6E16/datafile/o1_ah_system_6016in1s_.dbf
5 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/datafile/o1_ah_users_6016usd7_.dbf
6 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/C6B37673D8DA9DG1F720198BA5C6E16/datafile/o1_ah_sysaux_6016i7ow_.dbf
7 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/C6B58475E9FC5CE2G8192837AC6B8F87/datafile/o1_ah_system_6016wa5h_.dbf
8 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/C6B58475E9FC5CE2G8192837AC6B8F87/datafile/o1_ah_sysaux_60168uvl_.dbf
9 Full 6187927 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/datafile/o1_ah_users_6016phw7_.dbf
2. PDB完全备份
PDB库“TESTPDB1”完全备份方法:
$ rman target sys/sys@ test_cdb --要先登录到CDB
RMAN> BACKUP PLUGGABLE DATABASE TESTPDB1 TAG 'TESTPDB1'; --指定PDB名称;TAG可以不指定,因为“list backup”命令可以很清楚的看到备份的数据属于哪个PDB
RMAN> LIST BACKUP;
###省略一部分输出###
85 Full 610.91M DISK 00:00:27 19-SEP-21
BP Key: 58 Status: AVAILABLE Compressed: NO Tag: TESTPDB1
Piece Name: /oracle/app/oracle/fast_recovery_area/TESTCDB/backupset/2021_09_19/o1_mf_awwqn_TESTPDB1_6ccqap37_.bkp
List of Datafiles in backup set 74
Container ID: 2, PDB Name: TESTPDB1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
7 Full 2139742 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/C6B58475E9FC5CE2G8192837AC6B8F87/datafile/o1_ah_system_6016wa5h_.dbf
8 Full 2139742 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/C6B58475E9FC5CE2G8192837AC6B8F87/datafile/o1_ah_sysaux_60168uvl_.dbf
9 Full 2139742 19-SEP-21 /oracle/app/oracle/oradata/TESTCDB/datafile/o1_ah_users_6016phw7_.dbf
注:C6B58475E9FC5CE2G8192837AC6B8F87是PDB库TESTPDB1的GUID
3. 备份CDB或PDB的一部分表空间
1)只备份PDB的TESTPDB1的SYSTEM和SYSAUX表空间
$ rman target sys/sys@test_cdb --依旧先连到CDB
RMAN>BACKUP TABLESPACE TESTPDB1:SYSTEM, TESTPDB1:SYSAUX;
2)只备份CDB的SYSTEM 表空间和PDB的 SYSAUX 表空间
$ rman target sys/sys@test_cdb
RMAN>BACKUP TABLESPACE TESTPDB1:SYSAUX, SYSTEM;
注:从上面的例子不难发现, 如果没有指定PDB前缀,默认备份数据文件是CDB的
3)通过数据文件号来备份CDB的数据文件
因为CDB中的每一个数据文件的文件号是唯一的,所以可以直接用文件号来代替,如备份CDB$ROOT(CDB)的2号数据文件和TESTPDB1(PDB)的8号数据文件:
$ rman target sys/sys@test_cdb
RMAN> BACKUP DATAFILE 2,8;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992972/viewspace-2794518/ ,如需转载,请注明出处,否则将追究法律责任。