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

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

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

问题:

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

  • 第 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;

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

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

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

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



  • 你可能感兴趣的:(删除了表空间的物理文件怎么办?)