1. 程式人生 > >Oracle下啟動與關閉

Oracle下啟動與關閉

oracle startup shutdown

在Oracle下啟動與關閉大致都是由3個步驟完成,在啟動時分別是:啟動實例、加載數據庫、打開數據庫;關閉時分別是:關閉數據庫、卸載數據庫、關閉Oracle實例。所以在Oracle因為這種嚴謹的風格,使得在平時可以根據不同的情況根據需要,以不同的模式啟動和關閉數據庫。在這裏就簡要的說一說Oracle下的啟動與關閉,在Oracle下啟動與關閉部分需要使用sysdba的身份來執行,最好是服務器上通過系統身份驗證的方式操作,如下Unix環境中:

[oracle@localhost ~]$ sqlplus / as sysdba

首先,先來說一下Oracle中的啟動,啟動時所使用的參數如下:

STARTUP [nomount|mount|open|force|resetrict] [prife=filename]

Oracle在默認是會讀取運行用戶的家目錄下的初始化文件,所以如果使用prfile參數就是指定Oracle默認讀取的初始化文件,這個在以前有提過,在這裏就不做過多的說明,需要可以參看:http://blog.51cto.com/jim123/2053015

在啟動中有以下幾種模式啟動:

NOMOUNT 模式:表示啟動實例並不加載數據庫。在這種模式下表示啟動Oracle的內存結構和服務進程,期間並不加載數據庫也不打開數據文件,註意該模式需要有sysdba身份權限,該模式通常用於創建新數據庫或重建控制文件時使用

SQL> startup nomount
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes

MOUNT 模式:表示啟動實例、加載數據庫並保持數據庫的關閉狀態。在這種模式常常在進行數據維護時使用,如數據的恢復、更改數據庫的歸檔、數據庫的系統配置修改等等

SQL> startup mount
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.

OPEN 模式:啟動實例、加載並打開數據庫。平時最常用的模式,要讓Oracle所有用戶正常使用而必須使用的模式,缺省使用startup不帶任何參數就是使用該模式,也可以使用open在其他模式下啟動相應的功能

SQL> startup
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.

FORCE 模式:表示強制重啟數據庫,改模式具有一定的強制性,一般在其他模式已失效的情況下啟動

SQL> startup
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.
SQL> startup force
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.

RESETRICT 模式:表示啟動數據庫實例到限制模式,此時只有管理員和具有restricted session權限的用戶可以登錄數據庫,一般用於普通戶內部數據維護時使用

SQL> startup restrict
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
Database opened.

在Oracle中有啟動就用關閉,下面就來說一說Oracle中的關閉,關閉時所使用的參數如下:

SHUTDOWN [normal|transactional|immediate|abort]

NORMAL 方式:正常的關閉方式,期間阻止任何新的連接、等待當前所有用戶的session主動斷開,等所有用戶的session斷開後關閉數據庫,做一個檢查點並關閉數據文件,重新啟動時不需要實例恢復

SQL> shutdown normal
Database closed.
Database dismounted.
ORACLE instance shut down.

TRANSACTIONAL 方式:事務關閉方式,期間阻止任何新的連接、不等待所有用戶的session斷開,等所有用戶的事務提交結束後,做一個檢查點並關閉數據文件,重新啟動時不需要實例恢復

SQL> shutdown transactional
Database closed.
Database dismounted.
ORACLE instance shut down.

IMMEDIATE 方式:顧名思義立即關閉,這種方式下能盡可能短的關閉數據庫,期間阻止任何新的連接、不等待所有用戶的session斷開,不等所有用戶的事務提交結束,未結束的事務rollback回滾,做一個檢查點並關閉數據文件,重新啟動時不需要實例恢復

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

ABORT 方式:終止關閉方式,期間阻止任何新的連接、不等待所有用戶的session斷開,不等所有用戶的事務提交結束,不做檢查點且沒有關閉數據文件,啟動時自動進行實例恢復,該方式具有一定的破壞性,有可能會丟失部分數據,在平時應該盡量避免使用

SQL> shutdown abort
ORACLE instance shut down.

在這裏需要註意的是如果是使用ABORT 方式關閉數據庫時,雖然說下一次重啟時會自動進行實例恢復,但是不能保障在重啟的期間出現其他問題所以如果使用ABORT 方式關閉數據庫後建議再用MOUNT模式啟動後再用IMMEDIATE方式關閉數據庫用來修復數據庫,如下

SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 4275781632 bytes
Fixed Size                  2260088 bytes
Variable Size             905970568 bytes
Database Buffers         3355443200 bytes
Redo Buffers               12107776 bytes
Database mounted.
SQL> shutdown immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.

Oracle下啟動與關閉