Oracle在AIX上一些处理(一)

2014-11-24 18:15:03 · 作者: · 浏览: 2

二、ora-01033:oracle initialization or shutdown in progress,经过分析研究终于解决了,记下来。


首先:问题的产生原因,出现这个错误是因为我将\oracle\product\10.1.0\oradata\oral下的一个文件删除掉后出现的。


利用sql语句语句创建表空间时弄错了,就一时心急把创建的文件删除了。结果问题就出来了。sysdba可以登录,但是在使用中就出现“数据库未打开,仅允许在固定表/视图中查询”,而normal用户无法登录使用,出现ORA-01033: ORACLE initialization or shutdown in progress 的错误。


分析:这个错误的原因应该是Oracle在启动后,用户登录时是要将方案中原有配置信息装载进入,装载过程中配置中有文件未找到,所以就报出错误。


解决过程:


C:\Documents and Settings\DHai>sqlplus /nolog


SQL*Plus: Release 10.1.0.2.0 - Production on 星期一 9月 28 14:35:38 2009


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


SQL> connect sys/123 as sysdba;
已连接。
SQL> shutdown normal
ORA-01109: 数据库未打开



已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。


Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项



SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORAL\FSCREDIT40'



SQL> alter database datafile 6 offline drop;


数据库已更改。


SQL> alter database open resetlogs;


数据库已更改。


SQL> alter database datafile 6 offline drop;


数据库已更改。


SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01531: 例程已打开数据库



SQL>shutdown normal
提示:数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭


SQL> startup mount;
ORACLE 例程已经启动。


Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
数据库装载完毕。


到此,问题解决了。
=============================================


============================================


网上另外的文章


=====================================


============================


oracle一个问题的解决方法:Error:ORA-01033:ORACLE initialization or shutdown in progress2009-07-14 18:42从网上找了一些资料,最后加上自己的实践终于解决了


后来发现原因既然是:用系统清理工具把系统垃圾清理了一番,结果在打开oracle 数据库时出现了错误:


解决方法在DOS环境下sqlplus /NOLOGSQL>connect sys/sys as sysdbaSQL>shutdown normalSQL>startup mountSQL>alter database open;第 1 行出现错误:ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 6: ''D:\ORACLE\ORADATA\ORAGWH\INDX01.DBF''出现这种问题时继续输入SQL> conn sys/sys as sysdba;已连接。SQL> alter database datafile 6 offline drop;直到用scott登陆为止SQL> conn scott/tiger然后接着输入即可SQL>shutdown normalSQL>startup


在输入上述命令的时候,可能会出现下面的问题:


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


解决方法如下:


运行Oracle----Integrated Management Tools----SQLPlus WorkSheet


SQL> connect / as sysdba;


已连接。


SQL> shutdown immediate;


ORA-01109: 数据库未打开


已经卸载数据库。


ORACLE 例程已经关闭。


SQL> startup;


ORACLE 例程已经启动。


Total System Global Area 135338868 bytes


Fixed Size 453492 bytes


Variable Size 109051904 bytes


Database Buffers 25165824 bytes


Redo Buffers 667648 bytes


数据库装载完毕。


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


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


查看C:\ORACLE\ORADATA\myoracle\REDO01.LOG还在,但是REDO02.LOG,REDO03.LOG被误删了.


赶紧换个例程OEMREP试试,结果还是一样的错误!


蒙了,难道要重装数据库不成 有什么办法可以解决这个问题呢



解决办法:


SQL> shutdown immediate;


ORA-01109: 数据库未打开


已经卸载数据库。


SQL> startup mount;


ORACLE 例程已经启动。


SQL>select * from v$log;


GROUP# THREAD# SEQUENCE# BYTES MEMBER