联系:手机/微信(+86 17813235971) QQ(107644445)
标题:某个pdb可以在root pdb open状态下进行恢复
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
最近在weibo上有流言:pdb的system还原的时候必须整个cdb处于mount状态下进行,我怎么也想不通ORACLE会这么蠢,如果这样,那如果一个pdb异常了,其他pdb都不能工作对业务影响太大了,经过测试证明事实是:某个pdb可以直接在root pdb open的状态下进行,不影响其他pdb
pdb的system文件备份
E:\dul10>rman target sys/xifenfei@pdb 恢复管理器: Release 12.1.0.1.0 - Production on 星期一 8月 12 22:38:58 2013 Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved. 已连接到目标数据库: CDB (DBID=1937199326) RMAN> backup tablespace system format 'd:/pdb_sys_%U.rman'; 启动 backup 于 12-8月 -13 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=367 设备类型=DISK 通道 ORA_DISK_1: 正在启动全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集内的数据文件 输入数据文件: 文件号=00007 名称=E:\APP\XIFENFEI\ORADATA\CDB\PDB\SYSTEM01.DBF 通道 ORA_DISK_1: 正在启动段 1 于 12-8月 -13 通道 ORA_DISK_1: 已完成段 1 于 12-8月 -13 段句柄=D:\PDB_SYS_01OH54LF_1_1.RMAN 标记=TAG20130812T223943 注释=NONE 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:15 完成 backup 于 12-8月 -13 启动 Control File and SPFILE Autobackup 于 12-8月 -13 段 handle=E:\APP\XIFENFEI\FAST_RECOVERY_AREA\CDB\AUTOBACKUP\2013_08_12\O1_MF_S_823300799_90KWY0OR_.BKP comment=NONE 完成 Control File and SPFILE Autobackup 于 12-8月 -13
使用系统命令强制删除pdb的system文件,使得open pdb之时提示文件不存在,然后使用rman进行还原恢复操作
还原恢复pdb system文件
E:\dul10>sqlplus / as sysdba SQL*Plus: Release 12.1.0.1.0 Production onXQ 星期一 8月 12 22:43:27 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. 连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Product With the Partitioning, OLAP, Advanced Analytics and Real Application Test SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB MOUNTED SQL> alter session set container=pdb; 会话已更改。 SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 7: 'E:\APP\XIFENFEI\ORADATA\CDB\PDB\SYSTEM01.DBF' SQL> exit 从 Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 断开 E:\dul10>rman target sys/xifenfei@pdb 恢复管理器: Release 12.1.0.1.0 - Production on 星期一 8月 12 22:44:39 2013 Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved. 已连接到目标数据库: CDB (DBID=1937199326, 未打开) RMAN> restore datafile 7; 启动 restore 于 12-8月 -13 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=369 设备类型=DISK 通道 ORA_DISK_1: 正在开始还原数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集还原的数据文件 通道 ORA_DISK_1: 将数据文件 00007 还原到 E:\APP\XIFENFEI\ORADATA\CDB\PDB\SYSTEM01.DBF 通道 ORA_DISK_1: 正在读取备份片段 D:\PDB_SYS_01OH54LF_1_1.RMAN 通道 ORA_DISK_1: 段句柄 = D:\PDB_SYS_01OH54LF_1_1.RMAN 标记 = TAG20130812T223943 通道 ORA_DISK_1: 已还原备份片段 1 通道 ORA_DISK_1: 还原完成, 用时: 00:00:35 完成 restore 于 12-8月 -13 RMAN> recover database; 启动 recover 于 12-8月 -13 使用通道 ORA_DISK_1 正在开始介质的恢复 介质恢复完成, 用时: 00:00:01 完成 recover 于 12-8月 -13 RMAN> alter database open; 已处理语句 RMAN> RMAN> exit 恢复管理器完成。 E:\dul10>slqplus / as sysdba 'slqplus' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 E:\dul10>sqlplus / as sysdba SQL*Plus: Release 12.1.0.1.0 Production on 星期一 8月 12 22:46:36 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. 连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB READ WRITE NO