某个数据文件损坏,如何打开数据库?
系统环境: 1、操作系统:windows 2000 Server,机器内存128M 2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版 3、安装路径:C:\ORACLE
错误现象: 因误操作,数据库中某一数据文件被误删, 控制面板的Oracle相关服务显示已启动,但用SQL*Plus无法连接, 显示以下错误 ORA-01033: ORACLE initialization or shutdown in progress
模拟现象:
create tablespace test datafile 'c:\test.ora' size 5M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED default storage (initial 128K next 1M pctincrease 0) /
关闭所有服务stop.bat
net stop "OracleWebAssistant0" net stop "OracleOraHome81TNSListener" net stop "OracleServiceORADB"
shutdown
在操作系统中删除test.ora文件
重新启动服务start.bat
net start "OracleWebAssistant0" net start "OracleOraHome81TNSListener" net start "OracleServiceORADB"
服务里OracleServiceORADB显示已启动,但用SQL*Plus无法连接, 显示ORA-01033: ORACLE initialization or shutdown in progress
解决方法:
先让该数据文件脱机,就可以打开数据库 C:\>svrmgrl svrmgrl>connect internal svrmgrl>shutdown svrmgrl>startup mount
--ARCHIVELOG模式命令,文件名要大写 svrmgrl>alter database datafile 'C:\TEST.ORA' offline;
--NOARCHIVELOG模式命令 svrmgrl>alter database datafile 'C:\TEST.ORA' offline drop;
svrmgrl>alter database open;
--查询数据文件联、脱机状态 SQL> select file#,name,status from v$datafile;
SQL> drop tablespace test;
表空间已丢弃。
|