ORA-01033:
ORACLE initialization or shutdown in progress通常是由于ORACLE資料庫檔案損壞引起的,以下是出現的問題及解決方法:
現象一: sysdba可以登入,但是在使用中就出現“資料庫未打開,僅允許在固定表/視圖中查詢”,而normal使用者無法登入使用,出現ORA-01033:
ORACLE initialization or shutdown in progress 的錯誤。
分析:這個錯誤的原因應該是Oracle在啟動後,使用者登入時是要将方案中原有配置資訊裝載進入,裝載過程中配置中有檔案未找到,是以就報出錯誤。
解決過程:
C:\Documents and Settings\zhuanyou8>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/zhuanyou8 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
ORA-01157: 無法辨別/鎖定資料檔案 2 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 2: 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORAL\FSCREDIT40'
SQL> alter database datafile 2 offline drop;
資料庫已更改。
ORA-01531: 例程已打開資料庫
SQL>shutdown normal
提示:資料庫已經關閉
已經解除安裝資料庫
ORACLE 例程已經關閉
到此,問題解決了。
現象二、并沒有删除某些檔案,可能是非法關機或是斷電造成的。造成sysdba可以登入,但是在使用中就出現“資料庫未打開,僅允許在固定表/視圖中查詢”,而normal使用者無法登入使用
1、進入CMD,執行set ORACLE_SID=www.zhuanyou8.com,確定連接配接到正确的SID;
2、運作sqlplus "/as sysdba"
SQL>shutdownimmediate 停止服務
SQL>startup 啟動服務,觀察啟動時有無資料檔案加載報錯,并記住出錯資料檔案标号
SQL>shutdownimmediate 再次停止服務
SQL>startupmount
SQL>recover datafile 2 恢複出錯的資料檔案
SQL>shutdownimmediate 再次停止服務
SQL>startup 啟動服務,此次正常
3、進入PL/SQL Developer檢查,沒有再提示錯誤。
=======================================================
Oracle專家QQ群(500人):60618621
歡迎oracle愛好者加入!