Oracle資料庫的啟動和關閉

tolywang發表於2007-03-26
啟動oracle資料庫的同時也就建立了一個資料庫例項,並且可以選擇資料庫啟動的狀態。通常,可以透過裝載和開啟資料庫來啟動例項,這樣任何一個有效的使用者都可以連結到例項並執行典型的資料庫訪問操作,下面介紹這方面的內容。

一、啟動資料庫的方法

啟動資料庫例項的方法有很多種,分別介紹如下:


1、使用SQL*PLUS 使用SQL*PLUS連線到具有管理員許可權的Oracle上,然後釋出startup命令,從而啟動資料庫。 2、使用Recovery Manager 即使用RMAN來執行startup和shutdown命令來啟動和關閉資料庫例項。若是在RMAN環境中最好使用這種方法,而不是呼叫SQL*PLUS方法。
3、使用Oracle Enterprise Manager 可以使用Oracle Enterprise Manager來管理oracle資料庫,當然也包含啟動和關閉資料庫。Oracle Enterprise Manager是一個獨立的oracle資料庫產品,它與圖形控制檯、代理程式、公用服務以及各種工具一起為管理oracle產品提供了一個整合的和複雜的系統管理平臺。

啟動資料庫例項的步驟:以沒有連線資料庫的方法啟動SQL*PLUS:sqlplus /nolog,然後作為SYSDBA連線到oracle:connect username/password as sysdba,至此,就連線到了oralce資料庫,並準備好啟動資料庫例項。接著使用startup命令來啟動資料庫例項,oracle必須從伺服器引數檔案或者傳統的文字初始化引數檔案中讀取例項配置檔案。當使用不帶pfile子句的startup命令時,oracle將從平臺指定的預設位置上的伺服器引數檔案(spfile)中讀取初始化引數。也可以指定初始化引數所在的位置,如startup pfile=/u01/oracle/dbs/init.ora。

啟動資料庫例項可以採用不同的模式:

1、啟動但沒有裝載資料庫例項,這種模式不允許訪問資料庫,並且通常只適用於資料庫建立或者控制檔案的重新建立的情況。要啟用這種資料庫模式,可以使用命令startup nomount來啟動資料庫例項。
2、啟動例項並裝載資料庫,但保持資料庫關閉狀態。這種模式適用於某些dba的動作,比如重新命名資料檔案、新增取消或者重新命名重做日誌檔案、執行完整的資料庫恢復操作,但不允許對資料庫的一般性訪問動作。要啟用這種資料庫模式,可以使用命令startup mount來啟動資料庫例項。
3、啟動例項,裝載並開啟資料庫。這種模式可以在不受限制的方式下使用,允許所有合法的使用者訪問。要啟用這種資料庫模式,可以使用命令startup來啟動資料庫例項。
4、迫使資料庫啟動,startup force。在一些特殊的情況下,可能會在啟動資料庫例項的時候遇到一些問題。一般不要迫使資料庫啟動,除非在以下的情況下:使用shutdown normal、shutdown immediate、shutdown transactional命令不能關閉當前的例項。如果正在執行某個例項,那麼在重新啟動例項前startup force可以使用abort模式關閉該例項。

二、改變資料庫的可用性

可以改變資料庫的可用性。這麼做的目的也許時因為維護的原因而限制訪問或者時資料庫只讀。
當需要執行特定的資料庫管理操作時,必須啟動資料庫並將其裝載在例項上,但資料庫必須時關閉的,透過啟動例項和裝載資料庫可以獲得這種方案。要裝載一個先前開啟的資料庫,但又不開啟例項,可以使用命令:alter database mount

透過開啟一個資料庫,使得已經裝載但是還處於關閉狀態的資料庫用於一般用途,可以使用命令alter database open。在執行這條語句之後,任何一個擁有create session系統許可權的有效的oracle使用者都能連線到該資料庫上。

以只讀模式開啟資料庫。只讀模式開啟資料庫可以保證資料檔案和重做日誌檔案不被重寫,但這種模式不會限制資料庫的恢復火車或者不生成重做的有關改變資料庫狀態的操作,例如,可以使資料檔案離線或者聯機,因為這些操作不影響資料內容。使用命令alter database open read only使資料庫處於只讀狀態。也可以使用讀寫模式開啟資料庫,alter database open read write。

三、關閉資料庫

要初始化資料庫的關閉操作,可以使用sql*plus的shutdown命令,在關閉操作完成之前,控制權不會返回到初始化資料庫關閉操作的會話中。當正在進行關閉操作時,若使用者試圖進行連線,那麼他會收到類似下面的資訊:
ORA-01090:shutdown in progress-connection is not permitted
要關閉資料庫例項,必須首先以sysdba或者sysoper進行連線。可以採用多種模式關閉資料庫,如,normal、immediate、transactional、abort等。至於他們的含義,請查閱有關資料。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=56240

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84541/,如需轉載,請註明出處,否則將追究法律責任。

相關文章