ORACLE數據庫的關閉與重啟


一、關閉數據庫

1、SHUTDOWN IMMEDIATE

這是我們常用的一種關閉數據庫的方式,想很快地關閉數據庫,但又想讓數據庫干凈的關閉,常采用這種方式。

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

二、啟動數據庫

啟動一個數據庫需要三個步驟:

1、 創建一個Oracle實例(非安裝階段)

2、 由實例安裝數據庫(安裝階段)

3、 打開數據庫(打開階段)

在Startup命令中,能夠通過不同的選項來控制數據庫的不同啟動步驟。

1、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

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;

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM