模拟PDB中数据文件的恢复
SQL> alter session set container=plugdb ;
Session altered.
SQL> select count(1) from hw.HW_PAY_GROUP_LOG ;
COUNT(1)
----------
330594
SQL> col name for a60
SQL> select file#,name from v$datafile;
FILE# NAME
---------- ------------------------------------------------------------
5 /data01/oracle12c/oradata/test12/undotbs01.dbf
7 /data01/oracle12c/oradata/test12/plugdb/system01.dbf
8 /data01/oracle12c/oradata/test12/plugdb/sysaux01.dbf
9 /data01/oracle12c/oradata/test12/plugdb/plugdb_users01.dbf
12 /data01/oracle12c/oradata/test12/plugdb/hw01.dbf
数据表在hw01.dbf上,这里offline这个文件进行测试
SQL> alter database datafile 12 offline;
删除数据文件hw01.dbf
$ rm /data01/oracle12c/oradata/test12/plugdb/hw01.dbf
在CDB层级恢复PDB中的文件
[oracle@nkgtsv2024rhl plugdb]$ rman target /
connected to target database: TEST12 (DBID=4129983816)
RMAN> list backup of datafile 12;
.....
RMAN> restore datafile 12 ;
Starting restore at 06-MAR-14
RMAN> recover datafile 12 ;
Finished recover at 06-MAR-14
在CDB层online恢复的数据文件报错
RMAN> alter database datafile 12 online ;
RMAN-03002: failure of sql statement command at 03/06/2014 17:46:59
ORA-01516: nonexistent log file, data file, or temporary file "12"
RMAN>
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> alter database datafile 12 online;
alter database datafile 12 online
*
ERROR at line 1:
ORA-01516: nonexistent log file, data file, or temporary file "12"
SQL> alter session set container=plugdb ;
SQL> alter database datafile 12 online ;
SQL> select count(1) from hw.HW_PAY_GROUP_LOG ;
COUNT(1)
----------
330594
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-1107148/ ,如需转载,请注明出处,否则将追究法律责任。