临时表空间数据删除问题

    用户是裸设备,软件公司不懂裸设备和文件系统区别。添加表空间搞成了文件系统。结果数据文件默认存放到根目录下,把根目录的空间给撑爆了。昨天,用户重启了数据库,可怕的事情出现了。。。。。。

   数据库重启后,无法启动。通过报错,发现上述问题,向我求助。。。。。。

    首先将存放在根目录的文件移动到/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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值