重庆思庄Oracle、Redhat认证学习论坛

标题: 11g 创建加密表空间的方法对比 [打印本页]

作者: 郑全    时间: 2017-10-14 12:05
标题: 11g 创建加密表空间的方法对比
方法一:

        其操作步骤简要概述如下:

1. 在sqlnet.ora指定wallet目录
$ cd $ORACLE_HOME/network/admin         
                $ vi sqlnet.ora         
                ENCRYPTION_WALLET_LOCATION=         
                (SOURCE=(METHOD=FILE)(METHOD_DATA=         
                (DIRECTORY=/u01/app/oracle/product/11.1.0/db_1/)))         


        2. 重启实例
SQL > shutdown immediate;
        SQL > startup;

        3. 设置密码
SQL > alter system set encryption key identified by oracle123;

        4. 创建加密表空间
SQL > create tablespace sectbs datafile '/u01/app/oracle/oradata/PROD/sec_tbs.dbf' size 100m encryption using '3DES168' default storage(encrypt);

        5. 通过视图验证表空间是否为加密
SQL > select tablespace_name,status,encrypted from dba_tablespaces where tablespace_name='SECTBS';

该方法的隐患就是修改sqlnet.ora文件。修改该文件后需要重启实例,再设置encryption key才能生效。如果是生产环境此操作就需要申请检修了,而不是随时可以添加。而且该修改有一定的几率引起监听器无法启动。需要删除sqlnet.ora中关于钱包的设置才能恢复监听器。这样的话就相互矛盾了。所以推荐下面的方法


                方法二,推荐! 不需要重启实例,也不会因为修改sqlnet.ora导致监听无法启动         


1. 查看wallet的默认位置:
SQL> select * from v$encryption_wallet;         


                WRL_TYPE   WRL_PARAMETER                            STATUS         

        ---------- ---------------------------------------- ---------
file       /u01/app/oracle/admin/PROD/wallet       CLOSED

         

        2. 验证是否存在该目录,没有则手工创建
SQL > !ls -l /u01/app/oracle/admin/PROD/wallet
        ls: /u01/app/oracle/admin/PROD/wallet: No such file or directory


        $ cd /u01/app/oracle/admin/PROD
        $ mkdir wallet
        $ chmod -R 775 wallet


        3. 设置密码
SQL > alter system set encryption key identified by oracle123;

        4. 创建加密表空间
SQL > create tablespace sectbs datafile '/u01/app/oracle/oradata/PROD/sectbs.dbf' size 100m encryption using '3DES168' default storage(encrypt);

        5. 通过视图验证表空间是否为加密
SQL > select tablespace_name,status,encrypted from dba_tablespaces where tablespace_name='SECTEST';


        6. 将需要加密的表移到加密表空间
SQL > alter table [table]
move tablespace sectbs;

        7. 重建索引
SQL > alter index  rebuild



作者: 郑全    时间: 2019-8-17 11:26
这个主要是钱夹的搜索位置默认为一下所导致:

sqlnet.ora的encryption_wallet_location参数
sqlnet.ora的wallet_location参数
$ORACLE_BASE/admin/db_unique_name/wallet
$ORACLE_HOME/admin/db_unique_name/wallet






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2