1、Oracle數據庫幾種啓動方式數據庫
一、startup nomount工具
非安裝啓動,這種方式下啓動可執行:重建控制文件、重建數據庫,讀取init.ora文件,啓動instance,即啓動SGA和後臺進程,這種啓動只須要init.ora文件。spa
二、startup mount (dbname)命令行
安裝啓動,這種方式啓動下可執行:數據庫日誌歸檔、數據庫介質恢復、使數據文件聯機或脫機、從新定位數據文件、重作日誌文件。rest
執行「nomount」,而後打開控制文件,確認數據文件和聯機日誌文件的位置,但此時不對數據文件和日誌文件進行校驗檢查。日誌
三、startup open (dbname)orm
先執行「nomount」,而後執行「mount」,再打開包括Redo log文件在內的全部數據庫文件,這種方式下可訪問數據庫中的數據。進程
四、startup 等於如下三個命令內存
startup nomount資源
alter database mount
alter database open
五、startup restrict
約束方式啓動,這種方式可以啓動數據庫,但只容許具備必定特權的用戶訪問,非特權用戶訪問時,會出現如下提示:
ERROR:ORA-01035: ORACLE 只容許具備 RESTRICTED SESSION 權限的用戶使用
六、startup force
強制啓動方式,當不能關閉數據庫時,能夠用startup force來完成數據庫的關閉,先關閉數據庫,再執行正常啓動數據庫命令
七、startup pfile=參數文件名
帶初始化參數文件的啓動方式,先讀取參數文件,再按參數文件中的設置啓動數據庫
例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora
八、startup EXCLUSIVE
獨佔和共享啓動
2、Oracle三種關閉方式
一、shutdown normal
正常方式關閉數據庫
二、shutdown immediate
當即方式關閉數據庫,在SVRMGRL中執行shutdown immediate,數據庫並不當即關閉,而是在Oracle執行某些清除工做後才關閉(終止會話、釋放會話資源),當使用
shutdown不能關閉數據庫時,shutdown immediate能夠完成數據庫關閉的操做。
三、shutdown abort
直接關閉數據庫,正在訪問數據庫的會話會被忽然終止,若是數據庫中有大量操做正在執行,這時執行shutdown abort後,從新啓動數據庫須要很長時間。
3、詳解
Oracle數據庫提供了幾種不一樣的數據庫啓動和關閉方式,本文將具體介紹這些啓動和關閉方式之間的區別以及它們各自不一樣的功能。
1、啓動和關閉Oracle數據庫
對於大多數Oracle DBA來講,啓動和關閉Oracle數據庫最經常使用的方式就是在命令行方式下的Server Manager。從Oracle 8i之後,系統將Server Manager的全部功能都
集中到了SQL*Plus中,也就是說從8i之後對於數據庫的啓動和關閉能夠直接經過SQL*Plus來完成,而再也不另外須要Server Manager,但系統爲了保持向下兼容,依舊保留了
Server Manager工具。另外也可經過圖形用戶工具(GUI)的Oracle Enterprise Manager來完成系統的啓動和關閉,圖形用戶界面Instance Manager很是簡單,這裏再也不
詳述。要啓動和關閉數據庫,必需要以具備Oracle 治理員權限的用戶登錄,一般也就是以具備SYSDBA權限的用戶登錄。通常咱們經常使用INTERNAL用戶來啓動和關閉數據庫
(INTERNAL用戶其實是SYS用戶以SYSDBA鏈接的同義詞)。Oracle數據庫的新版本將逐步淘汰INTERNAL這個內部用戶,因此咱們最好仍是設置DBA用戶具備SYSDBA
權限。
2、數據庫的啓動(STARTUP)
啓動一個數據庫須要三個步驟:
一、 建立一個Oracle實例(非安裝階段)
二、 由實例安裝數據庫(安裝階段)
三、 打開數據庫(打開階段)
在Startup命令中,能夠經過不一樣的選項來控制數據庫的不一樣啓動步驟。
一、STARTUP NOMOUNT
NONOUNT選項僅僅建立一個Oracle實例。讀取init.ora初始化參數文件、啓動後臺進程、初始化系統全局區(SGA)。Init.ora 文件定義了實例的配置,包括內存結構的大小
和啓動後臺進程的數量和類型等。實例名根據Oracle_SID設置,不必定要與打開的數據庫名稱相同。當實例打開後,系統將顯示一個SGA內存結構和大小的列表,以下所示:
SQL> startup nomount
ORACLE 例程已經啓動。
Total System Global Area 35431692 bytes
Fixed Size 70924 bytes
Variable Size 18505728 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
二、STARTUP MOUNT
該命令建立實例而且安裝數據庫,但沒有打開數據庫。Oracle系統讀取控制文件中關於數據文件和重做日誌文件的內容,但並不打開該文件。這種打開方式常在數據庫維護操
做中使用,如對數據文件的改名、改變重做日誌以及打開歸檔方式等。在這種打開方式下,除了能夠看到SGA系統列表之外,系統還會給出\"數據庫裝載完畢\"的提示。
三、STARTUP
該命令完成建立實例、安裝實例和打開數據庫的全部三個步驟。此時數據庫使數據文件和重做日誌文件在線,一般還會請求一個或者是多個回滾段。這時系統除了能夠看到前
面Startup Mount方式下的全部提示外,還會給出一個\"數據庫已經打開\"的提示。此時,數據庫系統處於正常工做狀態,能夠接受用戶請求。假如採用STARTUP NOMOUNT
或者是STARTUP MOUNT的數據庫打開命令方式,必須採用ALTER DATABASE命令來執行打開數據庫的操做。例如,假如你以STARTUP NOMOUNT方式打開數據庫,也就
是說實例已經建立,可是數據庫沒有安裝和打開。這是必須運行下面的兩條命令,數據庫才能正確啓動。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
而假如以STARTUP MOUNT方式啓動數據庫,只須要運行下面一條命令便可以打開數據庫:
ALTER DATABASE OPEN.
四、其餘打開方式
除了前面介紹的三種數據庫打開方式選項外,還有另外其餘的一些選項。
(1) STARTUP RESTRICT
這種方式下,數據庫將被成功打開,但僅僅答應一些特權用戶(具備DBA角色的用戶)纔可使用數據庫。這種方式經常使用來對數據庫進行維護,如數據的導入/導出操做時不希
望有其餘用戶鏈接到數據庫操做數據。
(2) STARTUP FORCE
該命令實際上是強行關閉數據庫(shutdown abort)和啓動數據庫(startup)兩條命令的一個綜合。該命令僅在關閉數據庫碰到問題不能關閉數據庫時採用。
(3) ALTER DATABASE OPEN READ ONLY;
該命令在建立實例以及安裝數據庫後,以只讀方式打開數據庫。對於那些僅僅提供查詢功能的產品數據庫能夠採用這種方式打開。