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

对于system,sysaux和undo表空间的数据文件,如果有问题,数据库无法open。如果是PDB中某个普通的数据文件出现丢失,我们可以先用offline方式跳过,然后再打数据库,稍后再对数据文件做恢复:

例:

SQL> startup;

ORACLE instance started.

Total System Global Area  835104768 bytes

Fixed Size                  2293880 bytes

Variable Size            322965384 bytes

Database Buffers          503316480 bytes

Redo Buffers                6529024 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 6- see DBWR trace file

ORA-01110: data file 6:'/u01/app/oracle/oradata/c12/users01.dbf'

SQL> alter database datafile 6 offline;

Database altered.

SQL> alter database open;

Database altered.

使用rman

RMAN> restore datafile 6;

RMAN> recover datafile 6;

然后对数据文件进行online处理

SQL> alter database datafile 6 online;

再看看pdb的数据文件.摸拟pdb数据文件删除

[oracle@o12c pdb2]$ mv pdb2_users01.dbfpdb2_users01.dbfold

启动数据库实例

SQL> startup;

ORACLE instance started.

Total System Global Area  835104768 bytes

Fixed Size                  2293880 bytes

Variable Size            322965384 bytes

Database Buffers          503316480 bytes

Redo Buffers                6529024 bytes

Database mounted.

Database opened.

由此我们可以得出一个结论,当cdb在打开的时候,数据库不会检查pdb中的数据文件。

SQL> alter pluggable database pdb2 open;

alter pluggable database pdb2 open

ERROR at line 1:

ORA-01157: cannot identify/lock data file 13- see DBWR trace file

ORA-01110: data file 13:'/u01/app/oracle/oradata/c12/pdb2/pdb2_users01.dbf'

只有在打开pluggabledatabase时,会效验PDB数据库的数据文件,。

SQL> alter session set container=pdb2;

Session altered.

SQL> alter pluggable database datafile 13 offline;

Pluggable database altered.

数据文件file#(文件号)是唯一的,但我们在CDB中操作时找不到该文件,必须要进入PDB模式,如果在CDB试图去offline一个数据文件时会报错:

SQL> show con_name

CON_NAME

------------------------------

CDB$ROOT

SQL> alter database datafile 10 offline;

alter database datafile 10 offline

第 1 行出现错误:

ORA-01516: 不存在的日志文件, 数据文件或临时文件 "10"*

但是在rman中可以直接使用datafile号进行恢复

[oracle@localhost admin]$ rman target /

恢复管理器: Release 12.1.0.2.0 - Production on 星期三 3月 23 11:04:15 2016

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

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

RMAN> restore datafile 10;

启动 restore 于 23-3月 -16

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始还原数据文件备份集

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

通道 ORA_DISK_1: 将数据文件 00010 还原到 /u01……/backupset/2016_03_23/o1_mf_nnndf_TAG20160323T100113_ch3y7byj_.bkp

通道 ORA_DISK_1: 段句柄 = /u01…….backupset/2016_03_23/o1_mf_nnndf_TAG20160323T100113_ch3y7byj_.bkp标记 = TAG20160323T100113

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:00:01

完成 restore 于 23-3月 -16

RMAN> recover datafile 10;

启动 recover 于 23-3月 -16

使用通道 ORA_DISK_1

正在开始介质的恢复

介质恢复完成, 用时: 00:00:00

完成 recover 于 23-3月 -16;

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

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