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