三種Oracle RMAN備份加密策略(上)
說明:本篇參考eygle老師的作品《Oracle DBA手記4:資料安全警示錄》,特此表示感謝。
資料安全,特別是企業核心業務資料的安全問題,是當今全社會共同關注的問題。從前幾天轟轟烈烈的攜程服務終止,風聞資料庫被刪除事件,到去年多次發生的網際網路公司使用者賬號密碼外洩風波,都不斷挑戰業界緊繃的神經。在當今社會,資料就是財富已經不是烏托邦,而是徹徹底底的現實。出現過資訊洩露安全事故的企業,在商譽和品牌上的損失都是難以評估的。
從資訊系統的角度看,備份是我們DBA的命脈,也是我們的“後手”。只要有備份,只要資料不丟,都有迴旋的餘地和空間。針對備份的安全,也是各種資訊化安全標準均重要強調之處。
備份的安全,主要體現在兩個層面上:備份有效性和備份不被非法使用。備份有效性是運維人員的噩夢,關鍵場合卻發現備份不可用或者有壞塊,是足以讓運維人員吐血的場景。備份不被非法使用,是保證備份集合資料不會被非法的還原到其他環境中去。
作為Oracle官方推薦的備份恢復工具,RMAN提供了三種安全加密策略來確保備份不被非法使用。本篇主要來介紹這三種基本策略。
1、環境介紹
筆者選擇Oracle 11g進行測試,版本編號為11.2.0.4。
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
為了使用rman進行熱備份,開啟歸檔模式。
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
RMAN備份安全的三種策略分別為:密碼口令安全、Oracle Wallet安全和混合加密安全。
下面分別介紹三種策略:
2、密碼口令安全
密碼口令安全如其名稱,就是在加密解密過程中都需要互動式的密碼輸入。配置密碼口令就在RMAN本身的配置中即可。
RMAN> show encryption for database ;
RMAN configuration parameters for database with db_unique_name SICSSTB are:
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
RMAN> show encryption algorithm;
RMAN configuration parameters for database with db_unique_name SICSSTB are:
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
預設RMAN是不啟用加密機制的。加密問題一定跟隨著加密演算法,預設加密演算法為AES128。檢視檢視v$RMAN_ENCRYPTION_ALGORITHMS,可以看到當前可以使用的加密演算法。
SQL> select * from v$rman_encryption_algorithms;
ALGORITHM_ID ALGORITHM_NAME ALGORITHM_DESCRIPTION IS_DEFAULT RESTORE_ONLY
------------ --------------- ------------------------- ---------- ------------
1 AES128 AES 128-bit key YES NO
2 AES192 AES 192-bit key NO NO
3 AES256 AES 256-bit key NO NO
使用口令加密,首先使用set encryption命令設定上口令。
RMAN> set encryption on identified by 'test' only;
executing command: SET encryption
RMAN> show encryption for database;
RMAN configuration parameters for database with db_unique_name SICSSTB are:
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
注意後面的only標記,一定要加入進來。
下面可以進行備份:
RMAN> backup database plus archivelog;
Starting backup at 08-JUN-15
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=137 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
(篇幅原因,有省略……)
Starting Control File and SPFILE Autobackup at 08-JUN-15
piece handle=+RECO/sicsstb/autobackup/2015_06_08/s_881833159.266.881833159 comment=NONE
Finished Control File and SPFILE Autobackup at 08-JUN-15
備份集合狀態:
RMAN> list backup;
List of Backup Sets
===================
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
1 14.01M DISK 00:00:00 08-JUN-15
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20150608T093841
(篇幅原因,有省略……)
BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20150608T093919
Piece Name: +RECO/sicsstb/autobackup/2015_06_08/s_881833159.266.881833159
SPFILE Included: Modification time: 08-JUN-15
SPFILE db_unique_name: SICSSTB
Control File Included: Ckp SCN: 2685935 Ckp time: 08-JUN-15
重啟進入mount狀態,嘗試恢復。
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
RMAN> connect target /
connected to target database (not started)
RMAN> startup mount;
Oracle instance started
database mounted
Total System Global Area 2087780352 bytes
Fixed Size 2254824 bytes
Variable Size 553650200 bytes
Database Buffers 1526726656 bytes
Redo Buffers 5148672 bytes
嘗試進行恢復。
RMAN> restore database ;
Starting restore at 08-JUN-15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=131 device type=DISK
(篇幅原因,有省略……)
channel ORA_DISK_1: reading from backup piece +RECO/sicsstb/backupset/2015_06_08/nnndf0_tag20150608t093842_0.263.881833123
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 06/08/2015 09:46:38
ORA-19870: error while restoring backup piece +RECO/sicsstb/backupset/2015_06_08/nnndf0_tag20150608t093842_0.263.881833123
ORA-19913: unable to decrypt backup
ORA-28365: wallet is not open
備份集合被加密,不能讀取。只能進行解密之後才能使用。
RMAN> set decryption identified by 'test';
executing command: SET decryption
之後再進行恢復操作。
RMAN> restore database;
Starting restore at 08-JUN-15
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to +DATA/sicsstb/datafile/system.256.878897771
channel ORA_DISK_1: restoring datafile 00002 to +DATA/sicsstb/datafile/sysaux.257.878897773
channel ORA_DISK_1: restoring datafile 00003 to +DATA/sicsstb/datafile/undotbs1.258.878897773
channel ORA_DISK_1: restoring datafile 00004 to +DATA/sicsstb/datafile/users.259.878897773
channel ORA_DISK_1: restoring datafile 00005 to +DATA/sicsstb/datafile/example.265.878897857
channel ORA_DISK_1: reading from backup piece +RECO/sicsstb/backupset/2015_06_08/nnndf0_tag20150608t093842_0.263.881833123
channel ORA_DISK_1: piece handle=+RECO/sicsstb/backupset/2015_06_08/nnndf0_tag20150608t093842_0.263.881833123 tag=TAG20150608T093842
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
Finished restore at 08-JUN-15
RMAN> recover database;
Starting recover at 08-JUN-15
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 08-JUN-15
RMAN> alter database open;
database opened
那麼,最後如何關閉這個屬性呢?使用set encryption即可。
RMAN> set encryption off;
executing command: SET encryption
這種策略,是比較簡單的RMAN備份集合加密策略。一般正式運維場景下,是不使用這個的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2126332/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 三種Oracle RMAN備份加密策略(下)Oracle加密
- 三種OracleRMAN備份加密策略(上)Oracle加密
- RMAN加密備份的三種方式加密
- Oracle備份及備份策略及基於Linux下 Oracle 備份策略(RMAN)OracleLinux
- rman 備份策略
- oracle rman備份及策略設定Oracle
- RMAN 備份策略 scripts
- RMAN的備份加密加密
- 【RMAN】RMAN的備份保留策略
- oracle10g RMAN增量備份策略Oracle
- 探索ORACLE之RMAN_05備份策略Oracle
- Oracle備份之RMAN工具(三)Oracle
- RMAN加密備份之口令加密加密
- 基於Linux下 Oracle 備份策略(RMAN)LinuxOracle
- RMAN說,我能備份(9)--RMAN增量備份與備份保留策略
- 【rman備份策略】實驗
- RMAN備份與恢復之加密備份加密
- Oracle ADG環境下的RMAN備份策略Oracle
- rman備份集的保留策略
- ORACLE備份策略Oracle
- RMAN說,我能備份(18)--制訂備份策略
- RMAN說,我能備份(18)--RMAN中的加密備份和CATALOG加密
- RMAN說,我能備份(13)--RMAN中的備份壓縮和加密加密
- oracle之rman備份Oracle
- Oracle RMAN 增量備份Oracle
- oracle rman備份命令Oracle
- 【轉】Oracle rman備份Oracle
- RAC模式下的備份策略以及RMAN備份指令碼模式指令碼
- ORACLE備份策略(轉)Oracle
- ORACLE備份策略(1)Oracle
- ORACLE備份策略(2)Oracle
- ORACLE備份策略(3)Oracle
- ORACLE備份策略(4)Oracle
- Oracle 11g RMAN備份-增量備份Oracle
- Oracle資料庫三種備份方案Oracle資料庫
- RMAN 常用操作命令二(備份保留策略)
- 一次rman備份 策略調整
- rman通過設定口令加密備份!加密