重庆思庄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