oracle資料庫的關閉過程
oracle資料庫的關閉過程
oracle資料庫在關閉過程中經歷的狀態:
open
close
nomount
shutdown
下面介紹通常情況下一個open的資料庫到shutdown的過程:
1、資料庫close,這時候資料庫還是mount的。oracle資料庫會將SGA中的資料寫入資料檔案與線上重做日誌檔案。接下來關閉線上資料檔案與重做日誌檔案。任何的offline的表空間或者資料檔案都已經被關閉了,這些在closed前offline的表空間或者資料檔案,在下次啟動資料庫的時候會被忽略,還是保持offline的狀態。
2、資料庫unmount,例項還在。但是資料庫控制檔案已經關閉了,這時候例項已經不再和某個資料庫關聯在一起。
3、例項shutdown,oracle例項已經不在記憶體中,oracle後臺程式也不再繼續執行。以上是正常的資料庫關閉過程,如果一個例項被shutdown abort或者oracle系統崩潰,伺服器掉電等,不會完全經歷這些過程。這時候資料庫與例項的關閉是立即的。
oracle資料庫關閉的模式:
擁有sysdba,sysoper特權的使用者可以使用sqlplus或者OEM關閉資料庫.如果使用的是共享服務程式連線到資料庫,是無法關閉資料庫的。在資料庫的關閉過程中,使用者無法與資料庫建立新的會話,使用者會收到提示資訊:ORA-01090: shutdown in progress - connection is not permitted
shutdown的可選模式有 abort,immediate,transactional,normal下面介紹這些關閉模式。
資料庫表現 abort immediate transactional normal
允許新的使用者會話 no no no no
等待當前會話的終結 no no no yes
等待當前事務的終結 no no yes yes
執行一個checkpoint no yes yes yes
關閉開啟的檔案
shutdown abort
這種關閉方式,適合在最緊急的情況下使用,比如其他關閉資料庫的方式都不奏效的情況下,或者你知道伺服器將快掉電了。使用這種方式關閉資料庫是最快的,但是在下次開啟資料庫的時候,需要花費大量的時間來自動執行例項恢復,因為在關閉資料庫的時候,沒有執行checkpoint以保持資料檔案的一致性。也就是說SGA中的資料,沒有被寫入到資料檔案與線上重做日誌檔案。其他關閉資料庫的方式不需要執行例項恢復。
shutdown immediate
這種關閉資料庫的速度是僅次於shutdown abort的方式。在這種關閉方式中,oracle資料庫關閉正在執行的SQL語句,斷開使用者連線,活動的事務被終止,沒有提交的事務被rollback掉。
shutdown transactional
這種關閉資料庫的方式,會阻止使用者產生新的事務,但是會等待當前所有的事務執行完。這種關閉資料庫的方式可能花費比較長的時間,取決於當前事務的大小與長度。當前沒有在執行
事務的會話也會被馬上終結。
shutdown normal
這是預設的關閉資料庫的方式,資料庫會等待所有使用者會話的終結,然後在關閉資料庫,但是這很可能需要長時間的等待。
甚至可以認為這種關閉資料庫的方式是沒有用的。
除了abort是非正常的關閉資料庫的方式以外,其他是正常的關閉資料庫的方式。
在某些情況下,資料庫關閉以後可能導致下次無法重啟資料庫,因為還有殘存的例項沒有被關閉,或者某個oracle資料庫後臺程式沒有終結。這時候可以使用sqlplus或者OEM,發出shutdown abort,徹底的關閉例項。當然把程式或者例項kill掉也是一種方法。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-716712/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 資料庫例項啟動關閉過程Oracle資料庫
- oracle資料庫的啟動與關閉過程詳解Oracle資料庫
- 安全關閉Oracle資料庫Oracle資料庫
- ORACLE關閉過程淺析Oracle
- Oracle XE的資料庫建立過程Oracle資料庫
- 手工建立oracle資料庫的過程Oracle資料庫
- Oracle資料庫的啟動與關閉Oracle資料庫
- Oracle資料庫的啟動和關閉Oracle資料庫
- Oracle使用DBMS_JOB建立的資料庫作業,遇到資料庫關閉狀態的排程Oracle資料庫
- Oracle資料庫啟動過程Oracle資料庫
- Oracle RAC+ASM 關閉全過程OracleASM
- ORACLE資料庫的啟動和關閉(轉)Oracle資料庫
- 資料庫關閉資料庫
- mysql關閉過程MySql
- 關閉ORACLE資料庫步驟參考Oracle資料庫
- oracle資料庫停止方法及過程Oracle資料庫
- 隨系統啟動關閉的oracle資料庫Oracle資料庫
- 開啟關閉oracle資料庫附加日誌Oracle資料庫
- Oracle遷移資料庫過程記錄Oracle資料庫
- ORACLE資料庫的啟動和關閉之二(轉)Oracle資料庫
- Oracle資料庫的幾種啟動和關閉方式Oracle資料庫
- 深刻理解Oracle資料庫的啟動和關閉Oracle資料庫
- 深刻理解 oracle 資料庫的啟動和關閉Oracle資料庫
- Oracle10g RAC開啟關閉過程Oracle
- oracle資料庫服務的工作過程與原理Oracle資料庫
- 3.3.1 關於關閉資料庫資料庫
- 啟動/關閉與冷備份Oracle資料庫Oracle資料庫
- Oracle資料庫SQL語句執行過程Oracle資料庫SQL
- oracle資料庫啟動過程大揭祕Oracle資料庫
- 一次Oracle資料庫恢復過程Oracle資料庫
- oracle資料庫的啟動關閉與各種服務Oracle資料庫
- 【02】Oracle資料庫的例項啟動關閉詳解Oracle資料庫
- oracle關閉資料庫時沒反應的處理案例Oracle資料庫
- 深刻理解Oracle資料庫的啟動和關閉(轉)Oracle資料庫
- 資料庫關閉的學問 (轉)資料庫
- standby 資料庫的建立過程資料庫
- 資料庫的連線過程資料庫
- oracle 寫入資料的過程Oracle