表空间被误删除后,将表空间移回到原来的路径,登录前端系统客户端会出现如下问题:
使用PLSQL登录普通账号,提示如下
在PLSQL中以SYSTEM用户登录,执行建表和表空间的脚本,会出现如下问题:
解决步骤一:
打开命令提示符中,输入sqlplus,跟着提示,输入用户名和密码,如图所示
解决步骤二:
先用“startup”命令查看数据库是否打开,如果数据库打开,用“shutdown immediate”命令卸载数据库,再次用“startup”重新打开数据库,会出现如下问题:
解决步骤三:
如果出现ORA-01157,错误时候,执行如下命令(红色框为被误删的表空间名)
解决步骤四:
执行“alter database open”命令,如图所示:
然后再按正常流程重装前端系统即可
总结:
一、oracle数据库,.DBF文件被手动删除,导致登录不了数据库
1.启动dos命令窗口 然后按下面的操作
sqlplus /nolog
conn sys/orcl as sysdba;
alter database open;
2.当操作完成上面的操作就会报ORA-01157: cannot identify/lock data file XXX.DBF就是误删除的那个文件。然后执行下面的操作。
alter database datafile 'd:\XXX.DBF' offline drop;
alter database open;
二、Oracle正确删除表空间的方法:
使用PL/SQL界面化工具,或者使用oracle自带的SQL PLUS工具,连接需要删除的表空间的oracle数据局库。确认当前用户是否有删除表空间的权限,如果没有 drop tablespace,请先用更高级的用户(如sys)给予授权或者直接用更高级的用户。用drop tablespace xxx ,删除需要删除的表空间。
2.删除有任何数据对象的表空间
使用drop tablespace xxx including contents and datafiles;来删除表空间。
注意事项:
如果drop tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提示ora-01911错误