您的位置:首页 > 数据库 > Oracle

Oracle一次断电后重启无法登陆数据库

2018-01-05 17:51 501 查看
在一次意外的断电后,发现链接数据库是会报错:

ERROR:
ORA-01033: ORACLE initialization or shutdown in progress

解决办法:

1.SQL> SELECT STATUS FROM V$INSTANCE; 
-----输出:STATUS
-----输出:------------
-----输出:MOUNTED
 
--尝试直接recover database
2.SQL> RECOVER DATABASE ;
-----输出:ORA-00283: 恢复会话因错误而取消
-----输出:ORA-00264: 不要求恢复
--提示不用恢复
--再打开数据库,还是kcratr_nab_less_than_odr错误警告

3.SQL> ALTER DATABASE OPEN;
-----输出:ALTER DATABASE OPEN
-----输出:第 1 行出现错误:
-----输出:ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [99189],
-----输出:[43531], [43569], [], [], [], [], [], [], []
 
--尝试不完全恢复
4.SQL> RECOVER DATABASE UNTIL CANCEL;
-----输出:ORA-10879: error signaled in parallel recovery slave
-----输出:ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
-----输出:ORA-01152: 文件 1 没有从过旧的备份中还原
-----输出:ORA-01110: 数据文件 1: 'D:\DBDMS\DATA\SYSTEM01.DBF'
 
--重建控制文件(可以自己制定文件的位置及文件名eg:D:/1.TXT)
5.SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS 'D:/1.TXT';
-----输出:数据库已更改。
 
6.SQL> SHUTDOWN IMMEDIATE;
-----输出:ORA-01109: 数据库未打开
已经卸载数据库。
-----输出:ORACLE 例程已经关闭。

7.SQL> STARTUP NOMOUNT;
-----sysoORACLE 例程已经启动。 
-----输出:Total System Global Area  417546240 bytes
-----输出:Fixed Size                  2176328 bytes
-----输出:Variable Size             268438200 bytes
-----输出:Database Buffers          138412032 bytes
-----输出:Redo Buffers                8519680 bytes

 

然后就是以下为重建控制文件:

8.在控制台输入以下代码(看不清就调整显示比例):

 

-----输出:控制文件已创建。
其中的目录C:\app\imcacme\oradata\orcl为oracle安装目录下的一个子目录

 

--继续尝试恢复
9.SQL> RECOVER DATABASE ;
-----输出:完成介质恢复。

10.SQL> ALTER DATABASE OPEN; 
-----输出:数据库已更改。
--open成功

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐