Oracle 11G TDE部署

文章目录


一、TDE配置

1.1.创建钱包目录

su - oracle
mkdir $ORACLE_HOME/network/admin//wallets/

1.2.配置TDE

        配置文件为sqlnet.ora

vi $ORACLE_HOME/network/admin/sqlnet.ora

ENCRYPTION_WALLET_LOCATION=
  (SOURCE=
    (METHOD=FILE)
    (METHOD_DATA=
      (DIRECTORY=/opt/app/oracle/product/11.2.0/mbsdb/network/admin/wallets)
    )
  )

1.3.设置主加密密钥

su - oracle
sqlplus / as sysdba
ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "password";
SELECT * FROM v$encryption_wallet;

1.4.关闭钱包

ALTER SYSTEM SET ENCRYPTION WALLET CLOSE IDENTIFIED BY "password";

1.5.打开钱包

ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY "password";

1.6.重置密钥

ALTER SYSTEM SET ENCRYPTION KEY  IDENTIFIED BY "newpassword";

二、列加解密

 

2.1.创建测试表

CREATE TABLE TED_TEST1 (
     TEST_A VARCHAR2(8),
     TEST_B VARCHAR2(8),
     TEST_C NUMBER,
     TEST_D NUMBER(8) ENCRYPT
);

2.2.指定加密算法

        算法包括:3DES168、AES128、AES192(默认)、AES256

CREATE TABLE TED_TEST2 (
     TEST_A VARCHAR2(8),
     TEST_B VARCHAR2(8),
     TEST_C NUMBER,
     TEST_D NUMBER(8) ENCRYPT USING '3DES168'
);

2.3.跳过完整性算法

CREATE TABLE TED_TEST3 (
     TEST_A VARCHAR2(8),
     TEST_B VARCHAR2(8),
     TEST_C NUMBER,
     TEST_D NUMBER(8)  'NOMAC' NO SALT,
);

2.4.向表中添加加密列

ALTER TABLE TED_TEST1 ADD (TEST_E VARCHAR2(11) ENCRYPT);

2.5.加密已有未加密列

ALTER TABLE TED_TEST1 MODIFY (TEST_A ENCRYPT);

2.6.修改加密算法

        算法包括:3DES168、AES128、AES192(默认)、AES256

ALTER TABLE TED_TEST1 REKEY USING '3DES168';

2.7.修改完整性算法

ALTER TABLE TED_TEST1 REKEY USING '3DES168' 'SHA-1';

ALTER TABLE TED_TEST1 REKEY USING '3DES168' 'NOMAC';

2.8.解密表中加密列

ALTER TABLE TED_TEST1 MODIFY (TEST_A DECRYPT);

三、表空间加解密

        11G不支持加密已有的表空间,只支持新建。新建完成后将未加密表空间中的表迁移到加密的表空间中。迁移后表的索引会变为无效,因此需要rebuild。也可以通过数据泵导出再导入。

2.1.创建加密表空间

create tablespace MBSDATATDE logging datafile '/oradata/MBSDB/DataFile/MBSDATATDE01.dbf' size 1024m ENCRYPTION DEFAULT STORAGE(ENCRYPT);

2.2.指定算法创建加密表空间

create tablespace MBSDATATDE logging datafile '/oradata/MBSDB/DataFile/MBSDATATDE01.dbf' size 1024m ENCRYPTION USING '3DES168' DEFAULT STORAGE(ENCRYPT);

2.3.查看表空间是否已经加密

SELECT TABLESPACE_NAME,ENCRYPTED FROM DBA_TABLESPACES;

2.4.加密表

        将要加密的表移动到加密表空间

ALTER TABLE TED_TEST1 MOVE TABLESPACE MBSDATATDE;

        检查索引

SELECT T.INDEX_NAME,T.TABLE_NAME,T.STATUS FROM ALL_INDEXES T WHERE T.TABLE_NAME = 'TED_TEST1';

          - 如果状态是VALID,表示索引可用并且生效。
          - 如果状态是UNUSABLE,表示索引存在但是不可用。
          - 如果状态是N/A,表示索引不存在。

        重建 索引

ALTER INDEX PK_TED_TEST1_TEST_A REBUILD;
ALTER INDEX IDX_TED_TEST1_TEST_B REBUILD;

2.5.解密表

        将需要解密的表移出加密表空间

ALTER TABLE TED_TEST1 MOVE TABLESPACE MBSDATA;

        同加密表过程一样需要重建索引。

2.6.数据泵导入导出

        不更换表名需要在导入前drop原表。

expdp user/password@orcl directory=expdir dumpfile=TED_TEST1.dmp tables=TED_TEST1

DROP TABLES TED_TEST1

impdp user/password@orcl directory=expdir dumpfile=TED_TEST1.dmp remap_table=TED_TEST1:TED_TEST2 remap_tablespace=MBSDATA:MBSDATATDE exclude=PROCACT_INSTANCE

       

总结

        本文仅用于个人学习记录,仅代表个人观点,如有错误之处,敬请批评指正。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值