Oracle数据文件损坏怎样打开数据库

Oracle数据文件损坏怎样打开数据库,第1张

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 OracleServiceORADBshutdown在 *** 作系统中删除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:/svrmgrlsvrmgrlconnect internal

svrmgrlshutdown

svrmgrlstartup mount

--ARCHIVELOG模式命令,文件名要大写

svrmgrlalter database datafile 'C:/TEST.ORA' offline

--NOARCHIVELOG模式命令

svrmgrlalter database datafile 'C:/TEST.ORA' offline drop

svrmgrlalter database open

--查询数据文件联、脱机状态

SQL select file#,name,status from v$datafile

表空间已丢弃。

关于这个问题,要看损坏的是什么文件,以ORACLE数据库为例1控制文件,每个数据库默认有三个控制文件内容一样(比如CTRL01.DBF,CTRL02.DBF,CTRL03.DBF),损坏其中两个,只需把好的那个拷贝成另外两个的名称即可。如果所有控制文件都坏了,需要启动实例到nomount状态重建控制文件,前提是之前最好做过alterdatabasebackupcontrolfiletotrace会得到一个重建控制文件的脚本2在线日志(redolog),如果每个日志组(group)的member(成员)不止一个,同一组内的在线日志只要有一个完好,同样可以通过拷贝方式(停止数据库后)恢复。3TEMP表空间数据文件,可以理解为数据库用的临时文件,损坏后基本无数据损失,可以通过重建temp表空间恢复4.SYSTEM系统表空间,这个挂了基本上必须靠恢复了,前提是要有备份4.其它数据表空间4.1.有备份,可以恢复,但可能丢失数据4.2.未备份,无法恢复该表空间数据,可以选择使该表空间离线(offline),恢复其它数据


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6825993.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存