oracle数据库关闭失败,记一次修复Oracle数据库的异常:[ORA-01033: ORACLE正在初始化或关闭]...

登录SQLplus时报了一个异常:

ORA-01033: ORACLE正在初始化或关闭

环境是Windows7操作系统,Oracle 12c。我的解决方法是这样的:

0x01

打开命令行界面,输入sqlplus system/sys as sysdba以管理员方式登录

Microsoft Windows [版本 6.1.7601]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Berlin>sqlplus system/sys as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 星期五 6月 15 17:15:28 2018

Copyright (c) 1982, 2016, Oracle. All rights reserved.

连接到:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

0x02

输入命令startup mount载入数据库,然而报出“ORA-01081: 无法启动已在运行的 ORACLE - 请先将其关闭”提示语句。所以使用命令shutdown immediate卸载数据库,然后在装载。这个过程需要耗费一点时间,耐心等待。

SQL> startup mount

ORA-01081: 无法启动已在运行的 ORACLE - 请先将其关闭

SQL> shutdown immediate

ORA-01109: 数据库未打开

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup mount

ORACLE 例程已经启动。

Total System Global Area 3841982464 bytes

Fixed Size 8753768 bytes

Variable Size 889195928 bytes

Database Buffers 2936012800 bytes

Redo Buffers 8019968 bytes

数据库装载完毕。

0x03

输入alter database open;命令。如果出现错误提书“ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项”,那么使用命令alter database open resetlogs;

SQL> alter database open;

alter database open

*

第 1 行出现错误:

ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项

SQL> alter database open resetlogs;

alter database open resetlogs

*

第 1 行出现错误:

ORA-01245: RESETLOGS 完成时脱机文件 1 将丢失

ORA-01110: 数据文件 1: 'C:\APP\BERLIN\ORACLEDB\ORADATA\ORCL\SYSTEM01.DBF'

错误提示“ORA-01245: RESETLOGS 完成时脱机文件 1 将丢失”,是我之前错误的把datafile 1给offline了((:зゝ∠))。所以先要把它给online一下,然后再输入alter database open resetlogs;:

SQL> alter database datafile 1 online;

数据库已更改。

SQL> alter database open resetlogs;

alter database open resetlogs

*

第 1 行出现错误:

ORA-01113: 文件 1 需要介质恢复

ORA-01110: 数据文件 1: 'C:\APP\BERLIN\ORACLEDB\ORADATA\ORCL\SYSTEM01.DBF'

0x04

现在,它提示“ORA-01113: 文件 1 需要介质恢复”。输入命令recover database using backup controlfile;

SQL> recover database using backup controlfile;

ORA-00279: 更改 18478439 (在 05/29/2018 23:44:10 生成) 对于线程 1 是必需的

ORA-00289: 建议:

C:\APP\BERLIN\ORACLEDB\RECOVERY_AREA\ORCL\ARCHIVELOG\2018_06_15\O1_MF_1_412_%U_.

ARC

ORA-00280: 更改 18478439 (用于线程 1) 在序列 #412 中

指定日志: {=suggested | filename | AUTO | CANCEL}

在我的电脑上,这个文件夹路径是C:\app\Berlin\oracleDB\oradata\orcl

57f87ce77061

从REDO01.LOG到REDO03.LOG依次尝试,我运气好,REDO01.LOG就是我要找的文件:

指定日志: {=suggested | filename | AUTO | CANCEL}

C:\app\Berlin\oracleDB\oradata\orcl\REDO01.LOG

已应用的日志。

完成介质恢复。

0x05

现在,再次键入命令alter database open resetlogs;,这样我的就OK了:

SQL> ALTER DATABASE OPEN RESETLOGS;

数据库已更改。

现在,打开SQLplus,就可以登录啦 :-):

请输入用户名: SCOTT

输入口令:

上次成功登录时间: 星期六 5月 26 2018 13:32:11 +08:00

连接到:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值