19、oracle的啟動和關閉過程



19.1、oracle數據庫實例的啟動分三步:

1、啟動oracle例程:

startup nomount;

#讀初始化參數文件,啟動實例,但不安裝數據庫。當數據庫以這個模式啟動時,參數文件被讀取,

#后台進程和內存結構被啟動,但它們不被附加或與數據庫的磁盤結構進行通信,數據庫是不可使用的,

#通常啟動到這里可以做create database,create or recreate control file,mount standby database

#等動作,修改parameter也是可以的。


2、讀取控制文件,加載數據庫:

alter database mount;

startup mount;

#啟動實例,打開控制文件,並加載了數據庫,但是數據庫沒有打開;

#startup mount 選項執行 startup nomount 選項的所有工作,但另外附加數據庫結構並與這些結構進

#行交互,這時Oracle從它用來查找和附加到主要數據庫結構的控制文件中獲得信息。當處於這個模式時,

#可以執行一些管理型任務,比如讀取 control file、recover dtabase、backup database、

#rename db files、change archivelog mode等;


3、打開數據庫:

alter database open;

startup

#是最全的,實例,數據庫加載,數據庫、日志文件打開都完成

#如果 STARTUP 命令行上沒有指定任何模式,STARTUP OPEN 選項就是默認的啟動模式。STARTUP OPEN

#選項執行 STARTUP NOMOUNT和STARTUP MOUNT選項的所有步驟,這個選項把數據庫變成對所有用戶

#都是可用的。


startup force:如果在用正常方式啟動數據庫時遇到了困難,可以使用 STARTUP FORCE 選項,STARTUP FORCE

選項首先異常關閉數據庫,然后重新啟動它。


STARTUP RESTRICT:選項啟動數據庫並把它置入OPEN模式,但只給擁有 RESTRICTED SESSION 權限的用戶賦予訪問權。


4、查看數據庫實例狀態:

select status from v$instance;

#為open狀態

 

19.2、關閉數據庫實例:

1、正常方式關閉數據庫實例:

shutdown normal;


2、立即方式關閉數據庫實例:

shutdown immediate;

#執行 shutdown immediate 數據庫並不立即關閉,而是在Oracle執行某些清除工作后才關閉(終止會話、釋放會話資源),

#當使用 shutdown 不能關閉數據庫時,shutdown immediate可以完成數據庫關閉的操作。

   

3、直接關閉數據庫實例:

shutdown abort;

#正在訪問數據庫的會話會被突然終止,如果數據庫中有大量操作正在執行,這時執行 shutdown abort 后,重新啟動數據庫

#需要很長時間,因為 shutdown abort 的時候,跟kill 進程是一樣的效果,數據庫立即關閉,這個時候文件狀態可能不一致,

#因為正常關閉數據庫會同步校驗各文件,使得重新啟動的時候文件時間點一致並且不用進行崩潰恢復,若檢查點信息一致,則

#做崩潰恢復,若檢查點信息不一致(正好在更新文件頭)則需要做介質恢復。這些問題都好處理,最怕的問題是這個時候系統

#有大量IO,結果這樣造成寫的突然中斷,碰巧造成文件塊的邏輯壞塊,那麻煩比較大一些,尤其是系統表空間的block損壞,

#雖然 shutdown abort 出錯的幾率很小,1000個人可能只有一個人碰到,但是我們還是要小心。正確的處理流程是,

#shutdown immediate,若數據庫遲遲不能 down下來,在 os 上觀察 IO 狀況,幾乎沒有 io 的時候另開一窗口 shutdown abort,

#幾乎不會出問題了。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM