[Oracle DBA學習筆記] STARTUP詳解

來源:互聯網
上載者:User
說明:參考資料庫版本:10.0.2

一、命令解析

STARTUP options | upgrade_options

options為:[FORCE] [RESTRICT] [PFILE=filename] [QUIET] [ MOUNT [dbname] | [ OPEN [open_options] [dbname] ] | NOMOUNT ], NOMOUNT、MOUNT、OPEN為startup的三個階段,不能在命令中同時存在。其中,open_options為:READ {ONLY | WRITE [RECOVER]} | RECOVER。

upgrade_options為:[PFILE=filename] {UPGRADE | DOWNGRADE} [QUIET]

1、FORCE解析:強制開啟資料庫,在open之前會先執行shutdown,相當於shutdown abort; startup open。在當前執行個體正在啟動並執行情況下,如果不使用FORCE的話,startup時會報錯。FORCE可以在調試環境或非生產環境中使用,需慎用。

2、RESTRICT解析:以此模式開啟的資料庫只有擁有RESTRICTED SESSION系統許可權的使用者才能串連。開啟後,可以使用ALTER SYSTEM命令將該狀態設為disable,以關閉restricted將資料庫正常開啟。

3、PFILE=filename解析:使用指定的檔案中的參數開啟執行個體。在未使用PFILE的情況下,startup以預設參數檔案中的參數開啟。在UNIX系統中,該檔案預設為$ORACLE_HOME/dbs/init$ORACLE_SID.ora;在Windows系統中,該檔案預設為%ORACLE_HOME%\database\initSID.ora。

4、QUIET解析:使用該選項將致使執行個體在開啟過程中不顯示SGA的相關資訊

5、MOUNT dbname解析:以MOUNT方式開啟執行個體,如果未指定dbname,則開啟以參數檔案中DB_NAME參數指定的資料庫。

6、OPEN解析:以OPEN方式開啟執行個體

7、NOMOUNT解析:以NOMOUNT方式開啟執行個體

8、RECOVER解析:該選項可以引導startup在開啟執行個體之前進行完全恢複,與RECOVER DATABASE命令的功能相同。若要開啟自動回復,可將AUTORECOVERY參數值設為ON。如果redo記錄檔未在指定位置,在根據提示指定備用的記錄檔後,即使未開啟自動回復,recovery仍可繼續進行。

9、UPGRADE解析:以OPEN UPGRADE方式開啟執行個體,並且設定特定參數值,使得能夠運行upgrade指令碼。只有在第一次開啟一個新版本的資料庫時才可使用UPGRADE選項。當使用該選項時,運行upgrade指令碼可將當前安裝的資料庫版本升級為一個更新的版本。完成upgrade後,資料庫需關閉和正常重啟。

10、DOWNGRADE解析:以OPEN DOWNGRADE方式開啟執行個體,並且設定特定參數,似的能夠運行downgrade指令碼。當使用該選項時,運行downgrade指令碼可將當前安裝的資料庫版本降為一個更舊的版本。完成downgrade後,資料庫需關閉和正常重啟。

二、使用說明

  1、必須以SYSOPER或SYSDBA身份串連才有許可權執行startup

  2、未帶任何參數的startup相當於 STARTUP OPEN

  3、STARTUP OPEN RECOVER 即使在恢複失敗的情況下,仍舊會載入並開啟執行個體

三、執行個體和資料庫的開啟

STARTUP會分三步開啟資料庫,分別為:1、Start and instance(NOMOUNT);2、Mount the database(MOUNT);3、Open the database(OPEN)

1、Start and instance

  在NOMOUNT狀態下,ORACLE開啟一個執行個體,它會讀取SPFILE或者PFILE指定參數檔案中已定義好的初始參數值。進而分配 SGA 共用記憶體區並建立後台進程。可以使用RESTRICT和FORCE選項開啟執行個體。在RESTRICT模式下,只允許DBA做以下工作:

  執行結構維護,如重建索引;

  執行資料庫檔案的匯入匯出;

  執行資料庫裝載;

  臨時阻止使用者使用資料。

2、Mount the database

  以MOUNT方式載入資料庫,執行個體會根據初始化參數CONTROL_FILES指定的值找到並開啟控制檔案,從控制檔案中擷取資料檔案和重做記錄檔的資訊。在此狀態下,資料庫仍舊處於關閉狀態,只允許具有資料庫系統管理權限的部分使用者對資料庫進行操作,例如:

  重新命名資料檔案;

  添加、撤銷或重新命名重做記錄檔;

  啟動和禁止重做日誌歸檔;

  執行全部的資料庫恢複。

  2.1 裝載RAC

  可以設定初始化參數CLUSTER_DATABASE為true,以裝載多個資料庫。預設情況下該初始化參數值為false,即將以獨佔的方式裝載資料庫。在第一個執行個體以CLUSTER_DATABASE=TRUE裝載資料庫之後,後續的執行個體也以CLUSTER_DATABASE=TRUE裝載資料庫。

  2.2 裝載副本資料庫(standby database)

  副本資料庫是主要資料庫的一個完全相同的副本,可以為災難繼續提供資料庫的可用性。副本資料庫永遠都處於RECOVERY模式。只能使用ALTER DATABASE命令將資料庫以standby模式裝載,在standby模式下應用主要資料庫產生的歸檔重做日誌。只能以READ ONLY開啟(OPEN)副本資料庫

  2.3 裝載複製資料庫(clone database)

  複製資料庫是專門用於資料表空間時間點恢複(point-in-time recovery)的資料庫副本。在執行時間點恢複時,裝載複製資料庫並將資料庫恢複到預期的時間,則將從複製資料庫匯入中繼資料(metadata)到主要資料庫、複製資料表空間中的資料檔案到主要資料庫

3、Open the database

  以OPEN方式開啟資料庫,至此資料庫才算完全開啟。資料庫在開啟時開啟線上(online)資料檔案和重做記錄檔。如果資料表空間在上一次資料庫關閉時處於offline狀態,則在重新開啟資料庫時該資料表空間依舊保持offline狀態。如果有資料檔案或者重做記錄檔存在異常,則ORACLE將返回錯誤。在開啟資料庫時,執行個體會試圖擷取undo資料表空間。如果初始化參數UNDO_MANAGEMENT值為AUTO,則執行個體自動管理UNDO。初始化參數UNDO_MANAGEMENT預設值為MANUAL。如果使用資料表空間管理UNDO,則會自動管理UNDO,此為推薦模式;如果使用復原段(rollback segment)管理UNDO空間,則使用MANUAL方式管理。如果資料庫非正常關閉,並且存在分散的有疑議的事務,無論是已提交還是已復原,當你重新開啟資料庫並完全恢複時,後台進程RECO能夠自動地、立即地、永久地完成此工作。

四、樣本

1、 STARTUP

  以預設參數檔案(SPFILE)開啟執行個體,裝載預設的資料庫,並開啟資料庫。

2、 STARTUP OPEN dbname

  以預設參數檔案(SPFILE) 開啟執行個體,裝載資料庫dbname,並開啟資料庫。

3、 STARTUP FORCE RESTRICT MOUNT

4、 STARTUP PFILE=init_dbname.ora NOMOUNT

5、 STARTUP FORCE RESTRICT PFILE=init_dbname.ora OPEN dbname

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.