由于不正常使用,oracle服务器的硬盘磁盘空间满了,没法,到处删东西,发现某个表空间没什么用,但又不确定,于是,表空间没做任何修改,而是直接在linux下把表空间的数据文件从一个磁盘移动到另一个磁盘了(/data/挂载的是另一个磁盘):
[root@localhost ~]# cp /u01/app/oracle/oradata/sj/sj_test.dbf /data/ [root@localhost ~]# rm /u01/app/oracle/oradata/sj/sj_test.dbf |
(移动可以用mv的,请各位高手原谅本菜。)
此时心里想的是oracle应该在使用这个表空间的时候发现出错会报错,而不是启动就报错(无知真可怕!)
有空间啦,于是兴高采烈的开始制作样板库,结果半下不到,死逼!
oracle死了!
此时必然要做的就是重启服务器:
SQL> Startup
没用啊!
强制重启:
SQL> Startup force; ORACLE instance started. Total System Global Area 1073741824 bytes Fixed Size 1223540 bytes Variable Size 197133452 bytes Database Buffers 868220928 bytes Redo Buffers 7163904 bytes Database mounted. ORA-01157: cannot identify/lock data file 12 - see DBWR trace file ORA-01110: data file 12: '/u01/app/oracle/oradata/sourcejoy.com/sourcejoy.com.test.dbf' |
分步重启:
SQL> Startup mount; SQL> Alter database open; Alter database open * ERROR at line 1: ORA-01157: cannot identify/lock data file 12 - see DBWR trace file ORA-01110: data file 12: '/u01/app/oracle/oradata/sourcejoy.com/sourcejoy.com.test.dbf' |
晕了,开始到网上狂搜!
找到一篇文章
http://blog.csdn.net/nini1109/archive/2009/04/24/4105637.aspx