oracle的wallet是什么意思,Oracle钱夹的使用{今日wallet失败 明天继续吧}

为了安全起见,有时想对敏感数据加密,对其进行编码以保证授权用户才能理解它。可以使用的TDE(Transparent Data Encryption,透明数据加密)特性。使用Oracle钱夹存储密匙,数据库处理所有的加密和解密细节。Oracle Database允许加密表总的列,在Oracle Database中,可以加密整个表空间。

1、创建和管理Oracle钱夹

1)创建一个新目录,并指定为wallet目录

$ mkdir -p /u01/app/oracle/admin/orcl/wallet

设置wallet目录的方法很简单,编辑参数文件sqlnet.ora:

$ vi $ORACLE_HOME/network/admin/sqlnet.ora

加入以下信息,保存。

ENCRYPTION_WALLET_LOCATION=

(SOURCE=

(METHOD=file)

(METHOD_DATA=

(DIRECTORY=/u01/app/oracle/admin/orcl/wallet)

)

)

ENCRYPTION_WALLET_LOCATION参数的作用就是告知Wallet的实现方式和物理位置。上述示例中将/u01/app/oracle/admin/orcl/wallet目录作为主加密Key的存放位置。

2)创建master key文件,指定wallet密码

使用SYS用户登陆,通过以下命令建立加密文件:

SQL> alter system set encryption key identified by

"wjw";

其中,wjw为wallet密码。Oracle Wallet是一个可以打开关闭的功能组件,设置密码之后,只有通过密码口令可以启用wallet功能。

此时,在设置的目录下会多出一个ewallet.p12文件。这就是生成的master key文件。

3)启动和关闭Wallet

启动Wallet:

SQL> alter system set encryption wallet open identified

by "wjw";

关闭Wallet:

SQL> alter system set encryption wallet close identified

by "wjw";

可以通过以下语句查询Wallet是否在打开状态:

SQL> select * from v$encryption_wallet;

在创建了主密匙后,可以在希望加密的列的名字后使用ENCRYPT关键字,来加密表列。

在创建表时加密列:

SQL> create

(id number primary key,

name varchar2(30) encrypt);

加密已有表中的某个列:

SQL> alter table employees modify (emp_id

encrypt);

为表新增一个加密列:

SQL> alter table employees add (encrypt_id number(9)

encrypt);

可以使用下列命令查看表中的加密列:

SQL> desc表名称;

如果处于某种原因想关闭加密,则可以使用DECRYPT关键字:

SQL> alter table employees modify(emp_id

decrypt);

1)表空间加密的限制:

l不能加密临时和撤销表空间

l不能更改加密表空间的安全密匙

l不能加密外部表

2)加密表空间示例:

SQL> create tablespace wjw

datafile

'/u01/app/oracle/oradata/orcl/wjw01.dbf' size 500m

encryption

default

storage(encrypt);

其中encryption表时数据库使用默认的加密算法DES128,可以在encryption后面使用using子句来指定另外的算法,如:

SQL> create tablespace wjw

datafile

'/u01/app/oracle/oradata/orcl/wjw01.dbf' size 500m

encryption

using '3DES168'

default

storage(encrypt);

3)检查一个表空间是否加密:

SQL> select encrypted from dba_tablespaces where

tablespace_name='WJW';

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值