
控制面板的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),恢复其它数据欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)