Oracle異常關(guān)閉導(dǎo)致的故障及解決辦法
2024-08-29 13:51:13
供稿:網(wǎng)友
Oracle shutdown的時(shí)候忽然斷電,導(dǎo)致使用sql/plus啟動(dòng)時(shí)無法連接到數(shù)據(jù)庫,具體描述為:
connection can not permitted, shut in PRogress.
到dos 提示符 鍵入:
c:/> sqlplus /nolog
顯示:
sql/plus: Realease9.0.2……..all rights reserved
sql> connect /as sysdba
顯示已連接至空閑例程
sql>startup
顯示
shutdown in progress.
到sqlplus 里面連接:
sys/manager@orcl92 顯示信息連接成功。
Sql: select * from tab;
顯示
norows selected;
表明:沒有啟動(dòng)數(shù)據(jù)庫。
查閱資料后得出的解決辦法:
到dos 提示符 鍵入:
c:/> sqlplus /nolog
顯示
sql/plus: Realease9.0.2……..all rights reserved
sql> connect /as sysdba
顯示已連接至空閑例程
sql> startup force
顯示:已啟動(dòng)。數(shù)據(jù)庫已正常啟動(dòng)。
也可以先將 windows services中將oraclehome92 service 停止,再啟動(dòng)oracle enterprise manager console,選擇獨(dú)立啟動(dòng),選擇數(shù)據(jù)庫,點(diǎn)擊orcl(全局?jǐn)?shù)據(jù)庫名),彈出對(duì)話框,輸入用戶名system密碼passWord,連接身份: sysdba,選擇例程,配置,在一般信息標(biāo)簽下將例程狀態(tài)先改為關(guān)閉,在打開。假如提示oraclehome92 service 停止,則將這個(gè)服務(wù)啟動(dòng)起來,再啟動(dòng)數(shù)據(jù)庫,也可解決問題。 startup force 強(qiáng)制啟動(dòng)一個(gè)沒有關(guān)閉或沒能正常啟動(dòng)的數(shù)據(jù)庫;過程:先關(guān)閉實(shí)例,再啟動(dòng)。 Startup restrict 以限制模式啟動(dòng)數(shù)據(jù)庫,從而限制訪問數(shù)據(jù)庫,只有具有 restricted session 權(quán)限的用戶能與數(shù)據(jù)庫連接。 alter system [enable/disable] restricted session 在數(shù)據(jù)庫打開后,該語句啟動(dòng)或關(guān)閉訪問限制功能。假如相對(duì)主結(jié)構(gòu)做更改或想得到導(dǎo)出一致性,應(yīng)將數(shù)據(jù)庫設(shè)置為限制模式。 只有具有alter system權(quán)限,才可以用alter system [enable/disable] restricted session 命令改變數(shù)據(jù)庫的可用性。
當(dāng)一個(gè)實(shí)例以nomount狀態(tài)啟動(dòng)時(shí),只能訪問sga讀取數(shù)據(jù)的視圖。關(guān)于v$thread,v$controlftle等信息從sga 讀取數(shù)據(jù)的詞典視圖。當(dāng)數(shù)據(jù)庫被裝配時(shí),關(guān)于 v$thread,v$controlftle等信息從控制文件中被讀出。分析,當(dāng)數(shù)據(jù)庫異常關(guān)閉時(shí),shutdown在程序里沒有退出,因此啟動(dòng)實(shí)例時(shí)檢測(cè)到shutdown,則系統(tǒng)報(bào)錯(cuò)。因此需要先關(guān)閉數(shù)據(jù)庫,再啟動(dòng)數(shù)據(jù)庫。