Oracle數(shù)據(jù)庫(kù)備份的基礎(chǔ)知識(shí)歸納
以下的文章主要是對(duì)Oracle數(shù)據(jù)庫(kù)備份的基礎(chǔ)知識(shí)的介紹,其中包括Oracle數(shù)據(jù)庫(kù)備份在實(shí)際操作中所說使用的結(jié)構(gòu) ,在線日志的內(nèi)容的介紹 ,以及歸檔日志與Oracle數(shù)據(jù)庫(kù)的相關(guān)角色管理。
一、Oracle數(shù)據(jù)庫(kù)備份所使用的結(jié)構(gòu)
Oracle數(shù)據(jù)庫(kù)使用幾種結(jié)構(gòu)來保護(hù)數(shù)據(jù):數(shù)據(jù)庫(kù)后備、日志、回滾段和控制文件。
1.?dāng)?shù)據(jù)庫(kù)后備是由構(gòu)成Oracle數(shù)據(jù)庫(kù)的物理文件的操作系統(tǒng)后備所組成。當(dāng)介質(zhì)故障時(shí)進(jìn)行數(shù)據(jù)庫(kù)恢復(fù),利用后備文件恢復(fù)毀壞的數(shù)據(jù)文件或控制文件。
2.每一個(gè)Oracle數(shù)據(jù)庫(kù)實(shí)例都提供日志,記錄數(shù)據(jù)庫(kù)中所作的全部修改。每一個(gè)運(yùn)行的Oracle數(shù)據(jù)庫(kù)實(shí)例相應(yīng)地有一個(gè)在線日志,它與Oracle后臺(tái)進(jìn)程LGWR一起工作,立即記錄該實(shí)例所作的全部修改。歸檔(離線)日志是可選擇的,一個(gè)Oracle數(shù)據(jù)庫(kù)實(shí)例一旦在線日志填滿后,可形成在線日志歸檔文件。歸檔的在線日志文件被***標(biāo)識(shí)并合并成歸檔日志。
3.回滾段用于存儲(chǔ)正在進(jìn)行的事務(wù)(為未提交的事務(wù))所修改值的老值,該信息在數(shù)據(jù)庫(kù)恢復(fù)過程中用于撤消任何非提交的修改。
4.控制文件,一般用于存儲(chǔ)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)的狀態(tài)??刂莆募心承顟B(tài)信息在實(shí)例恢復(fù)和介質(zhì)恢復(fù)期間用于引導(dǎo)Oracle。
二、在線日志
一個(gè)Oracle數(shù)據(jù)庫(kù)的每一實(shí)例有一個(gè)相關(guān)聯(lián)的在線日志。一個(gè)在線日志由多個(gè)在線日志文件組成。在線日志文件(online redo log file)填入日志項(xiàng)(redo entry),日志項(xiàng)記錄的數(shù)據(jù)用于重構(gòu)對(duì)數(shù)據(jù)庫(kù)所作的全部修改。
三、歸檔日志
Oracle要將填滿的在線日志文件組歸檔時(shí),則要建立歸檔日志(archived redo log)。其對(duì)Oracle數(shù)據(jù)庫(kù)備份和恢復(fù)有下列用處:
1.?dāng)?shù)據(jù)庫(kù)后備以及在線和歸檔日志文件,在操作系統(tǒng)和磁盤故障中可保證全部提交的事物可被恢復(fù)。
2.在數(shù)據(jù)庫(kù)打開和正常系統(tǒng)使用下,如果歸檔日志是***保存,在線后備可以進(jìn)行和使用。
數(shù)據(jù)庫(kù)可運(yùn)行在兩種不同方式下:NOARCHIVELOG方式或ARCHIVELOG 方式。數(shù)據(jù)庫(kù)在NOARCHIVELOG方式下使用時(shí),不能進(jìn)行在線日志的歸檔。如果數(shù)據(jù)庫(kù)在ARCHIVELOG方式下運(yùn)行,可實(shí)施在線日志的歸檔。
四、Oracle的備份特性
Oracle備份包括邏輯備份和物理備份。
1.邏輯備份
數(shù)據(jù)庫(kù)的邏輯備份包含讀一個(gè)數(shù)據(jù)庫(kù)記錄集和將記錄集寫入文件。
(1)輸出(Export)輸出可以是整個(gè)數(shù)據(jù)庫(kù)、指定用戶或指定表。
(2)輸入(Import)輸入將輸出建立的二進(jìn)制轉(zhuǎn)儲(chǔ)文件讀入并執(zhí)行其命令。
2.物理備份
物理備份包含拷貝構(gòu)成數(shù)據(jù)庫(kù)的文件而不管其邏輯內(nèi)容。
Oracle支持兩種不同類型的物理文件備份:脫機(jī)備份(offline backup)和聯(lián)機(jī)備份(online backup)。
(1) 脫機(jī)備份 脫機(jī)備份用在當(dāng)數(shù)據(jù)庫(kù)已正常關(guān)閉,數(shù)據(jù)庫(kù)處于"offline"時(shí),要備份下列文件:
所有數(shù)據(jù)文件
所有控制文件
所有聯(lián)機(jī)日志
init.ora(可選的)
(2) 聯(lián)機(jī)備份
聯(lián)機(jī)備份可用來備份任何運(yùn)作在ARCHIVELOG方式下的數(shù)據(jù)庫(kù)。在這種方式下,聯(lián)機(jī)日志被歸檔,在數(shù)據(jù)庫(kù)內(nèi)部建立一個(gè)所有作業(yè)的完整記錄。
聯(lián)機(jī)備份過程具備強(qiáng)有力的功能。***,提供了完全的時(shí)間點(diǎn)(point-in-time)恢復(fù)。第二,在文件系統(tǒng)備份時(shí)允許數(shù)據(jù)庫(kù)保持打開狀態(tài)。
備份方式特性比較
方式 類型 恢復(fù)特性
Export 邏輯 可以將任何數(shù)據(jù)庫(kù)對(duì)象恢復(fù)到輸出時(shí)的狀態(tài)
Offline Backups 物理 可把數(shù)據(jù)庫(kù)恢復(fù)到關(guān)閉的狀態(tài):若數(shù)據(jù)庫(kù)運(yùn)行在ARCHIVELOG方式,就可恢復(fù)到任何時(shí)間點(diǎn)的狀態(tài)。
Online Backups 物理 可把數(shù)據(jù)庫(kù)恢復(fù)到任何時(shí)間點(diǎn)
五、Oracle數(shù)據(jù)庫(kù)的角色管理
Oracle數(shù)據(jù)庫(kù)系統(tǒng)在利用角色管理數(shù)據(jù)庫(kù)安全性方面采取的基本措施有:
通過驗(yàn)證用戶名稱和口令,防止非Oracle用戶注冊(cè)到Oracle數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行非法存取操作。
授予用戶一定的權(quán)限,限制用戶操縱數(shù)據(jù)庫(kù)的權(quán)力。
授予用戶對(duì)數(shù)據(jù)庫(kù)實(shí)體的存取執(zhí)行權(quán)限,阻止用戶訪問非授權(quán)數(shù)據(jù)。
提供Oracle數(shù)據(jù)庫(kù)實(shí)體存取審計(jì)機(jī)制,使數(shù)據(jù)庫(kù)管理員可以監(jiān)視數(shù)據(jù)庫(kù)中數(shù)據(jù)的存取情況和系統(tǒng)資源的使用情況。
采用視圖機(jī)制,限制存取基表的行和列集合。
【編輯推薦】