標籤:oracle 資料庫 啟動與關閉
Oracle資料庫startup和shutdown方式
要啟動和關閉資料庫,必須要以具有Oracle 管理員權限使用者登陸,通常也就是以具有SYSDBA許可權使用者登陸。一般我們常用INTERNAL使用者來啟動和關閉資料庫(INTERNAL使用者實際上是SYS使用者以SYSDBA串連同義字)。Oracle資料庫新版本將逐步淘汰INTERNAL這個內部使用者,所以我們最還是設定DBA使用者具有SYSDBA許可權。
二:啟動一個資料庫需要三個步驟
1、建立一個Oracle執行個體(非安裝階段)
2、由執行個體安裝資料庫(安裝階段)
3、 開啟資料庫(開啟階段)
三:Startup(啟動資料庫命令)
1、 STARTUP NOMOUNT
NONOUNT選項僅僅建立一個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 bytesu
Redo Buffers 77824 bytes
2、STARTUP MOUNT
該命令建立執行個體並且安裝資料庫,但沒有開啟資料庫。Oracle系統讀取控制檔案中關於資料檔案和重作記錄檔內容,但並不開啟該檔案。這種開啟檔案常在資料庫維護操作中使用,如對資料檔案更名、改變重作日誌以及開啟歸檔方式等。在這種開啟檔案下,除了可以看到SGA系統列表以外,系統還會給出"資料庫裝載完畢"提示。
3、STARTUP
該命令完成建立執行個體、安裝執行個體和開啟資料庫所有三個步驟。此時資料庫使資料檔案和重作記錄檔線上,通常還會請求一個或者是多個復原段。這時系統除了可以看到前面Startup Mount方式下所有提示外,還會給出一個"資料庫已經開啟"提示。此時,資料庫系統處於正常工作狀態,可以接受使用者請求。
如果採用STARTUP NOMOUNT或者是STARTUP MOUNT資料庫開啟命令方式,必須採用ALTER DATABASE命令來執行開啟資料庫操作。例如,如果你以STARTUP NOMOUNT方式開啟資料庫,也就是說執行個體已經建立,但是資料庫沒有安裝和開啟。這是必須運行下面兩條命令,資料庫才能正確啟動。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN
4、其他開啟檔案
除了前面介紹三種資料庫開啟檔案選項外,還有另外其他一些選項。
(1) STARTUP RESTRICT
這種方式下,資料庫將被成功開啟,但僅僅允許一些特權使用者(具有DBA角色使用者)才可以使用資料庫。這種方式常用來對資料庫進行維護,如資料匯入/匯出操作時不希望有其他使用者串連到資料庫操作資料。
(2) STARTUP FORCE
該命令其實是強行關閉資料庫(shutdown abort)和啟動資料庫(startup)兩條命令一個綜合。該命令僅在關閉資料庫遇到問題不能關閉資料庫時採用。
(3) ALTER DATABASE OPEN READ ONLY;
該命令在建立執行個體以及安裝資料庫後,以唯讀方式開啟資料庫。對於那些僅僅提供查詢功能產品資料庫可以採用這種方式開啟。
四:資料庫關閉(SHUTDOWN)
1、SHUTDOWN NORMAL
這是資料庫關閉SHUTDOWN命令確省選項。也就是說如果你發出SHUTDOWN這樣命令,也即是SHUTDOWN NORNAL意思。
發出該命令後,任何新串連都將再不允許串連到資料庫。在資料庫關閉之前,Oracle將等待目前串連所有使用者都從資料庫中退出後才開始關閉資料庫。採用這種方式關閉資料庫,在下一次啟動時不需要進行任何執行個體恢複。但需要注意一點是,採用這種方式,也許關閉一個資料庫需要幾天時間,也許更長。
2、SHUTDOWN IMMEDIATE
這是我們常用一種關閉資料庫方式,想很快地關閉資料庫,但又想讓資料庫乾淨關閉,常採用這種方式。
當前正在被Oracle處理SQL語句立即中斷,系統中任何沒有提交事務全部復原。如果系統中存在一個很長未提交事務,採用這種方式關閉資料庫也需要一段時間(該交易回復時間)。系統不等待串連到資料庫所有使用者退出系統,強行復原當前所有活動事務,然後斷開所有串連使用者。
3、SHUTDOWN TRANSACTIONAL
該選項僅在Oracle 8i後才可以使用。該命令常用來計劃關閉資料庫,它使當前串連到系統且正在活動事務執行完畢,運行該命令後,任何新串連和事務都是不允許。在所有活動事務完成後,資料庫將和SHUTDOWN IMMEDIATE同樣方式關閉資料庫。
4、SHUTDOWN ABORT
這是關閉資料庫最後一招,也是在沒有任何辦法關閉資料庫情況下才不得不採用方式,一般不要採用。如果下列情況出現時可以考慮採用這種方式關閉資料庫。
啟動資料庫
SQL> conn /as sysdba
SQL> alter database mount;
SQL> alter database open;
關閉資料庫
SQL> shutdown immediate;
oracle 啟動與關閉