天天看點

ORA-01033: ORACLE initialization or shutdown in progress的兩種解決方法

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愛好者加入!