由于我们在创建表空间后产生的dbf数据文件是没有加密的二进制文件,通过简单的转储或者strings便能查看里面的数据
所以存在着数据泄露的隐患,我们可以通过wallets方法对创建的表空间进行加密。
加密原理:通过建立Wallet 文件,来保存主密钥,主密钥是加密算法中用于加密或解密的主密码串,一般是随机生成。 加密算法使用主密钥或基于主密 钥其生成的衍生密钥,对原始数据进行加密。只有使用主密钥或配套的衍生密钥,才能对加密数据进行解 密。建立 Wallet 文件时要设定该密码,打开和关闭 Wallet 文件都须要提供正确密码
一、创建加密表空间
创建wallets文件夹
[oracle@potato ~]$ mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1/wallets
在sqlnet.ora文件种指定wallets文件夹位置
[oracle@potato admin]$ vi $ORACLE_HOME/network/admin/sqlnet.ora
ENCRYPTION_WALLET_LOCATION=
(SOURCE=
(METHOD=file)
(METHOD_DATA= (DIRECTORY=/u01/app/oracle/product/11.2.0/dbhome_1/wallets)
)
)
查看当前数据库版本,必须是11.1以上,因为只有11.1才开始有该功能
SQL> SHOW PARAMETER COMPATIBLE
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      11.2.0.0.0
建立 Wallet 文件
SQL> alter system set encryption key identified by "tomato_16";
System altered.
我们可以看到wallets文件夹下面产生了一个新的文件
[oracle@potato wallets]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/wallets
[oracle@potato wallets]$ ll
total 4
-rw-r--r-- 1 oracle oinstall 1573 Dec 14 15:30 ewallet.p12
ps:wallets文件夹下存放的信息是主密钥,丢失了该文件将无法解密表空间,即该表空间将无法访问
查看 Wallet 文件状态
SQL> col WRL_TYPE format a10
SQL> col WRL_PARAMETER format a50
SQL> col STATUS format a10
SQL> select * from v$encryption_wallet;
WRL_TYPE   WRL_PARAMETER                                              STATUS
---------- -------------------------------------------------- ----------
file       /u01/app/oracle/product/11.2.0/dbhome_1/wallets    OPEN
创建表空间并加密,可用加密算法有AES192 / 3DES168 / AES128 / AES256,默认是AES128
我们这里指定使用3DES168算法
SQL> create tablespace mytest  datafile '/u01/app/oracle/oradata/orcl/mytest01.dbf' size 100m  encryption using '3DES168' default storage(encrypt);
Tablespace created.
查看表空间是否加密
SQL> select tablespace_name, encrypted from dba_tablespaces;
TABLESPACE_NAME                ENC
------------------------------ ---
SYSTEM                         NO
SYSAUX                         NO
UNDOTBS1                       NO
TEMP                           NO
USERS                          NO
EXAMPLE                        NO
MYTEST                         YES
7 rows 
查看加密信息
SQL> select * from v$encrypted_tablespaces;
TS# ENCRYPT ENC
---------- ------- ---
ENCRYTPEDKEY
----------------------------------------------------------------
MASTERKEYID                      BLOCKS_ENCRYPTED BLOCKS_DECRYPTED
-------------------------------- ---------------- ----------------
7 3DES168 YES
612598C962DDEC27F8C6FA4AB040B71D59D4DDF2901B83E00000000000000000
059D5A6FB4A34F2FBFC5FF6EB5CD78EC
二、关闭和开启加密
SQL> alter system set encryption wallet close identified by "tomato_16 ";   
System altered.
ps:如果wallet是close状态,此时加密表空间是不可用的,例如查询、修改都不允许
SQL> alter system set encryption wallet open identified by "tomato_16 ";
System altered.
三、自动开启加密
由于数据库重启之后,加密会自动关闭
SQL> col WRL_PARAMETER format a40     
SQL> select * from v$encryption_wallet;
WRL_TYPE             WRL_PARAMETER                            STATUS
-------------------- ---------------------------------------- ------------------
file                 /u01/app/oracle/product/11.2.0/dbhome_1/ OPEN
wallets
SQL> startup force;
SQL> col WRL_PARAMETER format a40   
SQL>  select * from v$encryption_wallet;
WRL_TYPE             WRL_PARAMETER                            STATUS
-------------------- ---------------------------------------- ------------------
file                 /u01/app/oracle/product/11.2.0/dbhome_1/ CLOSED
wallets
所以我们可以通过以下方式,让它在数据库开启时自启
[oracle@potato admin]$ orapki wallet create -wallet /u01/app/oracle/product/11.2.0/dbhome_1/wallets -auto_login -pwd tomato_16
SQL> startup force;
SQL> col WRL_PARAMETER format a40   
SQL>  select * from v$encryption_wallet;
WRL_TYPE             WRL_PARAMETER                            STATUS
-------------------- ---------------------------------------- ------------------
file                 /u01/app/oracle/product/11.2.0/dbhome_1/ OPEN
wallets
注意:设置自动是对密码有要求的,必须长度大于等于8个字符,且密码种必须带有数字或者特殊字符,不然回报以下错误
Invalid password:Passwords must have a minimum length of eight characters and contain alphabetic characters combined with numbers or special characters.
还有第二种方法,就是使用图形化工具——owm
这个也比较简单,这里便不多做演示了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31386161/viewspace-2130584/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31386161/viewspace-2130584/

oracle 11g 表空间加密相关推荐

  1. oracle 11g b表空间什么情况下自动增加,Oracle 11g表空间——创建和扩展(永久)表空间...

    Oracle 11g表空间--创建和扩展(永久)表空间 本文内容 创建(永久)表空间 查看表空间 扩展表空间 创建(永久)表空间 Oracle 按照区和段空间进行管理表空间. 区管理方式 - 针对区的 ...

  2. oracle表空间dbf文件,Oracle 11g表空间dbf文件迁移

    当Oracle的数据文件所在的磁盘空间不够用了或其他情况需要把dbf文件迁移到另外的位置,下面是操作步骤: 1.sqlplus sys/sys as sysdba 2.shutdown immedia ...

  3. oracle11监视器,Oracle 11g 表空间监控(一) datafile autoextend

    表空间监控(一) datafile autoextend 导言:监控数据文件自增的表空间脚本. #################################################### ...

  4. linux oracle 创建表空间2016,Linux下Oracle表空间及用户创建

    记录详细过程以备使用 Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as sys@i ...

  5. oracle 给表空间改名,Oracle重命名表空间和删除表空间

    在需要的情况下,可以对表空间的名称进行修改.修改表空间的名称,不会影响到表空间中的数据.但不能修改系统表空间system与sysa Oracle重命名表空间和删除表空间 [日期:2015-03-10] ...

  6. mysql 表空间加密,MySql(8.0)基于docker部署(加密存储表空间)

    说明: MySql社区版的加密方式只支持keyring_file的方式: 目前我找到的加密只能针对表来,不能针对整个库使用. 1. 宿主机创建映射目录 正常情况下,我个人喜欢创建两个目录,一个映射配置 ...

  7. Oracle 的 表空间(Tablespace)、用户(User)、模式(Schema)

    前面有整理了一篇 Oracle 数据库(database) 与 实例(instance) 的概念及关系整理 . 那接下来就往下整理一个数据库里面的一些其他几个东西之间的奇奇怪怪的关系. 一.表空间(T ...

  8. Oracle的表空间和sqlplus

    Oracle的表空间和sqlplus 1.  表空间的概念 曾经接触过的数据库都没有听到过表空间这个词,在前一段时间看到Oracle数据库的时候发现表空间无处不在. 所以表空间在Oracle数据库中应 ...

  9. Oracle 的 表空间(Tablespace)、用户(User)、模式(Schema)详细解释

    前面有整理了一篇 Oracle 数据库(database) 与 实例(instance) 的概念及关系整理 . 那接下来就往下整理一个数据库里面的一些其他几个东西之间的奇奇怪怪的关系. 一.表空间(T ...

最新文章

  1. 第 14 章 Networking
  2. 作坊的反思-----走出软件作坊:三五个人十来条枪 如何成为开发正规军(四十)...
  3. java sofa rpc_【剖析 | SOFARPC 框架】
  4. mysql 代码执行时间_mysql 显示SQL语句执行时间的代码
  5. 如何估算代码量_没有量杯,没有称,如何估算碳水化合物?
  6. matlab 判断鼠标按下_轻巧可爱,支持多设备——雷柏Ralemo Air1乐萌鼠标
  7. JAVA day07 权限,封装,JavaBean(规范代码),static、final关键字
  8. java面试题干货126-170
  9. [渝粤教育] 西南科技大学 作物生产新理论与新技术 在线考试复习资料
  10. 使用charles抓取https的方法
  11. java 设置压缩文件大小不变_为什么把文件压缩后,文件大小却不变呢?
  12. 学习DNS,这一篇文章就够了
  13. 获取windows系统ip、计算机名、当前用户名
  14. <OS Concepts> 1- Intro
  15. Compose实战-以MVI的方式写Compose
  16. 地方门户网站SEO 重点做长尾词
  17. 算法学习之路和程序员(技术)学习必读书籍
  18. 新发现,新挑战,技术出海的机遇与挑战丨PingCAP DevCon 2022 出海专场
  19. Idea 中解决git冲突
  20. 如何在WordPress中添加Google Maps Store Locator

热门文章

  1. 数学计算机知识,计算器知识详解
  2. C++ 从子类访问父类的私有函数(看的我发愣)
  3. CISSP考点拾遗——BCP/DRP演练层次问题
  4. VeriSign SSL服务器证书——128位支持型SSL证书(VeriSign Secure Site)_VeriSign数字证书产品...
  5. 软件测试 | 测试开发 | 测试人生 | 突破“大专学历+半路转行”标签,从拉垮菜鸟到测试团队骨干,走到这一步很知足!
  6. python解析url参数_Python3 url解码与参数解析
  7. 使用wmi显示rpc服务器不可用,WMI:“RPC服务器不可用”错误只为域用户
  8. 苹果手机怎么下载python123_苹果版彩票123的软件
  9. Java实现的文件切割器和文件合并器代码
  10. php中函数trim,PHP trim()函数