我想对未加密的现有数据库进行加密备份。
db2 backup database sample encrypt
不工作,它给我一个错误:
"SQL0104N在"SAMPLE"后面发现意外的令牌"encrypt"。预期的令牌可能包括:"USER"。SQLSTATE=42601"
DB版本为10.5.0.3。
@mustaccio指出,Native Encryption功能直到DB2 10.5 Fixpack 5才可用。
此外,您必须获得该功能的许可;它包含在DB2 Express-C、DB2 Advanced Workgroup Server Edition和DB2 Advanced Enterprise Server Edition中。如果您正在运行其他版本(Express、Workgroup Server Edition或Enterprise Server Edition),则需要购买该功能的许可证。
一旦你的环境被排序,要备份一个未加密的数据库,你需要执行几个配置步骤:
- 创建PCKS#12梯形图
- 生成主密钥并将其添加到密钥库
- 设置
KEYSTORE_TYPE
和KEYSTORE_LOCATION
数据库管理器配置参数 - (可选)设置
ENCRLIB
和ENCROPTS
数据库配置参数
如果不设置数据库配置参数,则必须在backup database
命令中指定这些参数。至少,您必须设置Master Key Label
选项来告诉DB2要使用哪个主密钥来加密数据加密密钥。
如果设置了数据库配置参数,则无论是否指定encrypt
选项,所有数据库备份都将加密。
DB2加密功能是在10.5补丁包5中引入的。