首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 10g R2 RMAN 加密備份完整指南:三種模式與關鍵腳本

     編輯:Oracle 資料庫基礎

背景:為何需要備份加密?

備份檔案一旦離開資料庫保護範圍 (磁帶、異地複製、雲端儲存),極易遭竊取。10g R2 內建 RMAN 加密,無需第三方工具,還原時自動解密。

三種加密模式

模式適用場景前置條件RMAN 指令
Transparent (透明模式,預設)同一伺服器備份/還原已配置 Oracle Encryption Wallet (Advanced Security Option)SET ENCRYPTION ON;
Password (密碼模式)備份檔需傳送至異地/他機無需 Wallet,雙方約定密碼SET ENCRYPTION ON IDENTIFIED BY 'pwd' ONLY;
Dual-mode (雙重模式)平常本機還原,偶爾異地還原已配置 Wallet + 設定密碼SET ENCRYPTION ON IDENTIFIED BY 'pwd';

關鍵腳本範例

1. 透明模式備份

RUN {
    SET ENCRYPTION ON;
    BACKUP DATABASE PLUS ARCHIVELOG;
}

2. 密碼模式備份與還原

-- 備份
RUN {
    SET ENCRYPTION ON IDENTIFIED BY 'MySecurePwd123' ONLY;
    BACKUP DATABASE;
}

-- 還原 (需提供相同密碼)
RUN {
    SET DECRYPTION IDENTIFIED BY 'MySecurePwd123';
    RESTORE DATABASE;
    RECOVER DATABASE;
}

警告:密碼遺失 = 資料永久無法還原。建議將 RMAN 腳本本身也加密保護。

3. 雙重模式備份

RUN {
    SET ENCRYPTION ON IDENTIFIED BY 'MySecurePwd123';
    BACKUP DATABASE;
}
  • 本機有 Wallet → 自動透明解密。
  • 異機無 Wallet → 提示輸入密碼解密。

三大必注意事項

  1. 效能開銷:加密/解密需額外 CPU,備份時間顯著增加 (約 20-50% 視 CPU 與演算法)。
  2. 徹底測試:上線前務必完整演練 BACKUP → RESTORE → RECOVERY 全流程,確認金鑰/密碼正確。
  3. 時間預估:納入加密解密時間於備份視窗與 RTO/RPO 計算中。

Wallet 設定提醒

-- sqlnet.ora 需包含
ENCRYPTION_WALLET_LOCATION =
  (SOURCE (METHOD=FILE) (METHOD_DATA=(DIRECTORY=/etc/oracle/wallet)))

-- 建立 Wallet
orapki wallet create -wallet /etc/oracle/wallet -auto_login -pwd WalletPwd123
-- 加入主鍵
orapki wallet add -wallet /etc/oracle/wallet -dn "CN=oracle" -keysize 2048 -self_signed -validity 3650 -pwd WalletPwd123
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved