Oracle中启动和关闭的各种方式
生活随笔
收集整理的這篇文章主要介紹了
Oracle中启动和关闭的各种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
shutdown 命令?
SHUTDOWN有四個參數:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不帶任何參數時表示是NORMAL。?
SHUTDOWN NORMAL:不允許新的連接、等待會話結束、等待事務結束、做一個檢查點并關閉數據文件。啟動時不需要實例恢復。?
SHUTDOWN TRANSACTIONAL:不允許新的連接、不等待會話結束、等待事務結束、做一個檢查點并關閉數據文件。啟動時不需要實例恢復。?
SHUTDOWN IMMEDIATE:不允許新的連接、不等待會話結束、不等待事務結束、做一個檢查點并關閉數據文件。沒有結束的事務是自動rollback的。啟動時不需要實例恢復。?
SHUTDOWN ABORT:不允許新的連接、不等待會話結束、不等待事務結束、不做檢查點且沒有關閉數據文件。啟動時自動進行實例恢復。
startup 命令
STARTUP OPEN:STARTUP缺省的參數就是OPEN,打開數據庫,允許數據庫的訪問。當前實例的控制文件中所描述的所有文件都已經打開。?
STARTUP MOUNT:MOUNT數據庫,僅僅給DBA進行管理操作,不允許數據庫的用戶訪問。僅僅只是當前實例的控制文件被打開,數據文件未打開。?
STARTUP NOMOUNT:僅僅通過初始化文件,分配出SGA區,啟動數據庫后臺進程,沒有打開控制文件和數據文件。不能任何訪問數據庫。?
STARTUP PFILE= filename:以filename為初始化文件啟動數據庫,不是采用缺省初始化文件。?
STARTUP FORCE:中止當前數據庫的運行,并開始重新正常的啟動數據庫。?
STARTUP RESTRICT:只允許具有RESTRICTED SESSION權限的用戶訪問數據庫。?
STARTUP RECOVER:數據庫啟動,并開始介質恢復。
=======================================
Oracle數據庫提供了幾種不同的數據庫啟動和關閉方式,本文將周詳介紹這些啟動和關閉方式之間的區別連同他們各自不同的功能。 一、啟動和關閉Oracle數據庫 對于大多數Oracle DBA來說,啟動和關閉Oracle數據庫最常用的方式就是在命令行方式下的Server Manager。從Oracle 8i以后,系統將Server Manager的任何功能都集中到了SQL*Plus中,也就是說從8i以后對于數據庫的啟動和關閉能夠直接通過SQL*Plus來完成,而不再另外需要Server Manager,但系統為了保持向下兼容,依舊保留了Server Manager工具。另外也可通過圖像用戶工具(GUI)的Oracle Enterprise Manager來完成系統的啟動和關閉,圖像用戶界面Instance Manager很簡單,這里不再詳述。 要啟動和關閉數據庫,必須要以具備Oracle 管理員權限的用戶登陸,通常也就是以具備SYSDBA權限的用戶登陸。一般我們常用INTERNAL用戶來啟動和關閉數據庫(INTERNAL用戶實際上是SYS用戶以SYSDBA連接的同義詞)。Oracle數據庫的新版本將逐步淘汰INTERNAL這個內部用戶,所以我們最好還是配置DBA用戶具備SYSDBA權限。 二、數據庫的啟動(STARTUP) 啟動一個數據庫需要三個步驟: 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 bytes 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; 而假如以STARTUP 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 這是關閉數據庫的最后一招,也是在沒有任何辦法關閉數據庫的情況下才不得不采用的方式,一般不要采用。假如下列情況出現時能夠考慮采用這種方式關閉數據庫。 1、 數據庫處于一種非正常工作狀態,不能用shutdown normal或shutdown immediate這樣的命令關閉數據庫; 2、 需要立即關閉數據庫; 3、 在啟動數據庫實例時碰到問題; 任何正在運行的SQL語句都將立即中止。任何未提交的事務將不回滾。Oracle也不等待現在連接到數據庫的用戶退出系統。下一次啟動數據庫時需要實例恢復,因此,下一次啟動可能比平時需要更多的時間。
總結
以上是生活随笔為你收集整理的Oracle中启动和关闭的各种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平时少用到的sql query
- 下一篇: 如何判断变量是否是数字