作為數据庫管理員,首要目標是:保護數据。
使數据庫恢复到正常工作狀態叫做數据庫還原(Restoration)和數据恢复(Recovery),要恢复一個數据庫,必須保存數据內容的拷貝,這個拷貝就稱為備份。數据庫備份与恢复分為二种: 用戶管理和服務器管理。
[@more@]Oracle數据庫用戶管理備份策略意味著由管理員來實施備份和恢复操作。可以使用OS命令備份与恢复數据庫文件,使SQL*Plus Recover 語句或 sql alter database recover 語句來恢复數据庫。
Oracle 數据庫中包含的文件都是相互關聯的。數据文件与控制文件同步,重做日誌文件包含了數据文件內容的正在咝械娜照I并与控制文件狀態一致。
數据備份在數据庫關閉或打開二种狀態下均可完成。數据庫關閉時的備份是指在拷貝文件之前數据庫已經關閉,稱為一致性備份(冷備份),數据庫打開時的備份指備份期間仍然可以使用資料庫,稱為非一致性備份(熱備份)。
注: 如果備份期間數据文件一致,不用恢复便可打開數据庫,如果不一致,必須完成恢复使文件一致後方可打開數据庫。
物理恢复方法,以物理備份一樣,通過文件操作恢复到過去的某一時刻。物理恢复包含二部分:還原文件拷貝和恢复重做日誌文件中的事務。
數据塊層操作: RMAN數据庫備貨發生在數据塊層次。執行備份時,僅僅拷貝已被數据庫使用了的數据塊。增量備份時,只備份變化了數据塊。通過指定備份什么和在何种層次上備份,可以顯著的提高備份的速度,減輕服務器的工作負荷。
備份范圍: 控制文件(control file)、一個或多個數据文件(datafile 1,2,3)、一個或多個表空間(tablespace)、整個數据庫(database)、歸檔日誌(archiveLog)。
目錄: 關於數据庫備份和恢复中的爭論之一是記錄數据庫備份過程中的事件和細節。作為DBA經常會自動執行備份。需要恢复時,會匆忙尋找最近備份的細節。RMAN 對數据庫操作時,備份信息寫入備份數据庫的控制文件。備份時間、備份的文件以及備份層次等細節被存儲到正在備份的數据庫的控制文件中。控制文件丟失,備件記錄細節便也丟失。更重要的是RMAN丟失了恢复過程中所需的備份信息。RMAN還可以使用目錄存儲數据庫備份和恢复細節。這個目錄是表、視圖、序列的摘要,包含了所有數据庫備份的歷史。可以將這這個目錄信息放在网絡上任意一個Oracle數据庫中。需要恢复時,RMAN使用目錄(catalog)中的信息還原和恢复中斷的數据庫。
用RMAN進行備份時,RMAN會把備份的信息寫入到被備份數据庫的控制文件(ControlFile)中,控制文件坏了,也就找不到所要的信息,所以也可以把備份信息寫入目錄(Catalog),放在网絡上的其它Oracle數据庫中!
存儲腳本: 發布RMAN命令時,可以啟動RMAN程式後,輸入相應的指令,也可以把一系統列指令存成一個文件,在RMAN中調用這個文件,這樣可以完成一些自動的操作,并可以把一組命令腳本放在恢复管理器目錄中(Recovery Manager Catalog),就如在SQL*Plus 中調用存儲過程(Procedure)一樣!
SQL解釋器: 在RMAN下,可以鍵入SQL命令完成數据庫的操作。如打開或關閉數据庫!
恢复管理器的功能: 使用恢复管理器可以完成許多數据庫任務,這些任務同在使用物理數据庫恢复操作時一樣。使用RMAN,每一步操作將變得簡單,簡化了物理操作的複雜性。
數据庫文件拷貝: 如果想創建數据文件或控制文件的映像拷貝,RMAN可以完成這項任務,同物理熱備份!
複製數据庫: 使用RMAN ,可以創建整個數据庫的完整拷貝。這种數据庫複製工作可以在同一机器或不同机器上完成。RMAN中的模擬克隆命令是複製數据庫命令。 使用 RMAN,拷貝整個數据庫只需要 DUPLICATE DATABASE 二個單詞!
備用數据庫: RMAN也可以創建備用數据庫。這個備用數据庫可以在主數据庫中斷時作為失效恢复的數据庫使用。
表空間時間點恢复: 表空間時間點恢复可以由RMAN命令完成。使用RMAN,可以使除了指定的一個或多個表空間之外的所有數据庫部分保持當前狀態。能過這种方式,將數据庫丟失數据減少到最少的同時將博空間的內容恢复到失效或者錯誤發生的時刻!
-- RMAN備份只備份數据塊改變的數据,而不是整個數据文件 -- RMAN要在歸檔模式下 -- 改變數据庫為歸檔模式 SYS@HUIYI>select dbid,name,log_mode from v$database; DBID NAME LOG_MODE ---------- ------------------ ------------------------ 2592573446 HUIYI NOARCHIVELOG SYS@HUIYI>shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SYS@HUIYI>startup mount; ORACLE instance started. Total System Global Area 143727516 bytes Fixed Size 453532 bytes Variable Size 109051904 bytes Database Buffers 33554432 bytes Redo Buffers 667648 bytes Database mounted. SYS@HUIYI>alter database archivelog; Database altered. SYS@HUIYI>alter database open; Database altered. SYS@HUIYI>select dbid,name,log_mode from v$database; DBID NAME LOG_MODE ---------- ------------------ ------------------------ 2592573446 HUIYI ARCHIVELOG SYS@HUIYI>create tablespace tbs01 2 datafile 'g:a9ioradatatbs01.dbf' size 20M autoextend off 3 / Tablespace created. E:>rman Recovery Manager: Release 9.2.0.1.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. RMAN> connect target / connected to target database: HUIYI (DBID=2592573446) RMAN> report schema; using target database controlfile instead of recovery catalog Report of database schema File K-bytes Tablespace RB segs Datafile Name ---- ---------- -------------------- ------- ------------------- 1 337920 SYSTEM *** G:A9IORADATAHUIYISYSTEM01.DBF 2 204800 UNDOTBS1 *** G:A9IORADATAHUIYIUNDOTBS01.DBF 3 20480 DRSYS *** G:A9IORADATAHUIYIDRSYS01.DBF 4 149120 EXAMPLE *** G:A9IORADATAHUIYIEXAMPLE01.DBF 5 25600 INDX *** G:A9IORADATAHUIYIINDX01.DBF 6 20480 ODM *** G:A9IORADATAHUIYIODM01.DBF 7 10240 TOOLS *** G:A9IORADATAHUIYITOOLS01.DBF 8 25600 USERS *** G:A9IORADATAHUIYIUSERS01.DBF 9 39040 XDB *** G:A9IORADATAHUIYIXDB01.DBF 10 20480 TBS01 *** G:A9IORADATATBS01.DBF RMAN> backup datafile 10; Starting backup at 06-Mar-07 14:59:36 allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=12 devtype=DISK channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00010 name=G:A9IORADATATBS01.DBF channel ORA_DISK_1: starting piece 1 at 06-Mar-07 14:59:37 channel ORA_DISK_1: finished piece 1 at 06-Mar-07 14:59:38 piece handle=G:A9IDATABASE2IBUKAP_1_1 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 06-Mar-07 14:59:38 E:>dir G:A9IDATABASE2IBUKAP_1_1 Volume in drive G is 訓練場 Volume Serial Number is 1473-45BB Directory of G:A9IDATABASE 2007-03-06 下午 02:59 86,016 02IBUKAP_1_1 1 File(s) 86,016 bytes 0 Dir(s) 27,790,827,520 bytes free -- 可以看出備份出來的文件遠遠小於數据文件實際的大小
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8799875/viewspace-902992/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8799875/viewspace-902992/