12C CDB模式下RMAN备份与恢复

12C 的RMAN和Oracle Enterprise Manager Cloud Control工具支持多租户环境下的备份和恢复,RMAN可以连接到目标数据库、Data Guard、辅助实例或辅助数据库,通过连接数据库的类型不同,所完成的数据库操作也不相同,在这里我们主要描述CDB和PDB备份恢复操作,在PDB环境中支持备份或恢复单个数据文件或表空间。

在从数据丢失恢复能力而言,单独备份根和所有的PDB相当于备份整个CDB。主要的区别是在RMAN命令的数目,您必须输入和恢复时间。恢复整个CDB$ROOT的时间要比所有的PDB的时间少。

1.1.  RMAN连接数据库

RMAN可通过操作系统认证和密码文件两种方式连接到一个目标数据库,使用RMAN备份恢复工具的用户需要具有SYSDBA或SYSBACKUP系统权限,如果用户需要连接到恢复目录,需要被授予RECOVERY_CATALOG_OWNER对象权限。

操作系统认证

我们在LINUX环境中使用操作系统认证方式连接到数据库,我们需要满足以下两个条件:

设定ORACLE_SID变量,例如数据库的SID为orcl,因此我们在.bash_profile文件或者命令行设置ORACLE_SID变量。

ORACLE_SID=orcl; export ORACLE_SID

执行rman命令用户需要具有SYSDBA或者SYSBACKUP权限,Linux环境下的OSDBA用户组为dba。

具有SYSDBA权限用户连接到RMAN

rman target '"/ as sysdba"'

具有SYSBACKUP权限用户连接到RMAN

rman target '"/ as sysbackup"'

具有SYSDBA权限用户隐式连接到RMAN

rman target /

密码文件认证

数据库使用密码文件认证管理用户,RMAN可以使用密码连接。使用本地或远程访问的密码文件。使用服务名方式连接数据库时,数据库必须使用一个密码文件,同样连接到数据库的用户需要具有SYSDBA或SYSBACKUP权限。

密码文件认证具有SYSDBA权限用户连接到RMAN

rman target '"zlhis@orcl assysdba"'

target database Password: password

connected to target database: orcl(DBID=39525561)

密码文件认证具有SYSBACKUP权限用户连接到RMAN

rman target '"zlhis@orcl as sysbackup"'

target database Password: password

connected to target database: orcl(DBID=39525561)

1.2.  只备份CDB
只备份CDB数据库需要具有SYSDBA或SYSBACKUP权限用户连接到CDB的root环境下,执行backupdatabase root命令即可完成对CDB的备份,方法如下:

RMAN> backupdatabase root;

启动 backup 于 17-3月 -16

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=50 设备类型=DISK

通道 ORA_DISK_1: 正在启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件

输入数据文件: 文件号=00001 名称=/u01/app/oracle/oradata/cdb/system01.dbf

输入数据文件: 文件号=00003 名称=/u01/app/oracle/oradata/cdb/sysaux01.dbf

输入数据文件: 文件号=00004 名称=/u01/app/oracle/oradata/cdb/undotbs01.dbf

输入数据文件: 文件号=00006 名称=/u01/app/oracle/oradata/cdb/users01.dbf

通道 ORA_DISK_1: 正在启动段 1 于 17-3月 -16

通道 ORA_DISK_1: 已完成段 1 于 17-3月 -16

段句柄=/u01/app/oracle/fast_recovery_area/CDB/backupset/2016_03_17/o1_mf_nnndf_TAG20160317T152301_cgnptp1s_.bkp标记=TAG20160317T152301 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:55

完成 backup 于 17-3月 -16

启动 Control File and SPFILE Autobackup 于 17-3月 -16段handle=/u01/app/oracle/fast_recovery_area/CDB/autobackup/2016_03_17/o1_mf_s_906737097_cgnpydod_.bkpcomment=NONE

完成 Control File and SPFILE Autobackup 于 17-3月 -16

执行backup database root不给数据文件保存位置时,备份文件默认存放在快速恢复区中。

1.3.  备份整个CDB及其下面的所有PDB
备份整个CDB数据库及其下面的所有PDB类似于非CDB数据库方法相同,使用具有SYSDBA或SYSBACKUP权限用户连接到CDB的root环境下面,然后执行backupdatabase命令即可完成整个CDB的备份,方法如下:

RMAN> backup database;

启动 backup 于 17-3月 -16

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=50 设备类型=DISK

通道 ORA_DISK_1: 正在启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件

输入数据文件: 文件号=00001 名称=/u01/app/oracle/oradata/cdb/system01.dbf

输入数据文件: 文件号=00003 名称=/u01/app/oracle/oradata/cdb/sysaux01.dbf

输入数据文件: 文件号=00004 名称=/u01/app/oracle/oradata/cdb/undotbs01.dbf

输入数据文件: 文件号=00006 名称=/u01/app/oracle/oradata/cdb/users01.dbf

输入数据文件: 文件号=00009 名称=/u01/app/oracle/oradata/cdb/pdb1/sysaux01.dbf

输入数据文件: 文件号=00008 名称=/u01/app/oracle/oradata/cdb/pdb1/system01.dbf

输入数据文件: 文件号=00010 名称=/u01/app/oracle/oradata/cdb/pdb1/pdb1_users01.dbf

通道 ORA_DISK_1: 正在启动段 1 于 17-3月 -16

通道 ORA_DISK_1: 已完成段 1 于 17-3月 -16

段句柄=/u01/app/oracle/fast_recovery_area/CDB/backupset/2016_03_17/o1_mf_nnndf_TAG20160317T152301_cgnptp1s_.bkp标记=TAG20160317T152301注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:55

完成 backup 于 17-3月 -16

启动 Control File andSPFILE Autobackup 于17-3月-16段handle=/u01/app/oracle/fast_recovery_area/CDB/autobackup/2016_03_17/o1_mf_s_906737097_cgnpydod_.bkpcomment=NONE

完成 Control File andSPFILE Autobackup 于17-3月-16

1.4.  备份单个和多个PDB
在CDB中允许备份一个或多少PDB数据库,备份一个PDB数据库可以通过以下两个方式备份:

在CDB根(root)使用BACKUP PLUGGABLE DATABASE命令备份一个或多个PDB数据库。

[oracle@localhost ~]$ rman target /

恢复管理器: Release 12.1.0.2.0 - Production on 星期二 3月 22 17:11:27 2016

Copyright (c) 1982, 2014, Oracle and/or itsaffiliates.  All rights reserved.

已连接到目标数据库: CDB (DBID=2023252752)

RMAN> backuppluggable database pdb1;

启动 backup 于 22-3月 -16

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=57 设备类型=DISK

通道 ORA_DISK_1: 正在启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件

输入数据文件: 文件号=00009 名称=/u01/app/oracle/oradata/cdb/pdb1/sysaux01.dbf

输入数据文件: 文件号=00008 名称=/u01/app/oracle/oradata/cdb/pdb1/system01.dbf

输入数据文件: 文件号=00010 名称=/u01/app/oracle/oradata/cdb/pdb1/pdb1_users01.dbf

通道 ORA_DISK_1: 正在启动段 1 于 22-3月 -16

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/45789c1b1c4b7dd162fcd961f3c06adc.html