删除了表空间的物理文件怎么办?

昨天晚上犯贱,拿表空间的物理文件直接删除了,而且清空了回收站。

还好在自己又备份了数据库,要不然都不知道到哪里哭去!

问题:

删了表空间之后,什么事情都做不了了,老是报数据库未打开!

第 1 行出现错误:  ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询  

解决方法:

 startup mount;  

 alter session set nls_language=american;  

alter database datafile 'd:\test.dmp' offline drop;  //这里的就是你误删的表空间文件的路径加名字

alter database open;  


conn   system/manager as sysdba;

drop user xxx cascade;


这个时候如果你之前设定的是默认的表空间的话,删除用户是不能连带默认表空间也删除的。

所以,我们需要先新建一个表空间,然后设定了默认的,然后删除以前的,之后再改回来删除刚刚建的!

create tablespace test datafile 'D:oracle/product\10.2.0\test.dmp'  size 1G;

alter database default tablespace test;

drop tablespace  xxxx including  contents and datafiles;

这样你就可以连接数据库了,再也不报数据库未打开了。你就可以删除掉用户之后把备份数据库还原了。

但是,如果你不备份怎么办?

这也是有法子的,法子就是百度下解决方法,不过比较麻烦的了!

命好有备份,要不怎么找苦吃,以后不能随便乱删除这些文件了!



展开阅读全文

没有更多推荐了,返回首页