Oracle 12c 恢复可插拔数据库PDB$SEED

本文中记录的情况适用于Oracle 12c环境下PDB$SEED数据库数据文件损坏会被误删等且有RMAB备份的情况。

一、关闭PDB$SEED

在PDB$SEED为read only状态下,是不可用RMAN进行其数据文件恢复,我们需要先关闭PDB$SEED,由于PDB$SEED目前处于不正常状态,常规方式可能无法关闭,需要执行以下命令关闭。

[shell]$  sqlplus / as sysdba
SQL> show psbs;
CON_ID      CON_NAME        OPEN MODE      RESTRICTED

---------- ------------------------------ ---------- ----------
2 PDB$SEED  READ ONLY  NO

SQL> exec dbms_pdb.exec_as_oracle_script('alter pluggable database PDB$SEED close immediate');
PL/SQL procedure successfully completed.

SQL> show pdbs;

    CON_ID CON_NAME  OPEN MODE  RESTRICTED

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

2 PDB$SEED  MOUNTED

关闭过程中也有可能包文件无法找到等错误,关闭后务必检查PDB$SEED处于MOUNTED状态。

二、Restore 并 recover PDB$SEED

开始恢复:

[shell]$ rman target /

RMAN> restore database "PDB$SEED";

Starting restore at 03-JUN-19

using channel ORA_DISK_1

........

channel ORA_DISK_1: restore complete, elapsed time: 00:00:25

Finished restore at 03-JUN-19

RMAN> recover database "PDB$SEED";

Starting recover at 03-JUN-19

using channel ORA_DISK_1

starting media recovery

media recovery complete, elapsed time: 00:00:00

Finished recover at 03-JUN-19

三、重新开启PDB$SEED

SQL> exec dbms_pdb.exec_as_oracle_script('alter pluggable database PDB$SEED open read only');

PL/SQL procedure successfully completed.

SQL> show pdbs

    CON_ID CON_NAME  OPEN MODE  RESTRICTED

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

2 PDB$SEED  READ ONLY  NO

恢复完成!

上一篇
下一篇