D 公司的DBA由于误操作删除了TS$数据字典基表导致数据库无法启动
| Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
INSTANCE_NAME
----------------
ASMME
SQL>
SQL>
SQL> select count(*) from sys.ts$;
COUNT(*)
----------
5
SQL> delete ts$;
5 rows deleted.
SQL> commit;
Commit complete.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01405: fetched column value is NULL
Process ID: 5270
Session ID: 10 Serial number: 3
Undo initialization errored: err:1405 serial:0 start:3126020954 end:3126020954 diff:0 (0 seconds)
Errors in file /s01/diag/rdbms/asmme/ASMME/trace/ASMME_ora_5270.trc:
ORA-01405: fetched column value is NULL
Errors in file /s01/diag/rdbms/asmme/ASMME/trace/ASMME_ora_5270.trc:
ORA-01405: fetched column value is NULL
Error 1405 happened during db open, shutting down database
USER (ospid: 5270): terminating the instance due to error 1405
Instance terminated by USER, pid = 5270
ORA-1092 signalled during: ALTER DATABASE OPEN...
opiodr aborting process unknown ospid (5270) as a result of ORA-1092
|
此场景中由于数据字典已经损坏,所以想要正常打开数据库是十分困难的。
此时则可以使用PRM来抽取数据库中的数据。具体步骤与场景1中的相似,用户仅仅需要输入该数据库的所有数据文件即可,其简要步骤如下:
- Recovery Wizard
- 选择字典模式 Dictionary Mode
- 合理选择Big或者Little Endian
- 加入数据文件并点击Load
- 根据实际需求恢复表中的数据