oracle資料庫不同啟動命令和關閉命令全面解析

煙花丶易冷發表於2014-04-25
startup nomount/mount/open的區別

nomount:讀初始化引數檔案、啟動例項。
startup nomount選項啟動例項,但不安裝資料庫,當資料庫以這個模式啟動時,引數檔案被讀取;後臺程式和記憶體結構被啟動;
但它們不被附加或與資料庫的磁碟結構進行通訊,當資料庫處於這個狀態時,資料庫是不可被使用的。
這種方式啟動下可執行重建控制檔案、重建資料庫;

SQL> startup nomount
ORACLE 例程已經啟動。

Total System Global Area 1686925312 bytes
Fixed Size                  2176368 bytes
Variable Size            1056967312 bytes
Database Buffers          620756992 bytes
Redo Buffers                7024640 bytes
SQL>


mount:開啟控制檔案
startup mount 選項啟動例項,載入資料庫但不開啟資料庫,但另外附加資料庫結構並與這些結構進行互動;
這時oracle從它用來查詢和附加到主要資料庫結構的控制檔案中獲得資訊;
當處於這個模式時,可以執行一些管理型任務,比如恢復
SQL> startup mount;
ORACLE 例程已經啟動。


Total System Global Area 1686925312 bytes
Fixed Size                  2176368 bytes
Variable Size            1056967312 bytes
Database Buffers          620756992 bytes
Redo Buffers                7024640 bytes
資料庫裝載完畢。
SQL>


open:開啟資料檔案,日誌檔案
startup 選項後沒有指定任何模式,就是預設的啟動模式啟動了例項,資料庫處於開啟狀態
SQL> startup
ORACLE 例程已經啟動。

Total System Global Area 1686925312 bytes
Fixed Size                  2176368 bytes
Variable Size            1056967312 bytes
Database Buffers          620756992 bytes
Redo Buffers                7024640 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL>


STARTUP FORCE:中止當前資料庫的執行,並開始重新正常的啟動資料庫。


三者之間要想切換不能用startup命令,可以用alter database nomount/mount/open 進行切換,並且只能從低往高切換;或者先關閉資料庫再用startup命令切換  
補充:資料庫切換到只讀模式 alter database db open read only;


shutdown normal/transactional/immediate/abort

normal :不允許新的連線、等待會話結束、等待事務結束,做一個檢查點並關閉資料檔案。啟動時不需要例項恢復。

transactional
:不允許新的連線、不等待會話結束、不等待事務結束,不做檢查點且沒有關閉資料檔案,啟動時自動進行例項恢復。

immediate
:不允許新的連線、不等待會話結束、不等待事務結束,做一個檢查點且沒有關閉資料檔案,啟動時自動進行例項恢復

abort
: 不允許新的連線、不等待會話結束、不等待事務結束,不做檢查點且沒有關閉資料檔案,啟動時自動進行例項恢復

另外,對於NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的內容寫入了資料檔案,沒有提交的事務被回滾,所有的資源被釋放,資料庫被“乾淨”的關閉。 














         

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29618264/viewspace-1149770/,如需轉載,請註明出處,否則將追究法律責任。

相關文章