啟動/關閉與冷備份Oracle資料庫
啟動/關閉Oracle與冷備份資料庫
Oracle資料庫提供了幾種不同的資料庫啟動和關閉方式,對於大多數Oracle DBA來說,啟動和關閉Oracle資料庫最常用的方式就是在命令列方式下的Server Manager。另外也可透過圖形使用者工具(GUI)的Oracle Enterprise Manager來完成系統的啟動和關閉,圖形使用者介面Instance Manager非常簡單,這裡不再詳述。
從Oracle 8i以後,系統將Server Manager的所有功能都集中到了SQL*Plus中,也就是說從8i以後對於資料庫的啟動和關閉可以直接透過SQL*Plus來完成,而不再另外需要Server Manager,但系統為了保持向下相容,依舊保留了Server Manager工具。
要啟動和關閉資料庫,必須要以具有Oracle 管理員許可權的使用者登陸,通常也就是以具有SYSDBA許可權的使用者登陸。一般我們常用INTERNAL使用者來啟動和關閉資料庫(INTERNAL使用者實際上是SYS使用者以SYSDBA連線的同義詞)。新版本Oracle資料庫將逐步淘汰INTERNAL這個內部使用者,所以我們最好還是設定DBA使用者具有SYSDBA許可權。
[@more@]資料庫的啟動(StartUp)
啟動一個資料庫需要三個過程:
a 建立一個Oracle例項 (未裝載階段)
b 由例項安裝資料庫 (裝載階段)
c 開啟資料庫 (開啟階段)
在Startup命令中,可以透過不同的選項來控制資料庫的不同啟動步驟。
1. STARTUP NOMOUNT
NONOUNT選項僅僅建立一個Oracle例項。讀取init.ora初始化引數檔案、啟動後臺程式、初始化系統全域性區(SGA)。Init.ora檔案定義了例項的配置,包括記憶體結構的大小和啟動後臺程式的數量和型別等。例項名根據Oracle_SID設定,不一定要與開啟的資料庫名稱相同。當例項開啟後,系統將顯示一個SGA記憶體結構和大小的列表。
2. STARTUP MOUNT
該命令建立例項並裝載資料庫,但未開啟資料庫。Oracle系統讀取控制檔案中關於資料檔案和重作日誌檔案的內容,但並不開啟該檔案。這種開啟方式常在資料庫維護操作中使用,如對資料檔案的更名、改變重作日誌以及開啟歸檔方式等。在這種開啟方式下,除了可以看到SGA系統列表以外,系統還會給出"資料庫裝載完畢"的提示。
3. STARTUP
該命令全部完成建立例項、安裝例項和開啟資料庫的三個步驟。此時資料庫使資料檔案和重作日誌檔案線上,通常還會請求一個或者是多個回滾段。這時系統除了可以看到前面Startup Mount方式下的所有提示外,還會給出一個"資料庫已經開啟"的提示。此時,資料庫系統處於正常工作狀態,可以接受使用者請求。
注: ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
如果採用STARTUP NOMOUNT或者是STARTUP MOUNT的資料庫開啟命令方式,
要裝載資料庫、開啟資料庫必須執行ALTER DATABASE命令來操作。
4. 其他開啟方式
除了前面介紹的三種資料庫開啟方式選項外,還有另外其他的一些選項。
(1) STARTUP RESTRICT
這種方式下,資料庫將被成功開啟,但僅僅允許一些特權使用者(具有DBA角色的使用者)才可以使用資料庫。這種方式常用來對資料庫進行維護,如資料的匯入/匯出操作時不希望有其他使用者連線到資料庫運算元據。
(2) STARTUP FORCE
該命令其實是強行關閉資料庫(shutdown abort)和啟動資料庫(startup)兩條命令的一個綜合。該命令僅在關閉資料庫遇到問題不能關閉資料庫時採用。
(3) ALTER DATABASE OPEN READ ONLY;
該命令在建立例項以及安裝資料庫後,以只讀方式開啟資料庫。對於那些僅僅提供查詢功能的產品資料庫可以採用這種方式開啟。
資料庫的關閉(ShutDown)
對於資料庫的關閉,有四種不同的關閉選項:
1、SHUTDOWN NORMAL
這是資料庫關閉SHUTDOWN命令的預設選項。
發出該命令後,任何新的連線都將再不允許連線到資料庫。在資料庫關閉之前,Oracle將等待目前連線的所有使用者都從資料庫中退出後才開始關閉資料庫。採用這種方式關閉資料庫,在下一次啟動時不需要進行任何的例項恢復。
但需要注意一點的是,採用這種方式,也許關閉一個資料庫需要幾天時間,也許更長。
2、SHUTDOWN IMMEDIATE
這是較常用的一種關閉資料庫的方式,想很快地關閉資料庫,但又想讓資料庫乾淨的關閉,常採用這種方式。
當前正在被Oracle處理的SQL語句立即中斷,系統中任何沒有提交的事務全部回滾。如果系統中存在一個很長的未提交的事務,採用這種方式關閉資料庫也需要一段時間(該事務回滾時間)。系統不等待連線到資料庫的所有使用者退出系統,強行回滾當前所有的活動事務,然後斷開所有的連線使用者。
3、SHUTDOWN TRANSACTIONAL
該選項僅在Oracle 8i後才可用。該命令常用來計劃關閉資料庫,它使當前連線到系統且正在活動的事務執行完畢,執行該命令後,任何新的連線和事務都是不允許的。在所有活動的事務完成後,資料庫將和SHUTDOWN IMMEDIATE同樣的方式關閉資料庫。
4、SHUTDOWN ABORT
一般應謹慎採用。所有正在執行的SQL語句都將立即中止。所有未提交的事務將不回滾。Oracle也不等待目前連線到資料庫的使用者退出系統。下一次啟動資料庫時需要例項恢復,因此,下一次啟動可能比平時需要更多的時間。
當資料庫處於一種非正常工作狀態,用 shutdown normal或者shutdown immediate命令不能關閉資料庫時,或者 在啟動資料庫例項時遇到問題,可以採用此方式,
表1上述四種關閉資料庫的不同方式的區別和聯絡。
Abort | Immediate | Transaction | Normal | |
關閉方式 | × | × | × | × |
允許新的連線 | × | × | × | × |
等待直到當前會話中止 | × | × | × | √ |
等待直到當前事務中止 | × | × | √ | √ |
強制Checkpoint | × | √ | √ | √ |
資料庫的冷備份(Offline Backup)
Oracle資料庫的冷備份是作業系統級的備份,必須在資料庫關閉的情況下進行,當資料庫處於開啟狀態時,執行資料庫檔案系統備份是無效的。
冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的資料庫。冷備份是將關鍵性檔案複製到另外位置的一種說法。對於備份Oracle資訊而言,冷備份是最快和最安全的方法。冷備份的優點是:
·是非常快速的備份方法(只需複製檔案)
·容易歸檔(簡單複製即可)
·容易恢復到某個時間點上(只需將檔案再複製回去)
·能與歸檔方法相結合,作資料庫“最新狀態”的恢復。
·低度維護,高度安全。
但冷備份也有如下不足:
·單獨使用時,只能提供到“某一時間點上”的恢復。
·在實施備份的全過程中,資料庫必須處於關閉狀態而不能作其它工作。
·若磁碟空間有限,只能複製到磁帶等其它外部儲存裝置上,速度會很慢。
·不能按表或按使用者恢復。
冷備份中必須複製的檔案包括:
·所有資料檔案(Data Files)
·所有控制檔案(Control Files)
·所有聯機日誌 (REDO LOG Files)
·Init
如果可能的話(主要看效率),應將資訊備份到磁碟上,然後啟動資料庫,
並將所備份的資訊複製到磁帶上(使使用者可以工作;複製的同時,資料庫也可以工作)。
下面是做冷備份的完整例子:
(1) 關閉資料庫$sqldba lmode=y
SQLDBA > connect internal;
SQLDBA > shutdown normal;
(2) 用複製命令備份全部的時間檔案、重做日誌檔案、控制檔案、初始化引數檔案
SQLDBA >! cp < file > < backup directory >
(3) 重啟Oracle資料庫
$sqldba lmode=y
SQLDBA > connect internal;
SQLDBA > startup;
備註: 如果必要,可以對要備份的檔案進行壓縮打包:
wzzip.exe BakPath%filename%.zip pathname*.*
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7830804/viewspace-863117/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 熱備份/冷備份/ 冷啟動/熱啟動
- oracle資料庫的啟動關閉與各種服務Oracle資料庫
- 每天自動備份Oracle資料庫Oracle資料庫
- Oracle資料庫冷備和恢復Oracle資料庫
- oracle自動冷備份指令碼Oracle指令碼
- oracle資料庫備份之exp增量備份Oracle資料庫
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- Oracle OCP(60):冷備份Oracle
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- Oracle 12.2 Heavy swapping 資料庫自動關閉OracleAPP資料庫
- Oracle資料庫歸檔模式的開啟和關閉Oracle資料庫模式
- mysql的冷備份與熱備份MySql
- oracle uncatalog資料庫備份檔案Oracle資料庫
- db2資料庫的啟動和關閉DB2資料庫
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- 備份與恢復:polardb資料庫備份與恢復資料庫
- Mysql資料庫自動備份MySql資料庫
- openguass 3.1.0 資料庫啟動,關閉,狀態檢查資料庫
- Oracle資料庫備份還原詳解XKUSOracle資料庫
- 【Mongodb】資料庫備份與還原MongoDB資料庫
- postgresql備份與恢復資料庫SQL資料庫
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- 資料庫備份資料庫
- Oracle資料庫啟動步驟Oracle資料庫
- SQL Server2019資料庫備份與還原指令碼,資料庫可批量備份SQLServer資料庫指令碼
- oracle sqldeveloper選擇性複製備份資料庫OracleSQLDeveloper資料庫
- mongodb資料庫備份與恢復(資料庫資料遷移)MongoDB資料庫
- Oracle資料庫備份、災備的23個常見問題Oracle資料庫
- 資料庫備份與恢復技術資料庫
- 4 配置Oracle資料庫自動啟動Oracle資料庫
- 啟動與關閉服務
- mysql 資料庫 備份MySql資料庫
- 資料庫備份策略資料庫
- MongoDB資料庫備份MongoDB資料庫
- linux實現mysql資料庫每天自動備份定時備份LinuxMySql資料庫
- oracle冷備恢復Oracle
- 達夢資料庫的備份與還原資料庫
- MySQL-19.資料庫備份與恢復MySql資料庫
- mysql資料庫-備份與還原實操MySql資料庫