数据文件误删导致数据库用户不能登陆

系统环境: 
1、操作系统:window7
2、数据库: Oracle Provider for OLE DB 10.2.0.2.20
3、安装路径:E:\ORACLE

错误现象: 
因误操作,数据库中某一数据文件被误删,
控制面板的Oracle相关服务显示已启动,但用SQL*Plus无法连接,
显示以下错误
ORA-01033: ORACLE initialization or shutdown in progress

模拟现象: 

>sqlplus

>用户名

>密码

SQL>create tablespace test datafile 'D:\test.ora' size 5M autoextend on next 5M maxsize unlimited;


SQL>shutdown immediately

>net stop "OracleWebAssistant0"
>net stop "OracleOraHome81TNSListener"
>net stop "OracleServiceORADB"

>shutdown 

在操作系统D盘中删除test.ora文件

重新启动服务start.bat

net start "OracleWebAssistant0"
net start "OracleOraHome81TNSListener"
net start "OracleServiceORADB"

服务里OracleServiceORADB显示已启动,但用SQL*Plus无法连接,
显示ORA-01033: ORACLE initialization or shutdown in progress


解决方法:

先让该数据文件脱机,就可以打开数据库

>sqlplus

用户名:

密码:

SQL>alter database datafile 'D:\TEST.ORA' offline drop;
SQL>shutdown

SQL>startup mount

ok搞定!!!

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--ARCHIVELOG模式命令,文件名要大写
SQL>alter database datafile 'C:\TEST.ORA' offline;

--NOARCHIVELOG模式命令
SQL>alter database datafile 'C:\TEST.ORA' offline drop;

SQL>alter database open;


--查询数据文件联、脱机状态
SQL> select file#,name,status from v$datafile;

SQL> drop tablespace test;

表空间已丢弃。

你可能感兴趣的:(数据文件误删导致数据库用户不能登陆)