用户是裸设备,软件公司不懂裸设备和文件系统区别。添加表空间搞成了文件系统。结果数据文件默认存放到根目录下,把根目录的空间给撑爆了。昨天,用户重启了数据库,可怕的事情出现了。。。。。。
数据库重启后,无法启动。通过报错,发现上述问题,向我求助。。。。。。
首先将存放在根目录的文件移动到/TMP下,这样可以启动数据库。此时数据库是能够启动的。但是在使用客户端软件的时候,会报错说找不到临时表空间的第二个数据文件。用户的环境是HP UNIX ,数据库是9I。
尝试将数据库启动到mount状态下,将这个表空间的数据文件删除。
SQL> startup mount
ORACLE instance started.
Total System Global Area 2585219136 bytes
Fixed Size 729152 bytes
Variable Size 436207616 bytes
Database Buffers 2147483648 bytes
Redo Buffers 798720 bytes
Database mounted.
SQL> alter database rename file '/dev/vg_ora/rtemp_02.dbf' to '/tmp/rtemp_02.dbf
';
alter database rename file '/dev/vg_ora/rtemp_02.dbf' to '/tmp/rtemp_02.dbf'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01516: nonexistent log file, datafile, or tempfile
"/dev/vg_ora/rtemp_02.dbf"
报错的原因是rtemp_02.dbf已经被移走,ORACLE已经找不到那个数据文件了。
启动数据库,使用命令DROP这个数据文件,可是仍旧不成功。
SQL> alter database tempfile '/dev/vg_ora/rtemp02.dbf' drop including datafiles;
alter database tempfile '/dev/vg_ora/rtemp02.dbf' drop including datafiles
*
ERROR at line 1:
ORA-01516: nonexistent log file, datafile, or tempfile
"/dev/vg_ora/rtemp02.dbf"
SQL> alter database tempfile '/dev/vg_ora/rtemp02.dbf' drop;
alter database tempfile '/dev/vg_ora/rtemp02.dbf' drop
*
ERROR at line 1:
ORA-01516: nonexistent log file, datafile, or tempfile
"/dev/vg_ora/rtemp02.dbf"
尝试在数据库mount下,尝试删除这个数据文件,结果照旧。
SQL> startup mount
ORACLE instance started.
Total System Global Area 2585219136 bytes
Fixed Size 729152 bytes
Variable Size 436207616 bytes
Database Buffers 2147483648 bytes
Redo Buffers 798720 bytes
Database mounted.
SQL> alter database tempfile '/dev/vg_ora/rtemp02.dbf' drop;
alter database tempfile '/dev/vg_ora/rtemp02.dbf' drop
*
ERROR at line 1:
ORA-01516: nonexistent log file, datafile, or tempfile
"/dev/vg_ora/rtemp02.dbf
解决的办法:
1、使用ROOT用户进入系统
2、qdgapz2># cd /dev/vg_ora //进入到创建文件的文件夹下
3、qdgapz2# ln -s /tmp/rtemp_02.dbf rtemp_02.dbf // 创建连接
4、qdgapz2# ll
lrwxr-xr-x 1 root sys 17 Dec 24 15:05 rtemp_02.dbf -> /tmp/rtemp_02.dbf
这样问题就解决了。
再启动数据库,数据库就能识别到rtemp_02.dbf的数据文件了。
这样问题解决。
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 2585219136 bytes
Fixed Size 729152 bytes
Variable Size 436207616 bytes
Database Buffers 2147483648 bytes
Redo Buffers 798720 bytes
Database mounted.
SQL> alter database open;
Database altered.
SQL> alter database tempfile '/dev/vg_ora/rtemp_02.dbf' drop;
Database altered.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8334342/viewspace-623532/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8334342/viewspace-623532/