您好,登錄后才能下訂單哦!
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/sys@oracle 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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。