ORACLE GOLDDEN GATE 对trail 文件加密
过程:对捕获进程的文件进行加密,然后在推送进程解密,解密后进推送进程再次加密,发送到target段后再有replicat进程解密。
操作步骤
生成密钥
1、[oracle@OGG1 ogg]$ ./keygen 192 2 -----192 是加密算法
2 表示生成一个 加密值
0x97AF6C361FB26466CDB2CD273765BF1463907F3FC882E040 ----mykey1 用
0x55EBB63095A72259E9BD9C5C9082A56E4C2466568E83F052----- mykey2 用
2、生成ENCKEYS 文件 把密钥加进去
[oracle@OGG1 ogg]$ vi ENCKEYS
mykey10x97AF6C361FB26466CDB2CD273765BF1463907F3FC882E040-----mykey1 是后面的keyname
mykey2 0x55EBB63095A72259E9BD9C5C9082A56E4C2466568E83F052
3、修改extract parameter参数加密文件
EXTRACT ggex
setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )
USERID gg,PASSWORD AACAAAAAAAAAAACANJPHHDSJCIYCFCZB,ENCRYPTKEY default
ENCRYPTTRAIL AES192 KEYNAME mykey1-------加密文件
EXTTRAIL /u01/ogg/dirdat/kt
TABLE gg.sen?;
TABLE GG.tgt;
4、修改pump parameter参数解密文件和加密文件
EXTRACT ggpump
USERID gg, PASSWORD gg
RMTHOST og2, MGRPORT 7809
DISCARDFILE /u01/ogg/dirrpt/pmp.dsc, PURGE
DECRYPTTRAIL AES192 KEYNAME mykey1-----解密extract加密文件 ----对应上面的mykey1
ENCRYPTTRAIL AES192 KEYNAME mykey2------加密要发送的文件------对应上面的mykey2
RMTTRAIL /u01/ogg/dirdat/kt
TABLE gg.sen?;
TABLE GG.tgt;target 端1、生成一个ENCKEYS 文件 文件内容对应 源端的 mykey2 ---- 可以理解 因为这是要解密那边加密的文件所以 密钥要相同
[oracle@OGG1 ogg]$ vi ENCKEYSmykey20x55EBB63095A72259E9BD9C5C9082A56E4C2466568E83F052
2、配置replicat进程参数
replicat replgg
ASSUMETARGETDEFS
USERID regg , PASSWORD regg
DISCARDFILE ./dirrpt/RINIaa.dsc, PURGE
DECRYPTTRAIL AES192 KEYNAME mykey2
MAP gg.send,TARGET regg.receive;
MAP gg.tgt,TARGET regg.tgt;
------------------------------------实验完毕-----------------------------------------
实验结果:
在源端进行加密后 在目标段没有解密会报出
2014-06-05 22:27:17 ERROR OGG-01161 Oracle GoldenGate Delivery for Oracle, replgg.prm: Bad column index (-29100) specified for table GG.TGT, max columns = 7.
2014-06-05 22:27:17 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, replgg.prm: PROCESS ABENDING.
错误。 也是一种解决问题方向