【BAK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(三)CDB與PDB的備份方式

Attack_on_Jager發表於2021-09-30

說明

相關文章連線:

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部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2794518/,如需轉載,請註明出處,否則將追究法律責任。

相關文章