非法删除数据文件导致数据库不能打开ORA-01122 ORA-01251

今天一同事找我,说他本地的数据库被他误删除了文件,导致不能打开,然给看看。
SQL> conn jjw/jjw
ERROR:
ORA-01033: Oracle initialization or shutdown in progress

Warning: You are no longer connected to ORACLE.
SQL>
数据库已经启动,但连接报错。如是,我重启一下,看报什么错误。
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1224736768 bytes
Fixed Size                  2020384 bytes
Variable Size             218106848 bytes
Database Buffers          989855744 bytes
Redo Buffers               14753792 bytes
Database mounted.
ORA-01122: database file 10 failed verification check
ORA-01110: data file 10: '/oracle/database/tabjj_tab.dbf'
ORA-01251: Unknown File Header Version read for file number 10

SQL>
首先,得从数据库中删除这个有问题的文件。
SQL> startup mount
ORACLE instance started.
Total System Global Area 1224736768 bytes
Fixed Size                  2020384 bytes
Variable Size             218106848 bytes
Database Buffers          989855744 bytes
Redo Buffers               14753792 bytes
Database mounted.
SQL> alter database datafile  '/oracle/database/tabjj_tab.dbf' offline drop;
Database altered.
 
SQL> alter database open;
Database altered.
SQL>
数据库恢复正常。
 
以上只是测试环境下的操作,正式系统上,千万不能这样随意删除文件了。

相关推荐