·全库加密和日志加密,只有在初始化实例的时候配置生效。
·配置了全库加密,则所有表空间也是加密的,不允许表空间再单独加密。
·DB用户使用加密表空间,则DB用户登录数据库创建的表和数据也是加密的(仅针对写入此加密表空间的数据进行加密,假如此DB用户创建表时,额外指定了一个不是加密的表空间,那这个数据也不会进行加密)。
·如果实例初始化的时候没有加密,后期新增表空间时,可以根据业务数据重要性,单独对某个表空间进行加密。同时创建对应的DB用户,使用此表空间;或者创建表时,指定用此加密表空间。
1、初始化实例时不加密
/home/dmdba/dm/dmdbms/bin/dminit PATH=/dbdata/dmdata PAGE_SIZE=32 LOG_SIZE=2048
2、表空间单独加密
--创建加密表空间
createtablespace "TESTBKJ" datafile'TESTBKJ.DBF'size 1024 autoextendonnext 100 maxsize 10240 CACHE = NORMALencryptwith AES128_CBC_NOPAD by "test1234";
指定的表空间加密算法可以是 DM 内部支持的加密算法(可通过查询动态视图 SELECT * FROM V$CIPHERS; ),也可以是第三方加密算法。
--验证表空间是否加密
达梦管理工具-表空间-右键-属性,看到如下信息就是加密了
create user "TEST" identified by "TEST123456" limit session_per_user 20, failed_login_attemps 3,
password_lock_time 1, password_grace_time 10 default tablespace "TESTBKJ";
--仅仅创建模式,属主为某个DB用户
CREATE SCHEMA "TEST2" AUTHORIZATION "TEST";
--查用户的加密算法

SELECT DBMS_METADATA.GET_DDL('USER','用户名');
--默认一般是 SHA512 ,可以在创建用户的时候指定
SELECT * FROM V$CIPHERS;
--查当前的版本支持的加密算法
select SF_GET_ENCRYPT_NAME();
--启动库后查询确认数据库是否加密:
--给DB用户授权
grant RESOURCE,PUBLIC,VTI,SOI,SVI to "TEST";
--验证DB用户默认表空间
select username,default_tablespace from dba_users where username='TEST';

指定的全库加密算法可以是 DM 内部支持的加密算法(可通过查询动态视图 SELECT * FROM V$CIPHERS;),也可以是第三方加密算法
启动库后查询确认数据库是否加密:
select SF_GET_ENCRYPT_NAME();

/home/dmdba/dm/dmdbms/bin/dminit PATH=/dbdata/dmdata EXTENT_SIZE=16 PAGE_SIZE=32 CASE_SENSITIVE=Y LOG_SIZE=2048 ENCRYPT_NAME=OPENSSL_SM4_CFB_V1 RLOG_ENC_FLAG=1
DM8
/home/dmdba/dm/dmdbms/bin/dminit PATH=/dbdata/dmdata EXTENT_SIZE=16 PAGE_SIZE=32 CASE_SENSITIVE=Y LOG_SIZE=2048 ENCRYPT_NAME=OPENSSL_SM4_CFB_V1 RLOG_ENCRYPT_NAME=OPENSSL_SM4_CFB_V
5、验证日志加密
方式一
使用strings命令,对redo log 或者dbf数据文件进行验证
无加密示例-英文可以正常显示


通过dmrachk工具验证
DM8-无加密示例


DM7示例
