oracle資料庫的啟動與關閉過程詳解
在釋出startup命令啟動資料庫時,oracle將在預設位置$ORACLE_HOME/dbs(UNIX/Linux)中查詢初始化引數檔案。Oracle將以下面的順序在其中尋找合適的初始化檔案
Ø Spfile$ORACLE_SID.ora
Ø Spfile.ora
Ø Init$ORACLE_SID.ora
可以用幾種方式啟動oracle資料庫。
a) STARTUP NOMOUNT命令
可以在SQL*Plus會話中使用STARTUP NOMOUNT命令啟動例項,這樣啟動僅有例項執行。如果以這種方式啟動,將不讀控制檔案,而且資料檔案也不開啟。作業系統啟動Oracle後臺程式,並且給oracle分配SGA。事實上,只有例項本身在執行。
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 75498852 bytes
Database Buffers 88080384 bytes
Redo Buffers 2945024 bytes
SQL>
有時在某些維護操作和恢復過程中,不能開啟資料庫讓大家訪問。在此情形下可以以這種方式啟動。在資料庫建立過程中且必須重建控制檔案時,也需要使用nomount啟動模式。
b) STARTUP MOUNT命令
在啟動過程中,例項啟動後的下一步是安裝資料庫。在安裝步驟中,oracle把例項與資料庫關聯。Oracle開啟並讀取控制檔案,獲取資料檔案和重做日誌檔案的名稱和位置。
如果已經以以非安裝模式啟動了資料庫,應該使用一下命令:
SQL> alter database mount;
資料庫已更改。
SQL>
為了以安裝模式直接啟動,可使用如下命令:
SQL> startup mount;
ORACLE 例程已經啟動。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 75498852 bytes
Database Buffers 88080384 bytes
Redo Buffers 2945024 bytes
資料庫裝載完畢。
SQL>
在進行諸如全資料庫恢復、更改資料庫的歸檔日誌模式或重新命名資料檔案這一類的活動時,通常需要以安裝模式啟動資料庫。請注意,這三種操作都要求oracle訪問資料檔案,但不提供對檔案的使用者操作。
c) STARTUP OPEN命令
啟動過程的最後一步是開啟資料庫。當資料庫以開啟模式啟動時,所有有效使用者可以連線到資料庫,執行資料庫操作。在此步驟之前,一般使用者根本就不能連線到資料庫。透過釋出下面的命令讓資料庫出於開啟模式:
SQL> alter database open;
資料庫已更改。
SQL>
更常見的是使用STARTUP命令同時安裝和開啟資料庫:
SQL> startup;
ORACLE 例程已經啟動。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 75498852 bytes
Database Buffers 88080384 bytes
Redo Buffers 2945024 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL>
為了開啟資料庫,oracle伺服器首先開啟所有資料檔案和聯機重做日誌檔案,並確認資料庫是一致的。如果資料庫不一致,例如,如果控制檔案中的SCN與資料檔案頭中的某些SCN不匹配,則後臺程式將自動在開啟資料庫前進行一個例項恢復。如果需要介質恢復而不是例項恢復,oracle將指出需要資料庫恢復,並且在你完成恢復前不能開啟資料庫。
2、 命令列關閉資料庫
為進行某種型別的備份或者軟體的升級等活動,可能需要關閉一個正在執行的資料庫,關閉資料庫有幾種方式。所選擇的方式將影響關閉資料庫所花費的時間,並且在重啟資料庫時可能需要進行資料庫例項恢復。下面是關閉資料庫的4種可用方式。
a) SHUTDOWN NORMAL命令
如下發布此命令:
SQL>shutdown normal;
以下是SHUTDOWN NORMAL命令的詳細說明:
Ø 一旦釋出此命令,不允許任何使用者進行新的連線;
Ø 在關閉資料庫之前,oracle等待所有的使用者退出會話;
Ø 重啟資料庫時不需要例項恢復,因為oracle會在關閉以前把所有重做日誌緩衝區和資料塊緩衝區內容寫入磁碟,從而使資料庫關閉時是一致的;
Ø Oracle關閉資料檔案並終止後臺程式,釋放記憶體。
b) SHUTDOWN TRANSACTIONAL命令
如果不想等待某使用者退出而花費很長時間,可以使用SHUTDOWN TRANSACTIONAL命令,如下發布此命令:
SQL>shutdown transactional;
以下是SHUTDOWN TRANSACTIONAL命令的詳細說明:
Ø 一旦釋出此命令,不允許任何使用者進行新的連線;
Ø 現有使用者不能啟動新事務,並且將斷開連線;
Ø 如果某使用者有一個正在執行的事務,在斷開該使用者的連線前,oracle將等待直到該事務完成;
Ø 重啟資料庫時不需要例項恢復,因為oracle會在關閉以前把所有重做日誌緩衝區和資料塊緩衝區內容寫入磁碟,從而使資料庫關閉時是一致的;
Ø 在所有現有事務完成後,oracle關閉例項並釋放記憶體;
c) SHUTDOWN IMMEDIATE命令
有時,在決定關閉資料庫時,某使用者可能正在執行非常長得事務。在這樣的情形下,前面介紹的兩種方式都不適用。可以使用SHUTDOWN IMMEDIATE命令關閉資料庫。如下發布此命令:
SQL>shutdown immediate;
以下是SHUTDOWN IMMEDIATE命令的詳細說明:
Ø 一旦釋出此命令,不允許任何使用者進行新的連線;
Ø 立即斷開所有使用者的連線;
Ø 終止所有當前正在執行的事務;
Ø 對於所有半途終止的事務,oracle將進行回退,使資料庫保持一致。隨後終止後臺程式並釋放記憶體。
Ø 重啟資料庫時不需要例項恢復,因為它在關閉時是一致的。
d) SHUTDOWN ABORT命令
就oracle而言,使用這個選項相當於斷電。如下發布此命令:
SQL>shutdown abort;
下面是SHUTDOWN ABORT命令的詳細說明:
Ø 一旦釋出此命令,不允許任何使用者進行新的連線;
Ø 現有會話被終止,不管它們是否有活動的事務;
Ø 不回退被終止的事務;
Ø 不將重做日誌緩衝區和資料緩衝區寫到磁碟;
Ø 終止後臺程式、立即釋放記憶體並關閉資料庫;
Ø 在重啟時,oracle將執行自動例項恢復,因為不能保證資料庫在關閉時是一致的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26194851/viewspace-709256/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 資料庫例項啟動關閉過程Oracle資料庫
- Oracle資料庫的啟動與關閉Oracle資料庫
- 【02】Oracle資料庫的例項啟動關閉詳解Oracle資料庫
- oracle資料庫的關閉過程Oracle資料庫
- Oracle資料庫啟動過程及狀態詳解Oracle資料庫
- SQL Server資料庫啟動過程詳解SQLServer資料庫
- Oracle資料庫啟動過程Oracle資料庫
- Oracle資料庫的啟動和關閉Oracle資料庫
- 啟動/關閉與冷備份Oracle資料庫Oracle資料庫
- RAC 資料庫的啟動與關閉資料庫
- oracle資料庫的啟動關閉與各種服務Oracle資料庫
- ORACLE資料庫的啟動和關閉(轉)Oracle資料庫
- 隨系統啟動關閉的oracle資料庫Oracle資料庫
- oracle 啟動 關閉步驟詳解Oracle
- 啟動、關閉與資料庫的特殊狀態資料庫
- 資料庫啟動過程資料庫
- ORACLE資料庫的啟動和關閉之二(轉)Oracle資料庫
- Oracle資料庫的幾種啟動和關閉方式Oracle資料庫
- 深刻理解Oracle資料庫的啟動和關閉Oracle資料庫
- 深刻理解 oracle 資料庫的啟動和關閉Oracle資料庫
- 資料庫自動啟動關閉資料庫
- 資料庫啟動和關閉資料庫
- oracle資料庫啟動過程大揭祕Oracle資料庫
- oracle啟動與關閉Oracle
- 深刻理解Oracle資料庫的啟動和關閉(轉)Oracle資料庫
- rac 管理 啟動關閉資料庫資料庫
- oracle 10G R2 RAC 資料庫的關閉與啟動(ZT)Oracle 10g資料庫
- Oracle RAC 啟動與關閉Oracle
- dataguard standby資料庫的關閉和啟動資料庫
- oracle 正常關閉shutdown immediate與開啟open資料庫alertOracle資料庫
- oracle資料庫不同啟動命令和關閉命令全面解析Oracle資料庫
- oracle建庫過程詳解Oracle
- informix 資料庫啟動關閉指令碼ORM資料庫指令碼
- Mysql 5.5 資料庫啟動關閉命令MySql資料庫
- oracle控制檔案與資料庫啟動的關係Oracle資料庫
- MySQL資料庫啟動過程的簡述MySql資料庫
- Oracle日常運維操作總結-資料庫的啟動和關閉Oracle運維資料庫
- Oracle學習系列—Windows下資料庫程式的啟動和關閉OracleWindows資料庫