標籤:資料庫服務 oracle system
Oracle登入 ORA-01033: ORACLE正在初始化或關閉的解決辦法
2015-03-16 01:20 | 160511人閱讀 | 來源
Oracle登入 ORA-01033: ORACLE正在初始化或關閉的解決方案
Oracle存在多執行個體
相應的在DOS命令下執行:
1. 設定正確的ORACLE執行個體:set ORACLE_SID = INSTANCE_NAME
2. 啟動SQLPLUS:sqlplus /nolog
3.以DBA(通常有好幾個sys或system)使用者sqlplus登入:connect system/sys as sysdba
oracle登入錯誤(ORA-01033:ORACLE initialization or shutdown in progress
上面說到了建立表分區的例子,所以建立資料表空間的時候建立了好幾個資料表空間物理檔案,之後感覺建立的有誤,想刪掉它們,可是刪不掉(因為資料庫進程啟動著),所以把資料庫服務給關了,直接Shift+Del把檔案給刪掉了。
問題出來了:我再次啟動oracle相關服務後,登入不了了。
出現了ORA-01033:ORACLE initialization or shutdown in progress
原因就是因為我把介質檔案給刪掉了
解決步驟:
以DBA(通常有好幾個sys或system)使用者sqlplus登入
請輸入使用者名稱: system/sys as sysdba
然後(卸載資料)輸入:
SQL> shutdown normal
會出現:
ORA-01109: 資料庫未開啟
已經卸載資料庫。
ORACLE 常式已經關閉。
然後(裝載資料)輸入:
SQL> startup mount
ORACLE 常式已經啟動。
資料庫裝載完畢。
之後:
SQL>alter database open;
第 1 行出現錯誤:
ORA-01157: 無法標識/鎖定資料檔案 6 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 6: ‘D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT‘
SQL> alter database create datafile 6;
資料庫已更改。
SQL>alter database open;
第 1 行出現錯誤:
ORA-01113: 檔案 6 需要介質恢複
ORA-01110: 資料檔案 6: ‘D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT‘
SQL> alter database datafile 6 offline drop;
資料庫已更改。
繼續
SQL>alter database open;
如果出現以上錯誤,繼續執行相關操作,上面的6要和create和drop對應。
如果
SQL> alter database open;
出現了:
資料庫已更改。
則成功了。
這時可以再用PL/SQL等用戶端工具,登入操作資料庫了。
至於介質恢複: ora-01172 ora-01151了,解決辦法如下:
c:>sqlplus /nolog
SQL> connect sys/[email protected] as SYSDBA
已串連
SQL> startup mount
ORA-01081: 無法啟動已在啟動並執行 ORACLE --- 請首先關閉
SQL> alter database open read only;
alter database open read only
*
ERROR 位於第 1 行:
ORA-16005: 資料庫需要恢複
SQL> recover database
完成介質恢複。
SQL> shutdown immediate
ORA-01109: 資料庫未開啟
已經卸載資料庫。
ORACLE 常式已經關閉。
SQL> startup
ORACLE 常式已經啟動。
Total System Global Area 730931140 bytes
Fixed Size 454596 bytes
Variable Size 411041792 bytes
Database Buffers 318767104 bytes
Redo Buffers 667648 bytes
資料庫裝載完畢。
資料庫已經開啟。
今天用用戶端串連oracle時,發現報ORA-01033: ORACLE 正在初始化或關閉錯誤,其實這個錯誤判了幾天了,前兩次重啟一下就好了,今天是怎麼也起不來了,通過在網上尋找,很好的就解決了,
首先我用startup mount命令,可以正常,然後用alter database open就會報錯,如
從中可以看出歸檔檔案的問題,隨後
可以看出改組非目前狀態但已歸檔,所以用clear命令來重建當前組
SQL>alter database clear logfile group 3;
如果是該日誌組還沒有歸檔,則需要用
SQL>alter database clear unarchived logfile group 3;
然後alter database open 資料庫就可以連上了。
我這是在自己本機上隨便做的,但是如果在生產機上最好立刻做備份一下。
說明:
1)、如果損壞的是非當前的聯機記錄檔,一般只需要clear就可以重建該記錄檔,但是如果該資料庫處于歸檔狀態但該日誌還沒有歸檔,就需要強行clear。
2)、建議clear,特別是強行clear後作一次資料庫的全備份。
3)、此方法適用于歸檔與非歸檔資料庫。
百度經驗:
http://jingyan.baidu.com/article/36d6ed1f6e3bb61bcf4883e1.html
本文出自 “0805” 部落格,請務必保留此出處http://zrxwcc.blog.51cto.com/6160351/1926042
oracle資料庫報ORA-01033錯誤