Oracle數據庫關閉和啓動命令

前言

先以sysdba登錄到sqlplus然後運行以下命令。
windows平臺下,oracle 中組成實例的後臺進程是由 oracle 服務派生出來的線程實現的,所以任務管理器看不見 DBWn 之類的後臺進程 (linux 平臺下 用 ps aux 命令是可以看見的)。shutdown 停掉實例過程,是關閉後臺進程(這裏對應線程)和釋放 SGA 內存。因爲關閉的是線程,所以在任務管理器中看不出變化。oracle 進程是用來派生後臺線程的服務進程,儘管他還在,實際上 oracle 實例已經停止了。停掉 oracle 服務,才能停掉 oracle 進程。
啓動一個數據庫需要三個步驟:
1、 創建一個Oracle實例(非安裝階段)
2、 由實例安裝數據庫(安裝階段)
3、 打開數據庫(打開階段)


關閉

SHUTDOWN NORMAL
這是數據庫關閉SHUTDOWN命令的確省選項。也就是說假如您發出SHUTDOWN這樣的命令,也即是SHUTDOWN NORNAL的意思。發出該命令後,任何新的連接都將再不允許連接到數據庫。在數據庫關閉之前,Oracle將等待現在連接的任何用戶都從數據庫中退出後纔開始關閉數據庫。採用這種方式關閉數據庫,在下一次啓動時無需進行任何的實例恢復。但需要注意一點的是,採用這種方式,也許關閉一個數據庫需要幾天時間,也許更長。

SHUTDOWN IMMEDIATE
這是我們常用的一種關閉數據庫的方式,想很快地關閉數據庫,但又想讓數據庫乾淨的關閉,常採用這種方式。當前正在被Oracle處理的SQL語句立即中斷,系統中任何沒有提交的事務全部回滾。假如系統中存在一個很長的未提交的事務,採用這種方式關閉數據庫也需要一段時間(該事務回滾時間)。系統不等待連接到數據庫的任何用戶退出系統,強行回滾當前任何的活動事務,然後斷開任何的連接用戶。

SHUTDOWN TRANSACTIONAL
該選項僅在Oracle 8i後才能夠使用。該命令常用來計劃關閉數據庫,他使當前連接到系統且正在活動的事務執行完畢,運行該命令後,任何新的連接和事務都是不允許的。在任何活動的事務完成後,數據庫將和SHUTDOWN IMMEDIATE同樣的方式關閉數據庫。

SHUTDOWN ABORT
這是關閉數據庫的最後一招,也是在沒有任何辦法關閉數據庫的情況下才不得不採用的方式,一般不要採用。假如下列情況出現時能夠考慮採用這種方式關閉數據庫。
1、 數據庫處於一種非正常工作狀態,不能用shutdown normal或shutdown immediate這樣的命令關閉數據庫;
2、 需要立即關閉數據庫;
3、 在啓動數據庫實例時碰到問題;
任何正在運行的SQL語句都將立即中止。任何未提交的事務將不回滾。Oracle也不等待現在連接到數據庫的用戶退出系統。下一次啓動數據庫時需要實例恢復,因此,下一次啓動可能比平時需要更多的時間。


開啓

STARTUP NOMOUNT
NOMOUNT選項僅僅創建一個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.

STARTUP RESTRICT
這種方式下,數據庫將被成功打開,但僅僅允許一些特權用戶(具備DBA角色的用戶)才能夠使用數據庫。這種方式常用來對數據庫進行維護,如數據的導入/導出操作時不希望有其他用戶連接到數據庫操作數據。

 STARTUP FORCE
該命令其實是強行關閉數據庫(shutdown abort)和啓動數據庫(startup)兩條命令的一個綜合。該命令僅在關閉數據庫碰到問題不能關閉數據庫時採用。

ALTER DATABASE OPEN READ ONLY
該命令在創建實例連同安裝數據庫後,以只讀方式打開數據庫。對於那些僅僅提供查詢功能的產品數據庫能夠採用這種方式打開。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章