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

如何解决oracle的ERROR: ORA-01033: ORACLE initialization or shutdown in progress问题

2010-11-11 16:08 525 查看
在连oracle时, 却总是报 ORA-01033: ORACLE initialization or shutdown in progress 的错误 . 在网上搜索解决办法和大家分享 :

1) 开始 - 运行 -cmd

2) 命令行中输入 sqlplus sys/密码 as sysdba #请使用dba用户登录

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 方式下的所有提示外,还会给出一个 " 数据库已经打开 " 的提示 , 此时,数据库系统处于正常工作状态,可以接受用户请求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐