備份文件 = 生產數據完整副本。**備份洩露 = 數據洩露**。RMAN 原生支持 **備份集加密**,防止文件被竊取後直接恢復。
AES128 / AES192 / AES256 (推薦)RMAN> SHOW ENCRYPTION ALGORITHM; RMAN> CONFIGURE ENCRYPTION ALGORITHM 'AES256';
SQL> CREATE TABLESPACE rman_test DATAFILE '/u01/data/rman_test01.dbf' SIZE 100M; SQL> CREATE TABLE chf.t_encrypt TABLESPACE rman_test AS SELECT * FROM dba_objects; -- 86,721 行
RMAN> SET ENCRYPTION ON IDENTIFIED BY 'StrongPass#2024' ONLY; RMAN> BACKUP DATAFILE 5; -- 文件號 5 為 rman_test01.dbf Starting backup at 28-JAN-15 allocated channel: ORA_DISK_1 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00005 name=/u01/data/rman_test01.dbf channel ORA_DISK_1: starting piece 1 at 28-JAN-15 channel ORA_DISK_1: finished piece 1 at 28-JAN-15 piece handle=/u01/backup/2015_01_28/o1_mf_nnndf_TAG20150128T230115_bdkyfvlw_.bkp channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 28-JAN-15
關鍵:ONLY 表示**僅密碼模式**,不使用 Wallet。無密碼不可恢復。
RMAN> SQL 'ALTER DATABASE DATAFILE 5 OFFLINE'; $ rm /u01/data/rman_test01.dbf
| 場景 | 命令 | 結果 |
|---|---|---|
| 無密碼 | RESTORE DATAFILE 5; | ❌ ORA-19913: unable to decrypt backup ORA-28365: wallet is not open |
| 錯誤密碼 | SET DECRYPTION IDENTIFIED BY 'WrongPass'; RESTORE DATAFILE 5; | ❌ 同樣解密失敗 |
| 正確密碼 | SET DECRYPTION IDENTIFIED BY 'StrongPass#2024'; RESTORE DATAFILE 5; | ✅ 成功恢復,後續 RECOVER DATAFILE 5; SQL 'ALTER DATABASE DATAFILE 5 ONLINE'; 完成 |
SQL> SELECT COUNT(*) FROM chf.t_encrypt;
COUNT(*)
----------
86721
| 命令/參數 | 作用 |
|---|---|
CONFIGURE ENCRYPTION ALGORITHM 'AES256' | 持久化默認算法 |
SET ENCRYPTION ON IDENTIFIED BY 'pwd' ONLY | 當前會話啟用密碼加密 (僅密碼模式) |
SET ENCRYPTION ON IDENTIFIED BY 'pwd' | 密碼 + Wallet 雙模式 (任一可解密) |
SET DECRYPTION IDENTIFIED BY 'pwd' | 恢復會話指定解密密碼 |
SET DECRYPTION WALLET | 恢復會話使用 Wallet 解密 |
BACKUP AS COPY (Image Copy) **不支持加密**,需轉換為 BACKUPSET 或配合存儲層加密 (SAN/NAS/雲盤加密)。CONVERT。**RMAN 密碼模式加密是「零代碼、零架構變更、即開即用」的備份安全基線**。
核心三步:
1. CONFIGURE ENCRYPTION ALGORITHM 'AES256'
2. SET ENCRYPTION ON IDENTIFIED BY 'pwd' ONLY + BACKUP
3. SET DECRYPTION IDENTIFIED BY 'pwd' + RESTORE
將密碼納入核心機密管理體系,定期演練恢復,**讓備份文件在「被偷走」的那一刻依然是廢鐵**。