Oracle某个数据文件损坏,如何打开数据库

发表于:2007-07-02来源:作者:点击数: 标签:
某个数据文件损坏,如何打开数据库? 系统环境: 1、操作系统: Windows 2000 Server,机器内存128M 2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版 3、安装路径:C:\ORACLE 错误现象: 因误操作,数据库中某一数据文件被误删, 控制面板的Oracle相关服务



某个数据文件损坏,如何打开数据库?






系统环境:
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;

表空间已丢弃。

原文转自:http://www.ltesting.net