Oracle 12c PDB的数据备份恢复

简介: 今天测试了一下12c中的PDB还原恢复,里面还是有不少的差别。 我就简单模拟了一个破坏场景,是在一个未打开的PDB tcymob0从中删除了数据文件usres01.dbf,然后尝试备份恢复。

今天测试了一下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




目录
相关文章
|
7月前
|
Oracle 关系型数据库 数据库
百度搜索:蓝易云【docker部署并配置oracle12c的cdb和pdb教程!】
以上是使用Docker部署和配置Oracle 12c CDB和PDB的简要教程。请注意,这只是一个概述,并且可能需要根据你的实际情况进行适当的调整和配置。建议参考Oracle官方文档和相关资源,以获得更详细和全面的指导。
105 2
|
22天前
|
存储 NoSQL Oracle
Oracle 12c的内存列存储:数据的“闪电侠”
【4月更文挑战第19天】Oracle 12c的内存列存储以超高速度革新数据处理,结合列存储与内存技术,实现快速查询与压缩。它支持向量化查询和并行处理,提升效率,但需合理配置以平衡系统资源。作为数据管理员,应善用此功能,适应业务需求和技术发展。
|
22天前
|
存储 Oracle 关系型数据库
Oracle 12c的多重索引:数据的“多维导航仪”
【4月更文挑战第19天】Oracle 12c的多重索引提升数据查询效率,如同多维导航仪。在同一表上创建针对不同列的多个索引,加速检索过程。虽然过多索引会增加存储和维护成本,但合理选择和使用索引策略,结合位图、函数索引等高级特性,能优化查询,应对复杂场景。数据管理员应善用这些工具,根据需求进行索引管理,支持企业数据分析。
|
22天前
|
存储 Oracle 数据管理
Oracle 12c的自动数据优化(ADO)与热图:数据管理的“瘦身”与“透视”艺术
【4月更文挑战第19天】Oracle 12c的ADO和热图技术革新数据管理。ADO智能清理无用数据,优化存储,提升查询速度,实现数据"瘦身";热图则以直观的视觉表示展示数据分布和状态,助力识别性能瓶颈,犹如数据的"透视"工具。这两项技术结合,强化数据管理,为企业业务发展保驾护航。
|
22天前
|
Oracle 安全 数据管理
Oracle 12c多租户架构:数据管理的“摩天大楼”
【4月更文挑战第19天】Oracle 12c的多租户架构允许多个独立数据库环境在同一实例中共享资源,提高效率,降低成本。该架构保证了数据隔离和安全性,同时提供灵活性和可扩展性,简化管理任务。通过理解其原理和管理方法,我们可以充分利用这一架构,为企业数据管理和业务发展提供强大支持。
|
2月前
|
Oracle 关系型数据库 数据库
|
8月前
|
Oracle 关系型数据库
Oracle 11g和12c的主要区别
Oracle 11g和12c的主要区别
|
9月前
|
SQL Oracle 关系型数据库
Oracle 19c 启动和关闭实例保存PDB状态
十年以上 MySQL Oracle DBA从业者,MySQL 5.7 OCP, 微信号: jinjushuke
209 0
|
Oracle 关系型数据库 5G
Oracle 12C rman备份占用大量临时表空间
Oracle 12C rman备份占用大量临时表空间
398 0
|
12月前
|
Oracle 关系型数据库
oracle 12c新功能 recover table恢复单个表
不支持sys用户和system表空间的表
100 0

推荐镜像

更多