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