ORA-01033: ORACLE initialization or shutdown in progress

ORA-01033: ORACLE initialization or shutdown in progress

打开 SQLPLUS, 输入用户名和密码后 , 却总是

报 ORA-01033: ORACLE initialization or shutdown in progress  的错误 . 在网上搜索解决办法和大家分享 :

    1) 开始 - 运行 -cmd

     2) 命令行中输入 SQLPLUS SYS/SYS AS SYSDBA

     3) 输入 SHUTDOWN

     4) 输入 STARTUP.

在第四步的时候留意它输出的错误。我的是:

SQL> STARTUP

ORACLE  例程已经启动。

Total System Global Area  313860096 bytes

Fixed Size                  1332892 bytes

Variable Size             255854948 bytes

Database Buffers           50331648 bytes

Redo Buffers                6340608 bytes

数据库装载完毕。

ORA-00313:  无法打开日志组   1 ( 用于线程   1)  的成员

ORA-00312:  联机日志   1  线程   1: 'D:/ORACLE/ORADATA/ORCL/REDO01.LOG'

 

很明显的是日志组出了问题。进到 D:/ORACLE/ORADATA/ORCL/  看看,原来是用优化大师时把日志文件给删掉了。

OK, 知道问题,那就来解决问题吧。上网找找。有篇文章是这样的:

“ ORA - 00205 错误 , 即某些控制文件出现了问题 , 解决方法 . 先到 E:/oracle/product/10.1.0 /oradata/orcl 目录下 , 可以看见有 CONTROL01.CTL,   CONTROL02.CTL,   CONTROL03.CTL 三个控制文件 , 如果错误报的是 CONTROL02.CTL,   CONTROL03.CTL 有问题 , 那么就把这两个文件删掉 , 然后使用好的控制文件境象文件复制成删除的控制文件就可以了。”

可惜我的不是控制文件的问题,而是日志。最先冒出的想法是,我可不可以也另外的日志文件来替代呢?叫同学发个日志文件过来,放在 D:/ORACLE/ORADATA/ORCL/ 下,

“ SQL> startup

数据库装载完毕。

ORA-00305:  日志   1 ( 用于线程   1)  不一致 ;  属于另一个数据库

ORA-00312:  联机日志   1  线程   1: 'D:/ORACLE/ORADATA/ORCL/REDO01.LOG' ”

结论这是不行的 .

最后的解决方法是:

SQL> shutdown immediate;

SQL> startup mount;

SQL> select * from v$log;      /*查看日志状态(见后面的资料)*/

SQL> alter database clear unarchived logfile group 2;        /* 重建日志文件 */

SQL> alter database clear unarchived logfile group 3;

SQL> alter database clear unarchived logfile group 1;

SQL> startup;

Total System Global Area  313860096 bytes

Fixed Size                  1332892 bytes

Variable Size             255854948 bytes

Database Buffers           50331648 bytes

Redo Buffers                6340608 bytes

数据库装载完毕。

数据库已经打开。

SQL> conn system

输入口令 :

已连接。

SQL>

 到这里,问题解决了!


后话,恢复日志文件的顺序要注意。

附加些资料:

日志文件组的状态

  current:  当前正在使用的工作组

  inactive:  非活动组

  active :  归档还没有完成

  unused :  还没有使用 , 一般新建的工组组都是这个状态

在 active,current 状态下的工作组都不能删除 , 要日志切换后才可以

 


SQL> shutdown immediate; 

SQL> startup mount;

1 、 STARTUP   NOMOUNT   
        NONOUNT 选项仅仅创建一个 Oracle 实例 , 当实例打开后,系统将显示一个 SGA 内存结构和大小的列表 ; 
  2 、 STARTUP   MOUNT 
         该命令创建实例并且安装数据库,但没有打开数据库 , 在这种打开方式下 , 除了可以看到 SGA 系统列表以外,系统还会给出 " 数据库装载完毕 " 的提示 ; 
  3 、 STARTUP   
      该命令完成创建实例、安装实例和打开数据库的所有三个步骤 , 这时系统除了可以看到前面 Startup   Mount 方式下的所有提示外,还会给出一个 " 数据库已经打开 " 的提示 , 此时,数据库系统处于正常工作状态,可以接受用户请求。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值