在SQL Plus中啟動和關閉oracle資料庫

2021-05-27 14:32:38 字數 3681 閱讀 9782

關閉資料庫

與資料庫啟動一樣,有幾個可供選擇的選項用於關閉資料庫。無論在什麼情況下,讀者都需要弄清楚這些關閉選項

關閉資料庫的語法是:shutdown [ normal | transactional | immediate | abort ]

注意:如果不在windows服務中事先關閉oracledbcontrolsid,則使用shutdown或shutdown normal 來關閉資料庫時沒有相應結果,但其他幾個選項有響應結果。

一、 normal(正常)選項

shutdown 和 shutdown normal 作用相同,使用帶有normal選項的shutdown語句將以正常方式關閉資料庫。用normal選項時,oracle將執行如下操作:

1、 阻止任何使用者建立新的連線

2、 等待當前所有正在建立連線的使用者主動斷開連線。正在連線的使用者能夠繼續他們當前的工作,甚至能夠提交新的事務。

3、 一旦所有的使用者都斷開連線,才能進行關閉、解除安裝資料庫,並終止例程。

注意:按這個選項關閉資料庫,則在下次啟動資料庫時不需要進行任何恢復操作。

二、 transactional(事務處理)選項

transactional選項比normal選項稍微主動些,他能在盡可能短的時間內關閉資料庫。按transactional選項關閉資料庫時,oracle將等待所有未提交的事務完成後再關閉資料庫。用transactional選項關閉資料庫時,oracle將執行如下操作:

1、 阻止任何使用者建立新的連線,同時阻止當前連線的使用者開始任何新的事務。

2、 等待所有當前未提交的活動事務提交完畢,然後立即斷開使用者的連線。

3、 一旦所有的使用者都斷開連線,才進行關閉、解除安裝資料庫,並終止例程 。

注意:按這個選項關閉資料庫,則在下次啟動資料庫時不需要進行任何恢復操作。

三、 immediate(立即)選項

通常在以下幾種情況下需要使用該選項來關閉資料庫

1、 即將啟動自動資料庫備份操作

2、 即將發生電力**中斷

3、 資料庫本身或者某個資料庫應用程式發生異常,並且這時候無法通知使用者主動斷開連線,或者資料庫使用者本身無法制定斷開操作

使用immediate選項關閉資料庫時,oracle將執行如下操作:

1、 阻止任何使用者建立新的連線,同時阻止當前連線的使用者開始任何新的事務。

2、 任何當前未提交的事務均被退回

3、 oracle不再等待使用者主動斷開連線,而是直接關閉、解除安裝資料庫,並終止例程。

注意:按這個選項關閉資料庫,則在下次啟動資料庫時不需要進行任何恢復操作。

四、 abort(終止)選項

通常在以下情況下可以考慮使用abort選項來關閉資料庫

1、 資料庫本身或者某個資料庫應用程式發生異常,並且使用其他選項均無效

2、 出現緊急情況,需要立刻關閉資料庫

3、 在啟動資料庫例程時產生錯誤

用abort選項來關閉資料庫時,oracle將執行如下操作:

1、 阻止任何使用者建立新的連線,同時阻止當前連線的使用者開始任何新的事務。

2、 立即結束當前正在執行的sql語句

3、 任何未提交的事務均不被回退

4、 立即斷開所有的使用者的連線,關閉、解除安裝資料庫,並終止例程

啟動資料庫

資料庫有三種啟動模式,分別代表啟動資料庫的三個步驟。當資料庫管理員使用startup命令時,可以指定不同的選項來決定將資料庫的啟動推進到哪個啟動模式。在進入某個模式後,可以使用alter database命令來將資料庫提公升到更高的啟動模式,但是不能使資料庫降低到前面的啟動模式。

啟動模式

說明

對應的介面提示資訊

nomount

啟動例程,但不裝載資料庫,即只完成啟動步驟的第一步

oracle例程已經啟動

mount

啟動例程,裝載資料庫,但不開啟資料庫,即只完成啟動步驟的第一步和第二步

oracle例程已經啟動

資料庫裝載完畢

open

啟動例程,裝載資料庫,開啟資料庫,即完成全部的三個步驟

oracle例程已經啟動

資料庫裝載完畢

資料庫已經開啟

啟動資料庫的語法是:startup [ nomount | mount | open | forse ] [ restrict ] [ pfile = 'pfile_name' ];

一、 nomount選項

該選項只建立例程,但不裝在資料庫。oracle讀取引數檔案,僅為例程建立各種記憶體結構和後台服務程序,使用者能夠與資料庫進行通訊,但不能使用資料庫中的任何檔案。

如果要執行下列維護工作,就必須使用該選項來啟動資料庫:

1、 執行乙個建立新資料庫的指令碼

2、 重建控制檔案

二、 mount選項

該選項不僅建立歷程,還裝載資料庫,但卻不開啟資料庫。oracle讀取控制檔案,並從中獲取資料庫名稱、資料檔案的位置、名稱等資料庫物理結構的資訊,為下一步開啟資料庫做好準備。

在這種模式下,僅資料庫管理員可以通過部分命令修改資料庫,使用者還無法與資料庫建立連線或會話。這在進行一些特定的資料庫維護工作時是十分必要的。

如果要執行下列維護工作,就必須使用該選項啟動資料庫:

1、 重新命名、增加、刪除資料檔案和重做日誌檔案

2、 執行資料庫的完全恢復

3、 改變資料庫的歸檔模式

三、 open選項

該選項不僅建立例程,還裝載資料庫,並且開啟資料庫。這是正常的啟動模式。如果startup語句沒有指定任何選項,那就是使用該選項進行德啟動。

將資料庫設定為開啟狀態後,任何具有create session許可權的使用者都能連線到資料庫,並且進行常規的資料訪問操作。

四、 forse選項

如果在正常方式啟動資料庫時遇到了困難,則可以使用forse選項啟動。forse選項與正常啟動選項之間的差別在於無論資料庫處於什麼模式,都可以使用該選項,即forse選項首先關閉異常資料庫,然後在重新啟動他,而不需要事先用shutdown語句關閉資料庫。 

五、 restrict選項

用該選項啟動資料庫時,會將資料庫啟動到open模式,但此時只有擁有restricted session   許可權的使用者才能訪問資料庫。如果需要在資料庫處於open模式下執行維護任務,又要保證此時其他使用者不能再資料庫上建立連線和執行任務,則需要使用restrict 選項來開啟資料庫,以便完成以下任務:

1、 執行資料庫資料的匯入或匯出操作

2、 執行資料庫裝載操作(用sql*loader)

3、 暫時阻止一般的使用者使用資料

4、 進行資料庫移植或公升級

當工作進行完畢後,可以使用 alter system disable restrict session 語句來禁用restricted session,以便一般使用者能連線並使用資料庫。

六、 pfile選項

資料庫例程在啟動的時候必須讀取乙個初始化引數檔案,oracle必須從初始化引數檔案中獲得有關例程的引數配置資訊。如果在執行startup語句時沒有指定pfile 選項,oracle將首先讀取預設位置的伺服器初始化引數檔案(spfile),如果沒有找到預設的伺服器初始化引數檔案,oracle將繼續讀取預設的文字初始化引數檔案(pfile),如果也沒有找到文字初始化引數檔案,啟動就會失敗。

使用startup語句時可以通過pfile選項指定乙個文字初始化引數檔案。

SQLPlus 啟動與關閉Oracle資料庫

sqlplus 中啟動與關閉資料庫 啟動sqlplus,以sysdba角色登入資料庫。以windows 7 平台為例,首先啟動oracleservicesid sid為資料庫名字 服務,否則sqlplus無法登入。登入後在sqlplus中使用命令關閉資料庫 此時oracleservicesid服務不...

在SQLPLUS啟動和停止Oracle資料庫

在sqlplus啟動和停止oracle資料庫 1 啟動 sql connect system manager as sysdba sql startup open 資料庫例項名 另一種啟動方法是 先安裝該資料庫,然後通過alter database命令開啟.sql connect system ma...

在SQLPLUS啟動和停止Oracle資料庫

1 啟動 sql connect system manager as sysdba sql startup open 資料庫例項名 另一種啟動方法是 先安裝該資料庫,然後通過alter database命令開啟.sql connect system manager as sysdba sql sta...