9.1.1 Overview of Backing Up and Recovering CDBs and PDBs
在使用多租户体系结构时,可以对整个多租户容器数据库(CDB)、根数据库或一个或多个可插数据库(PDBs)执行备份和恢复操作。
用于备份和恢复CDBs和PDBs的Oracle Recovery Manager (RMAN)命令与用于非CDBs的命令相同,只是语法略有变化。在非CDBs上执行的备份和恢复操作也可以在CDBs和PDBs上执行。这包括:
-
完整备份和增量备份
完全时间点恢复(PITR)
闪回数据库
报告操作(例如列出备份和交叉检查备份)
关于连接CDBs和PDBs
您可以通过以下一种方式连接到根目录:
-
使用操作系统身份验证进行连接
您使用SYSDBA特权作为SYS用户连接到根目录。
作为普通用户在本地连接
通过Oracle Net Services作为普通用户连接
要将目标连接到PDB,请使用以下技术之一:
-
连接一个解析到该PDB的数据库服务的网络服务名
作为普通用户或具有SYSDBA或SYSBACKUP特权的本地用户连接
Note:
当您直接连接到PDB时,某些操作不可用。有关这些操作的列表,请参阅Oracle数据库备份和恢复用户指南。
See Also:
Oracle数据库备份和恢复用户指南中的以下部分提供了关于备份和恢复PDBs的详细信息:
9.1.1.1 备份和完全恢复CDBs
要在整个多租户容器数据库(CDB)上执行备份和完整的恢复操作,需要将目标连接到根。
连接必须作为具有SYSDBA或SYSBACKUP特权的普通用户建立。
连接到根目录后,用于在非cdbs上执行操作的命令将用于在整个CDB上执行备份和完全恢复。
See Also:
Oracle数据库备份和恢复用户指南中的以下部分提供了关于执行备份和完整恢复CDBs的详细信息:
9.1.1.2 PDBs备份和完全恢复
您可以在单个可插数据库(PDB)或多个PDB上执行备份和完整的恢复操作。
备份的pdb分子
在重新定位PDB或将非cdb克隆为PDB时,您可能希望保留使用预插件备份。要使预插件备份在目标CDB中可用,必须将有关预插件备份的元数据导出到目标CDB的RMAN存储库。
使备份可用的技术取决于操作类型:
-
通过克隆一个非cdb来创建一个PDB
当以读/写模式打开非cdb时,必须执行DBMS_PDB。exdescripmanbackup过程作为克隆之前的最后一步。将非CDB作为PDB插入目标CDB时,操作将源非CDB的备份元数据复制到目标CDB的数据字典中。 -
将一个PDB迁移到另一个CDB
当您拔掉源PDB时,备份元数据将自动导出。因此,您不需要执行dbms_pdb . exdescripmanbackup。
插件前备份仅在插入源非CDB或PDB的目标CDB上可用。
Note:
-
Oracle Database Backup and Recovery User’s Guide to learn about preplugin backups
-
Oracle Database Backup and Recovery User’s Guide to learn how to create a preplugin backup of the whole database
-
Oracle Database PL/SQL Packages and Types Reference to learn more about the
DBMS_PDB.EXPORTRMANBACKUP
procedure
Syntax for Backup Commands
尽管Oracle Recovery Manager (RMAN)命令是相同的,但是用于在多个pdb上执行操作的语法包含一些修改。
要在单个PDB上执行备份和完整的恢复操作,可以将目标连接到以下容器之一:
-
PDB
在这种情况下,使用与备份或恢复非cdbs相同的命令。例如,要备份PDB,可以使用BACKUP DATABASE命令。
-
CDB$ROOT
在这种情况下,在RMAN命令中使用可插入数据库子句。以下命令在连接到根目录时备份PDB hrpdb:
BACKUP PLUGGABLE DATABASE hrpdb;
要使用单个命令在多个pdb上执行备份和完整的恢复操作,必须连接到根目录。使用可插入数据库子句,后面跟着要在其上执行操作的PDBs列表。下面的示例在连接到根目录时备份PDBs hrpdb、salespdb和invpdb:
BACKUP PLUGGABLE DATABASE hrpdb, salespdb, invpdb;
See Also:
Oracle数据库备份和恢复用户指南中的以下部分提供了关于备份和恢复PDBs的详细信息:
9.1.1.3多租户环境中的时间点恢复
您可以对整个多租户容器数据库(CDB)或特定的可插入数据库(PDB)执行时间点恢复。
时间点恢复的一个国家开发银行
要执行CDB的时间点恢复,您必须满足以下先决条件:
-
您必须作为具有SYSDBA或SYSBACKUP特权的普通用户登录到根容器。
国家开发银行必须安装。
在执行恢复操作时,使用与非cdbs相同的命令。
PDB的时间点恢复
PDB的不完全恢复技术取决于CDB的撤销模式。下表描述了这些差异。
Table 9-1 Differences in Point-in-Time Recovery Techniques
CDB Undo Mode | Auxiliary Instance Used? | Connect as TARGET to ... | Open Mode of PDBs Being Recovered | RMAN Commands to Use for Recovery |
---|---|---|---|---|
Shared |
Yes |
CDB root |
Closed (but CDB can be open) |
包括可插入的DATABASEclause以指定必须恢复的PDB。 RMAN使用一个辅助目标存储在恢复期间创建的临时文件。如果已配置了快速恢复区域,则将其用作辅助目的地。您可以使用RECOVERcommand中的辅助DESTINATIONclause显式地指定辅助目的地。 |
Local |
No |
PDB or CDB root |
Closed (but CDB can be open) |
当连接到PDB时,使用与非cdbs相同的命令。当连接到根目录时,包括可插入的DATABASEclause以指定必须恢复的PDB。 |
See Also:
关于时间点恢复的更多信息,请参阅Oracle数据库备份和恢复用户指南中的以下部分。
9.1.1.4 多租户环境中的闪回数据库
您可以对整个多租户容器数据库(CDB)或特定的可插拔数据库(PDB)执行闪回数据库操作。
RMAN使用一个辅助目标存储在时间点恢复期间创建的临时文件。默认情况下,快速恢复区域用作辅助目的地。可以使用recovery命令中的辅助目标子句显式指定辅助目标。
Flashback of CDBs
要为CDB执行闪回数据库,必须满足以下先决条件:
-
您必须作为具有SYSDBA或SYSBACKUPprivilege的普通用户连接到根目录。
-
The CDB must be mounted.
使用CDB恢复点、时间表达式或SCN及时指定闪回操作的目标点。CDB中的每个PDB都可以访问CDB恢复点。但是,恢复点并不反映任何PDBs的PDB子版本。
Flashback of PDBs
可以使用flashbackdatabasecommand为单个PDB执行闪回数据库操作。对特定PDB执行闪回数据库操作只修改与该PDB相关的数据文件。CDB中的其他PDBs不受影响,可以使用。请注意,PDB恢复点只能被定义它的PDB访问,并且只能用于该PDB上的操作。
Table 9-2 Differences in Flashback Techniques
CDB Undo Mode | Auxiliary Instance Used? | Connect as TARGET to ... | Open Mode of PDBs Being Recovered | Commands |
---|---|---|---|---|
Shared |
Yes |
CDB root |
Closed (but CDB must be open) |
使用flashbackpluggable DATABASEcommand。您只能闪回到一个干净的PDB恢复点。 RMAN使用一个辅助目标存储在闪回期间创建的临时文件。如果已配置了快速恢复区域,则将其用作辅助目的地。可以使用FLASHBACK可插拔DATABASEcommand中的辅助destination子句显式指定辅助目的地。 |
Local |
No |
CDB root or PDB |
Closed (but CDB must be open) |
使用flashbackpluggable DATABASEcommand。可以使用CDB恢复点、PDB恢复点、时间表达式或目标SCN及时指定闪回操作的目标点。 |
See Also:
有关CDBs和PDBs闪回的更多信息,请参阅Oracle数据库备份和恢复用户指南中的以下部分: