ORA-01113: file string needs media recovery
Cause: An attempt was made to online or open a database with a file that is in need of media recovery.
Action: First apply media recovery to the file.
使用备份的数据文件或者由于数据库写出错而导致数据文件scn不一致的问题,常常需要介质恢复。
数据库要在归档模式,原理就是使用归档日志恢复备份之后的事务。
先在一个空表
insert into TEST_STORAGE select 'a' from dual;
然后
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> SQL> startup
ORACLE instance started.
Total System Global Area 1660944384 bytes
Fixed Size 1219736 bytes
Variable Size 436208488 bytes
Database Buffers 1207959552 bytes
Redo Buffers 15556608 bytes
Database mounted.
Database opened.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
将表空间更换成insert之前的备份版本。
SQL> startup
ORACLE instance started.
Total System Global Area 1660944384 bytes
Fixed Size 1219736 bytes
Variable Size 436208488 bytes
Database Buffers 1207959552 bytes
Redo Buffers 15556608 bytes
Database mounted.
ORA-01113: file 6 needs media recovery
ORA-01110: data file 6: '/tpsys/oracle/product/10.2.0/db_1/test.ora'
SQL> recover datafile '/tpsys/oracle/product/10.2.0/db_1/test.ora'
Media recovery complete.
SQL> alter database open;
Database altered.
SQL> select * from TEST_STORAGE;
select * from TEST_STORAGE
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> select * from test.TEST_STORAGE;
NAME
----------
a
SQL>