Oracle 9i 數(shù)據(jù)庫異常關(guān)閉后的啟動

2010-08-28 10:46:40來源:西部e網(wǎng)作者:

  Oracle shutdown的時候突然斷電,導致使用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(全局數(shù)據(jù)庫名),彈出對話框,輸入用戶名system密碼password,連接身份:sysdba,選擇例程,配置,在一般信息標簽下將例程狀態(tài)先改為關(guān)閉,在打開。如果提示oraclehome92 service 停止,則將這個服務啟動起來,再啟動數(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)做更改或想得到導出一致性,應將數(shù)據(jù)庫設(shè)置為限制模式。 只有具有alter system權(quán)限,才可以用alter system [enable/disable] restricted session 命令改變數(shù)據(jù)庫的可用性。

  當一個實例以nomount狀態(tài)啟動時,只能訪問sga讀取數(shù)據(jù)的視圖。關(guān)于 v$thread,v$controlftle等信息從sga 讀取數(shù)據(jù)的詞典視圖。當數(shù)據(jù)庫被裝配時,關(guān)于 v$thread,v$controlftle等信息從控制文件中被讀出。

  分析,當數(shù)據(jù)庫異常關(guān)閉時,shutdown在程序里沒有退出,因此啟動實例時檢測到shutdown,則系統(tǒng)報錯。因此需要先關(guān)閉數(shù)據(jù)庫,再啟動數(shù)據(jù)庫。

關(guān)鍵詞:Oracle

贊助商鏈接: