构筑TDE 环境的例子:

测试环境:12.1.0.2

$ cd $ORACLE_HOME/network/admin
$ vim sqlnet.ora

$ pwd
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin

sqlnet.ora 需要配置:

$ cat sqlnet.ora

ENCRYPTION_WALLET_LOCATION =
 (SOURCE =(METHOD = FILE)(METHOD_DATA =
   (DIRECTORY = /u01/app/oracle/admin/$ORACLE_SID/encryption_keystore/)

创建相应的目录:

$ mkdir -p /u01/app/oracle/admin/$ORACLE_SID/encryption_keystore

创建 KEYSTORE:

$ sqlplus / as sysdba

SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/u01/app/oracle/admin/ora12102/encryption_keystore/' IDENTIFIED BY myPassword;

SQL> HOST ls /u01/app/oracle/admin/ora12102/encryption_keystore/
ewallet.p12 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    发现生成了相关的文件

SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY myPassword CONTAINER=ALL;

SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY myPassword WITH BACKUP CONTAINER=ALL;

确认结果:

SQL> SET LINESIZE 100
SQL> SELECT con_id, key_id FROM v$encryption_keys;

CON_ID
----------
KEY_ID
----------------------------------------------------------------------------------------------------
        0
AclrihXAik+1vxl5oahS/ukAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

0
AUgIBXZg2E9rvzdpDEfXjVIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

0
AekjUfUQkE9Mv+hfTnnWDfIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

SQL> SET LINESIZE 200
SQL> COLUMN wrl_parameter FORMAT A50
SQL> SELECT * FROM v$encryption_wallet;

WRL_TYPE                                                     WRL_PARAMETER
------------------------------------------------------------ --------------------------------------------------
STATUS                                                                                     WALLET_TYPE                                                  WALLET_ORDER
------------------------------------------------------------------------------------------ ------------------------------------------------------------ ---------------------------
FULLY_BACKED_UP                 CON_ID
--------------------------- ----------
FILE                                                         /u01/app/oracle/admin/ora12102/encryption_keystore
                                                             /
OPEN                                                                                       PASSWORD                                                     SINGLE
NO                                   0

SQL> CONN sys@mypdb1 AS SYSDBA

SQL> SELECT con_id, key_id FROM v$encryption_keys;

CON_ID
----------
KEY_ID
------------------------------------------------------------------------------------------------------------------------------------------------------------
        0
AUgIBXZg2E9rvzdpDEfXjVIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

SQL> grant dba to test identified by test;

SQL> conn test/test@mypdb1

SQL> CREATE TABLE tde_test (
 id    NUMBER(10),
 data  VARCHAR2(50) ENCRYPT
);

SQL> INSERT INTO tde_test VALUES (1, 'This is a secret!');
SQL> commit;

SQL> conn sys@mypdb1 AS SYSDBA

创建 TDE 表领域:

SQL> CREATE TABLESPACE encrypted_ts
        DATAFILE '/home/oracle/tbs01.dbf' SIZE 128K
        AUTOEXTEND ON NEXT 64K
        ENCRYPTION USING 'AES256'
        DEFAULT STORAGE(ENCRYPT);

SQL> ALTER USER test QUOTA UNLIMITED ON encrypted_ts;

然后,可以使用TDE 表领域来创建和使用表了:

SQL> CONN test/test@mypdb1

SQL> CREATE TABLE tde_ts_test (
 id    NUMBER(10),
 data  VARCHAR2(50)
) TABLESPACE encrypted_ts;

SQL> INSERT INTO tde_ts_test VALUES (1, 'This is also a secret!');
SQL> commit;

参考:https://oracle-base.com/articles/12c/multitenant-transparent-data-encryption-tde-12cr1

[Oracle]构筑TDE 环境的例子的更多相关文章

  1. 【转载】Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

    原地址:http://blog.csdn.net/wp1603710463/article/details/48247817#t16 Maven+druid+MyBatis+spring+Oracle ...

  2. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...

  3. Oracle 11g RAC 环境下单实例非缺省监听及端口配置

    如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器.大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口.而且在Orac ...

  4. Oracle RAC 实验环境RMAN备份v1.01

    Oracle RAC 实验环境RMAN备份v1.01 环境:RHEL 6.5 + Oracle GI 11.2.0.4 + RAC 11.2.0.4 (2 nodes) 需求:制定RAMN备份策略 版 ...

  5. plsql developer 11 + Oracle 11g 开发环境setup

    这是一个很水的博客, 介绍搭建plsql developer 11+ Oracle 11g 开发环境. 1. 本机上安装Oracle 11g express 对于开发足够了, 300MB的下载文件, ...

  6. 用 Docker 搭建 ORACLE 数据库开发环境

    用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ...

  7. Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

    1.开发工具使用: MyEclipse或Eclipse,数据库使用Oracle.需要用到的软件有Zookeeper(注册中心),Tomcat(Web容器)和Maven(包管理). 2.初始环境配置: ...

  8. CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

    前言 安装oracle 11g系统最好是1G以上内存,硬盘至少需要4.5G空间. 至少环境在Linux Server release 5.3以上. win安装包 win32_11gR2_databas ...

  9. Tomcat+Oracle配置连接池的例子

    我这有一个Tomcat+Oracle连接池的例子,放上来和大家分享一下. Tomcat +Oracle  连接池配置   Author: Kenneth.Leaf@GalaxySoft Date: / ...

随机推荐

  1. Oracle EBS FA 获取累计折旧

    FUNCTION get_ltd_deprn(p_asset_id IN NUMBER, p_book_type_code IN VARCHAR2, p_rate_source_rule IN VAR ...

  2. WindowsErrorCode

    0 操作成功完成.1 功能错误.2 系统找不到指定的文件.3 系统找不到指定的路径.4 系统无法打开文件.5 拒绝访问.6 句柄无效.7 存储控制块被损坏.8 存储空间不足, 无法处理此命令.9 存储 ...

  3. log4net 写入日志到不同的位置

    某些业务需要根据不同的功能将日志记录到不同的位置,以便于区分. <?xml version="1.0" encoding="utf-8" ?> &l ...

  4. 【PAT】B1050 螺旋矩阵(25 分)

    实在不觉得递归等方式有什么简单的地方,没错我就是用的最笨的方法模拟. 和我一样的小白看代码应该很容易理解. #include<stdio.h> #include<math.h> ...

  5. java用星星符号打印出一个直角三角形

    package debug; public class Demo10 { public static void main(String[] args) { //用星星符号打印出一个直角三角形 for( ...

  6. Decentraleyes - Local emulation of Content Delivery Networks

    Decentraleyes, 是一个本地化第三方库文件的浏览器插件,提供三十多种语言支持.大致原理如下: 保存常用的第三方库文件到本地,当打开的页面中需要加载的第三方库文件在本地有副本时,随即进行拦截 ...

  7. svn 更新

    dev更新流程: 1.打开软件,文件—>打开,弹出右边对话框链接dev地址      2.在窗口输入cd /var/www/user 回车 3.输入svn up 则更新dev代码完成 本地提交到 ...

  8. P1067 多项式输出

    #include <iostream>#include<cstdio>#include<algorithm>using namespace std;int a[10 ...

  9. Python yield的用法

    yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法. 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: def addlist( ...

  10. RESTful API实战笔记(接口设计及Java后端实现)

    写在前面的话 原计划这部分代码的更新也是上传到ssm-demo仓库中,因为如下原因并没有这么做: 有些使用了该项目的朋友建议重新创建一个仓库,因为原来仓库中的项目太多,结构多少有些乱糟糟的. 而且这次 ...