ORA-01033: ORACLE initialization or shutdown in progress錯誤

來源:互聯網
上載者:User
某個資料檔案損壞,如何開啟資料庫——ORA-01033: ORACLE initialization or shutdown in progress錯誤

系統內容:
1、作業系統:Windows 2000 Server,機器記憶體128M
2、資料庫: Oracle 8i R2 (8.1.6) for NT 企業版
3、安裝路徑:C:\ORACLE

錯誤現象:
因誤操作,資料庫中某一資料檔案被誤刪,控制台的Oracle相關服務顯示已啟動,但用SQL*Plus無法串連,顯示以下錯誤:
ORA-01033: ORACLE initialization or shutdown in progress

類比現象:
create tablespace test datafile
'c:\test.ora' size 5M
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
default storage (initial 128K next 1M pctincrease 0)
/
關閉所有服務stop.bat
net stop "OracleWebAssistant0"
net stop "OracleOraHome81TNSListener"
net stop "OracleServiceORADB"
shutdown
在作業系統中刪除test.ora檔案
重新啟動服務start.bat
net start "OracleWebAssistant0"
net start "OracleOraHome81TNSListener"
net start "OracleServiceORADB"
服務裡OracleServiceORADB顯示已啟動,但用SQL*Plus無法串連,
顯示ORA-01033: ORACLE initialization or shutdown in progress
解決方案:
先讓該資料檔案離線,就可以開啟資料庫
C:\>svrmgrl
svrmgrl>connect internal
svrmgrl>shutdown
svrmgrl>startup mount
--ARCHIVELOG模式命令,檔案名稱要大寫
svrmgrl>alter database datafile 'C:\TEST.ORA' offline;
--NOARCHIVELOG模式命令
svrmgrl>alter database datafile 'C:\TEST.ORA' offline drop;
svrmgrl>alter database open;
--查詢資料檔案聯、離線狀態
SQL> select file#,name,status from v$datafile;
SQL> drop tablespace test;
資料表空間已丟棄。
丟失聯機記錄檔
分兩種情況處理
1、丟失的是非活動的記錄檔;
2、丟失的是當前啟用的記錄檔。
如果是第一種情況,而發生故障的記錄檔組又具有多個成員,可以先將資料庫shutdown,然後用作業系統命令將損壞記錄檔組中好的日誌成員檔案把損壞的成員檔案覆蓋(在同一個日誌成員組中的所有記錄檔的各為鏡象的),如果其物理位置不可用可將其拷貝到新的磁碟機上,使用alter database rename file ‘xxxx’ to ‘xxxx’改變檔案位置,之後啟動資料庫,如果正常馬上進行一個冷備份。如果損壞的日誌組中只有一個日誌成員,先mount上資料庫,將其轉換為noarchivelog模式,執行alter database add logfile member ‘xxx’ to group ‘x’給相關組增加一個成員,再執行alter database drop logfile member ‘bad_file’將損壞的記錄檔刪除,由於資料庫的結構發生變動需要備份控制檔案,之後將資料庫改回archivelog模式,做一個冷備份。
如果丟失的是當前啟用的記錄檔,資料庫又沒有鏡像而且當前日誌組中所有成員均變為不可用。首先將資料庫shutdown abort,從最近的一次全備份中恢複所有的資料檔案,將資料庫啟動到mount狀態。如果原來的記錄檔物理位置不可用,使用alter database rename file ‘xxx’ to ‘xxx’改變檔案的存放位置。然後,使用recover database until cancel命令來恢複資料庫,直到提示最後一個歸檔日誌運用完之後,輸入cancel。之後用alter database open resetlogs開啟資料庫,如果沒有問題,立即進行一個冷備份。注意!所有包含在損壞的redo log中的資訊將會丟失,也就是說資料庫崩潰前已經提交的資料有可能會丟失。這對於某些要求很高的應用將會損失慘重,因此應盡量使每個日誌組具有多個日誌成員,並且放置在不同的磁碟機上防止發生介質故障。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.