1. 程式人生 > >用RMAN進行Oracle的加密備份

用RMAN進行Oracle的加密備份

由於最近發生很多偷盜備份資料的事件,這使得越來越多的人更加關注保護資料備份的重要性了。從銀行、經濟行業、零售商店甚至是IRS中偷出載有數百萬使用者資料的匯出資料磁碟,它所造成的損失是無法預測的(資料來源:資料缺口的年表)。

一旦資料離開了Oracle資料庫的安全機制,它就極容易被偷取。在Oracle 10g Release 2(Oracle 10gR2)中,你可以對匯出的備份檔案進行加密,而不需要使用第三方工具對它進行加密和解密了。在恢復這些備份檔案的時候,Oracle會自動對這些資料進行解密。

在Oracle 10gR2中有三種方式可以進行加密操作,它們分別是:transparent (透明的,預設方式)、password(憑密碼的)、dual-mode(兩種形式都有)。

Transparent方式

Transparent方式適合於在同一個伺服器上進行備份,Oracle Encryption Wallet是Advanced Security option(高階安全選項)的一種,在使用前,必須先對它進行配置。Wallet包含加密/解密信任書。因為預設的方式是transparent方式,你可以把下面的指令碼加入到Recovery Manager (恢復管理器RMAN)指令碼中:

SET ENCRYPTION ON

Password方式

當你需要將備份檔案傳送到另外一個站點的時候,Password方式就非常有用了,它不需要事先在另一端設定。你可以將下列指令碼新增到RMAN備份指令碼中:

SET ENCRYPTION ON IDENTIFIED BY 'password' ONLY

當備份檔案帶有密碼的時候,你就必須提供原始密碼:

SET DECRYPTION IDENTIFIED BY 'password'

如果你把密碼遺失了,資料就不能恢復。同樣,為了確保RMAN指令碼的安全性,你同樣也可以對它使用密碼保護。

Dual-mode方式

Dual-mode方式既具有透明性又使用了密碼。如果你通常都同一個伺服器上進行恢復,但是偶爾也需要把它轉移到沒有安裝Oracle Encryption Wallet的其它伺服器上的話,這時候你就可以使用dual-mode這種方式了。這種方式與password方式類似,但是在這種方式下,如果備份檔案離開了自身的伺服器後就需要密碼了:

SET ENCRYPTION ON IDENTIFIED BY 'password'

緊記下面三點:第一,由於需要一些額外的開銷,對備份進行加密需要花很長的時間;第二,必須徹底地測試備份指令碼和恢復指令碼;第三,你需要估計一下加密和解密所花費的時間。