Oracle DBA學習筆記 STARTUP詳解

2021-12-29 19:46:01 字數 3556 閱讀 8299

oracle dba學習筆記-startup詳解

一、命令解析

startup options | upgrade_options

options為:[force] [restrict] [pfile=filename] [quiet] [ mount [dbname] | [ open [open_options] [dbname] ] | nomount ], nomount、mount、open為startup的三個階段,不能在命令中同時存在。其中,open_options為:read | recover。

upgrade_options為:[pfile=filename] [quiet]

www.2cto.com  

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後,資料庫需關閉和正常重啟。

www.2cto.com  

二、使用說明

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)

www.2cto.com  

副本資料庫是主資料庫的乙個完全相同的副本,可以為災難繼續提供資料庫的可用性。副本資料庫永遠都處於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)開啟例項,裝載預設的資料庫,並開啟資料庫。 

www.2cto.com  

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 

ST表 學習筆記

概念 st表是用來求解區間最大值的一種優秀的離線演算法,它可以 o n logn o nlogn o nlog n 預處理,然後o 1 查詢,如何實現呢?思想運用了近似於區間dp的方法,乙個大區間有小區間轉移得到,不同的是,我們定義st i k st i k st i k 表示從第i ii個位置起,...

ST表學習筆記

st表是一種利用dp思想求解最值的倍增演算法 st表常用於解決rmq問題,即求解區間最值問題 接下來以求最大值為例分步講解一下st表的建立過程 1.定義 f i j 表示 i,i 2j 1 這個長度為2j的區間中的最大值 2.預處理 f i 0 a i 即區間 i,i 的最大值就是a i 3.狀態轉...

Oracle DBA 學習日記

一 oracle資料庫啟動與關閉 1,oracle server主要由兩部門組成 instance 例項 和database 資料庫 其中,instance是指一組後台程序 執行緒和一塊共享記憶體區域 database就是指儲存在磁碟上的一批物理檔案 2,資料庫啟動過程有3個狀態 nomount狀態...