ITPub博客

首页 > 数据库 > Oracle > 【RECO_ORACLE】Oracle 12c之CDB与PDB的备份与恢复(四)PDB的几种恢复方式

【RECO_ORACLE】Oracle 12c之CDB与PDB的备份与恢复(四)PDB的几种恢复方式

原创 Oracle 作者:Attack_on_Jager 时间:2021-09-30 10:38:20 0 删除 编辑

说明

相关文章连接:

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/


PDB的几种恢复方式

1. PDB库TESTPDB1的system表空间的数据文件丢失

如果PDB的system丢失,会导致该PDB崩溃,但是CDB和其他PDB不会被影响到。这种情况下,必须先从CDB开始恢复!方法如下:

$ rman target sys/sys@test_cdb

RMAN> RESTORE DATAFILE 7;

RMAN> RECOVER DATAFILE 7;

RMAN> ALTER PLUGGABLE DATABASE TESTPDB1 OPEN;


注:

目前发型的版本,某个PDB的system数据文件丢失有概率造成CDB和其他PDB崩溃,此时需要将CDB启动到mount 状态,才能恢复PDB的system数据文件。这个问题Oracle官方表明会在以后的版本修复这个问题。


2. PDB的非系统数据文件丢失

假如USER表空间的9号数据文件丢失。根据实际情况, 丢失的数据文件可能已经是 offline 状态,如果没有,必须先 offline:

$ rman target sys/sys@test_pdb  

RMAN> ALTER DATABASE DATAFILE 10 OFFLINE;    --先脱机

RMAN> RESTORE DATAFILE 9;

RMAN> RECOVER DATAFILE 9;

RMAN> ALTER DATABASE DATAFILE 10 ONLINE;    --恢复后再联机

 

3. PDB的某个表空间的所有数据文件都丢失

某个表空间丢失(比如USERS表空间),但是该PDB还处于打开状态。

$ rman target sys/oracle@ test_pdb

RMAN> ALTER TABLESPACE USERS OFFLINE;    --先脱机

RMAN> RESTORE TABLESPACE USERS;

RMAN> RECOVER TABLESPACE USERS;

RMAN> ALTER TABLESPACE USERS ONLINE;    --恢复后再联机

 

4: 可插拔数据库的所有数据文件都丢失

$ rman target sys/sys@ test_cdb

RMAN> RESTORE PLUGGABLE DATABASE TESTPDB1;

RMAN> RECOVER PLUGGABLE DATABASE TESTPDB1;

RMAN> ALTER PLUGGABLE DATABASE TESTPDB1 open;

 

注:

1. 可能会混淆的一个地方是:如果某个PDB如果丢失了,并不等同于删除了该PDB。因为PDB的丢失可能是指因为一些意外情况下的数据库以及文件的误删除或者损坏, 但是它的metadata数据还是存在的。在这种metadata还存在的情况下,从备份中恢复出来是可行的。

但如果是删除了可插拔数据库,这样同样会把metadata从repository中删除。这种情况下做restore就会遇到错误:

RMAN-06813: could not translate pluggable database TESTPDB1


2. 最重要的一点是:如果我们只对单个PDB备份进行备份,是不能够恢复不同服务器中的单个可插拔数据库或执行时间点恢复,必须要同时拥有PDB和对应的CDB的备份!

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992972/viewspace-2794540/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在某银行任职DBA,拥有多年数据库运维经验,擅长Oracle,MySQL。尤其擅长Oracle的SQL优化,数据库性能调优,数据库备份、恢复与迁移。拥有的认证:OCM 12c,OCM 11g,MySQL OCP,RHCE,阿里云ACP,巨杉SCDP,软考系统集成工程师认证,Oracle Iaas OCA,OBCA,TDSQL认证,TBase认证

注册时间:2021-01-11

  • 博文量
    142
  • 访问量
    482803