Oracle 12c PDB的数据备份恢复

今天测试了一下12c中的PDB还原恢复,里面还是有不少的差别。

我就简单模拟了一个破坏场景,是在一个未打开的PDB tcymob0从中删除了数据文件usres01.dbf,然后尝试备份恢复。

当然在这个操作前,我们使用RMAN来备份,使用命令backup database即可备份整个数据库。

手工破坏的语句如下:

$ rm /U01/app/oracle/oradata/test12cs/tcymob0/pdbseed/users01.dbf这个时候的还原工作就很清晰了,直接还原对应的表空间或者数据文件都可以。比如表空间是users,则需要指定PDB的名字。

RMAN> restore tablespace tcymob0:users;
RMAN> recovertablespace tcymob0:users;
Starting recover at 2017-06-03 22:58:31
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 2017-06-03 22:58:31

整个恢复工作做好之后,留下来的任务就是直接启库了,但是奇怪的是却报了下面的错误。

SQL> alter pluggable database tcymob0 open;
alter pluggable database tcymob0 open
*
ERROR at line 1:
ORA-65086: cannot open/close the pluggable database

Oracle对这个错误的解释如下:

oerr ora 65086
65086, 00000, "cannot open/close the pluggable database"
// *Cause:  The pluggable database has been unplugged.
// *Action: The pluggable database can only be dropped.
//

这下我还真想起来了,之前测试的时候,我使用RMAN模拟跨平台的PDB备份恢复,使用了unplug的方式,根据这个错误,对于这个问题也有了思路。

之前unplug的语句如下:

ALTER PLUGGABLE DATABASE tcymob0 UNPLUG INTO '/tmp/tcymob0.xml';

在这个基础上,我们可以使用plugging的方式重新挂载即可。

drop pluggable database tcymob0;
CREATE pluggable DATABASE tcymob0 USING '/tmp/tcymob0.xml' NOCOPY;
alter pluggable database tcymob0 open;   

而在这个时候,需要做的第一件事情,就是重新备份了。因为有了drop pluggable database的操作之后,容器的设置会发生变化,比如con_id,原来的备份就识别不了了。

RMAN> restore tablespace tcymob0:system;
Starting restore at 2017-06-03 23:29:49
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 137 found to restore

时间: 2024-10-15 19:44:38

Oracle 12c PDB的数据备份恢复的相关文章

oracle中导入导出数据备份数据库

原文:oracle中导入导出数据备份数据库                            数据库所在位置                         将数据导出到的文件名                    用户名  备份数据库 :exp csm/csm@127.0.0.1/orcl file=c:/baoan_1.1.0_20120816.dmp owner=(csm)                                              数据库所在位置   

中小企业数据备份恢复解决方案

一体化的备份解决方案 快速的备份和恢复性能 极高的可靠性 业界领先的备份恢复技术 合成全备份 直接访问恢复技术 智能恢复 小颗粒精确恢复 断点续传便捷的操作和管理 配置简单:备份软件.虚拟磁带库组合 1.中小企业面临的挑战 目前中小企业的信息化进程不断加快,各种IT应用,例如OA.ERP.生产系统.电子商务等不断普及.企业对于数据的依赖性日益增强,对于快速发展中的中小企业来说,数据是企业的重要资产,是http://www.aliyun.com/zixun/aggregation/32730.ht

H3C中小企业数据备份恢复解决方案

一体化的备份解决方案 快速的备份和恢复性能 极高的可靠性 业界领先的备份恢复技术 合成全备份 直接访问恢复技术 智能恢复 小颗粒精确恢复 断点续传便捷的操作和管理 配置简单:备份软件.虚拟磁带库组合 1.中小企业面临的挑战 目前中小企业的信息化进程不断加快,各种IT应用,例如OA.ERP.生产系统.电子商务等不断普及.企业对于数据的依赖性日益增强,对于快速发展中的中小企业来说,数据是企业的重要资产,是http://www.aliyun.com/zixun/aggregation/32730.ht

rman数据备份恢复学习笔记

昨天对rman数据备份恢复进行了总结, 分享一下. 常用的一些命令 list backup; list expired backup; report schema; report need backup days 3; report need backup; report obsolete; configure channel device type -压缩备份 CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO COMPRESSED

ORACLE 12C PDB 维护基础知识介绍_oracle

先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文档得知"试图创建一个通用用户,必需要用C##或者c##开头",这时候心里会有疑问,什么是common user?不管先建成功了再说 create C##user test identifed by test; 创建成功 SQL>show con_name; CON_NAME ----

Oracle 12c PDB浅析(二)

之前写了第一篇Oracle 12c PDB浅析 http://blog.itpub.net/23718752/viewspace-1823792/?          在上次的基础上继续来学习学习.     首先关于多租户的架构设计来说,就好比在一座已经几十年的老房子上动地基一般,这个变化着实够大,如此重大的变化Oracle不遗余力的想引入进来,肯定有更深层次的原因,当然关于这种设计在SQLServer中确实已经早有实现,在Oracle中却被大家相传为一种略带神奇的架构设计.不过话说回来,这个和

Oracle 12c PDB中碰到的DG问题

Oracle 12c中的PDB一下子让数据文件的格式复杂了一些,所以Data Guard就很有必要了,一旦出现问题,受损失的数据库是全局的.没想到在搭建Data Guard的时候还是碰到了一些小问题. 问题源自于一次PDB创建的时候,早些时候我在搭建好Data Guard后,主备库的日志应用都没有问题,过了几天,根据需求需要再添加一个PDB,导入一些数据供应用使用.按照要求创建了数据文件然后导入数据,但是查看备库的状态发现MRP异常停止了. DG Broker检测的状态如下: DGMGRL> s

Oracle RAC ASM disk header 备份恢复与重建示例说明

select * from dba_data_files; col name format a15 col failgroup format a20 col path format a30 oracle KFED 和 KFOD 工具说明 1. Check v$asm_disk.header_status toverify that the disk header is in a "MEMBER" state.检查asmdisk header 的状态. select path,heade

重视数据备份 恢复RAID5故障后丢失的数据

很多企业的网管都认为 RAID5很少出故障,即使出了故障,RAID5本身也有强大的容错能力,因此往往不太重视http://www.aliyun.com/zixun/aggregation/14344.html">数据备份.这就造成了RAID出现故障时就是大灾难.要知道天有不测风云,人有旦夕祸福,那么,在没有备份的情况下,如果RAID5出现故障,我们该如何恢复数据呢?本文将通过一个实例来讲解,如何恢复RAID5故障后丢失的数据. RAID5发生故障的原因可能有很多种,或者是RAID控制器故障