oracle+加密+impdp,Oracle——EXPDP加密和压缩

Oracle——EXPDP加密和压缩

2016-08-22Liusx

背景介绍

我们的需求是将生产的数据备份到Q环境中。频率为1周一次。书写这篇文章的目的也是为了提高数据同步的安全和效率,方便今后的查阅。

为了避免大篇幅的文字产生阅读疲劳,我将通过前后一组数据对比开始,然后对所采用参数进行说明。

环境说明

数据库版本为Oracle 11.2.0.4

OS 版本Oracle Linux 6.5

流程设计

数据的备份采用了数据泵(EXPDP)工具,将备份传输到Q环境,在Q环境中使用数据泵(IMPDP)进行恢复,最后进行脱敏操作。

未压缩操EXPDP备份需要近5小时,备份数据大小为150G左右。备份传输大约3小时。IMPDP恢复操作大约5个半小时。

压缩操作时间

EXPDP备份需要近3:44(约4小时),备份数据大小为35G。备份传输大约38分钟。IMPDP恢复操作大约7个半小时。当然,这里增加了一个5000W的数据表。

加密操作

这个case中我们只采用了密码验证备份的方法,确保了备份恢复时是需要备份密码。

操作实例

--备份

${ORACLE_HOME}/bin/expdp \" / as sysdba \" directory=DIR dumpfile=backup.dmp  schemas=schemas1 \

compression=all \

reuse_dumpfiles=y \

encryption=all encryption_algorithm=AES128 encryption_mode=PASSWORD encryption_password=Password \

exclude=STATISTICS

说明:compression参数为压缩选项,可设置的选项有:

ALL:包括数据和表结构

DATA_ONLY:只压缩数据

METADATA_ONLY:只压缩表结构

NONE:不压缩

encryption参数为加密选项,可设置的选项有:

ALL:包括数据和表结构

DATA_ONLY:只压缩数据

METADATA_ONLY:只压缩表结构

ENCRYPTED_COLUMNS_ONLY:只对列进行加密

NONE:不压缩

encryption_algorithm参数为密码算法,有效的值为:

AES128, AES192 和 AES256

encryption_mode参数为加密模式,有效的值为:

DUAL, PASSWORD 和 TRANSPARENT

encryption_password参数为设置加密密码

--备份恢复

${ORACLE_HOME}/bin/impdp  \"/ as sysdba \" DIRECTORY=dir DUMPFILE=backup.dmp schemas=schemas1 TABLE_EXISTS_ACTION=REPLACE DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS \

encryption_password=Password

encryption_password参数为设置加密密码,也导出所设置密码匹配。

总结

该case从空间上节约了3/4的磁盘空间,时间上节约了约2小时。在我们的环境中减少了对于生产的影响,同时保证了备份数据的安全性。

注:该文章将从技术的角度展开说明并应用到实际环境中。

--2016-08-26--

微信公众号:Liusx