首页 > 数据库 > Oracle > 正文

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

2024-08-29 13:31:01
字体:
来源:转载
供稿:网友



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






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

表空间已丢弃。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表