Oracle丢失表空间,导致数据库起不来
SQL> startup
ORACLE instance started.
Total System Global Area 4993982464 bytes
Fixed Size 2298640 bytes
Variable Size 1040190704 bytes
Database Buffers 3942645760 bytes
Redo Buffers 8847360 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 11 - see DBWR trace file
ORA-01110: data file 11: '/dev/Test1/VolData'
解决办法:
1.select ts#,file#,name from v$datafile;
SQL> select ts#,file#,name from v$datafile;
TS# FILE# NAME
0 1 /u01/oradata/FENG/datafile/o1_mf_system_99687b6c_.dbf
1 3 /u01/oradata/FENG/datafile/o1_mf_sysaux_99685lz0_.dbf
2 4 /u01/oradata/FENG/datafile/o1_mf_undotbs1_996892n3_.dbf
0 5 /u01/oradata/FENG/datafile/o1_mf_system_9968cb4q_.dbf
4 6 /u01/oradata/FENG/datafile/o1_mf_users_996891gv_.dbf
1 7 /u01/oradata/FENG/datafile/o1_mf_sysaux_9968cb4g_.dbf
0 8 /u01/oradata/FENG/EBFE97B9E543054FE0430100007FCA9D/datafile/o1_mf_system_9968m7pg_.dbf
1 9 /u01/oradata/FENG/EBFE97B9E543054FE0430100007FCA9D/datafile/o1_mf_sysaux_9968m7ph_.dbf
3 10 /u01/oradata/FENG/EBFE97B9E543054FE0430100007FCA9D/datafile/o1_mf_users_9968mmsl_.dbf
6 11 /dev/Test1/VolData
查找对应的dfb文件,FILE# 为11.
查找对视的表空间名称
2 .SQL> select ts#,name from v$tablespace;
TS# NAME
---------- ------------------------------
0 SYSTEM
1 SYSAUX
2 UNDOTBS1
4 USERS
3 TEMP
0 SYSTEM
1 SYSAUX
2 TEMP
0 SYSTEM
1 SYSAUX
2 TEMP
3 USERS
6 TEST_DATA
3.SQL>shutdown
4.SQL> startup mount
5.SQL> alter database datafile 11 offline drop;
6.SQL> alter database open;
即可解决该问题。