1. 程式人生 > >建立一個加密表空間並對錶內資料進行加密的示例

建立一個加密表空間並對錶內資料進行加密的示例

基於表空間的加密概念

對整個表空間進行加密,表空間中的所有物件都是加密的,例如 在加密表空間上建立一個表,表的所有欄位都是加密狀態,適用Oracle11gR2以上版本。

表空間加密資料的優點:不會再收到欄位加密的限制,例如 欄位型別,索引型別,需要設定no salt才可見索引等。
表空間加密資料的缺點:外部大物件不支援,exp/imp邏輯匯出匯入不支援但可以用expdp/impdp資料泵。
加密表空間與wallet的關係
1.Oracle 表空間的加密與解密完全是基於wallet錢包中的金鑰進行的。
2.如果wallet是open狀態,那麼我們可以使用其中的金鑰,進行加密與解密處理。
3.如果wallet是close狀態,那麼我們就拿不到金鑰,此時加密表空間是不可用的,例如 查詢 修改 建立 都不允許。
TDE的使用場合
1.保護敏感資料,禁止未授權的訪問,只有開啟錢包才能檢視資料。
2.防止資料丟失,當加密表空間的資料檔案被拷貝走了,如果你沒有金鑰是無法還原資料的。
3.防止資料被截獲,當在網路傳輸時加密後的資訊更安全,即使截獲了也無法得知內容。

建立一個加密表空間及資料表示例

1.wallet未開啟時無法建立加密表空間。

[email protected] bys001>create tablespace encry_test datafile '/u01/app/oracle/oradata/bys001/encry_test.dbf' size 10m encryption using 'aes128' default storage(encrypt);
create tablespace encry_test datafile ' /u01/app/oracle/oradata/bys001/encry_test.dbf' size 10m encryption using 'aes128' default storage(encrypt)
*
ERROR at line 1:

ORA-28365: wallet is not open

開啟 wallet

[email protected] bys001>alter system set wallet open identified by "testtest";

System altered.

2.建立並驗證表空間是否使用加密

[email protected] bys001>create tablespace encry_test datafile '/u01/app/oracle/oradata/bys001/encry_test.dbf' size 10mencryption using 'aes128' default storage(encrypt);

Tablespace created.
[email protected] bys001>select tablespace_name,encrypted from dba_tablespaces;
TABLESPACE_NAME                ENC
------------------------------ ---
SYSTEM                         NO
SYSAUX                         NO
UNDOTBS1                       NO
TEMP                           NO
USERS                          NO
EXAMPLE                        NO
CATALOG1                       NO
BYS_FLASHBACK                  NO
TEST1                          NO
ENCRY_TEST                     YES

3.在加密表空間上建立表,表預設繼承了表空間的加密屬性

[email protected] bys001>create table encry_test2 tablespace encry_test as select * from tab;
Table created.
[email protected] bys001>select * from encry_test2;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
ENCRY_TEST                     TABLE
ENCRY_TEST2                    TABLE
FRUIT_LIST                     TABLE
FRUIT_LIST_AUDIT               TABLE
TEST                           TABLE
TEST3                          TABLE
TEST4                          TABLE
TEST5                          TABLE
TEST6                          TABLE

TEST_AUDIT                     TABLE

4.關閉wallet,新建立的表將不能查詢。

[email protected] bys001>alter system set wallet close identified by "testtest";
System altered.
[email protected] bys001>select * from encry_test2;
select * from encry_test2
              *
ERROR at line 1:
ORA-28365: wallet is not open

相關推薦

建立一個加密空間資料進行加密示例

基於表空間的加密概念 對整個表空間進行加密,表空間中的所有物件都是加密的,例如 在加密表空間上建立一個表,表的所有欄位都是加密狀態,適用Oracle11gR2以上版本。 表空間加密資料的優點:不會再收到欄位加密的限制,例如 欄位型別,索引型別,需要設定no salt才可見索

java匯入excle表格,並且進行相應的修改,資料進行整理,最後匯出本地表格等一系列操作

1.首先建立一個java專案 2.匯入以下jar包 3.程式碼如下   public class auto_date { private static List<List<String>> readExcel(File file) throws Exception

java匯入excle表格,並且進行相應的修改,資料進行整理,最後匯出本地表格等一系列

1.首先建立一個java專案   完成效果如下圖所示 2.匯入以下jar包 3.程式碼如下   其中行和列的操作是根據需求自動劃分的 複製程式碼1 public class auto_date {2 private static List<List<String>> read

arcengine 連線sde,sde資料進行管理(增刪改)

1、連線sde,用的是連線檔案,怎麼建立連線檔案,arcgis 工具箱, 如果service引數使用的預設的埠號5151,則必須在建立連線檔案之前必須建立和開啟sde服務,而如果使用sde:sqlserver:ip地址或計算機名,則不需要建立和開啟服務。 locati

建立一個單鏈刪除連結串列中值為W的元素

#include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> #include<malloc.h> using namespace std; typede

oracle在dos環境下建立使用者,空間賦予使用者許可權

1.開啟資料庫驅動sqlplus/nolog   (此處切記不能有分號)2.以管理員許可權登入conn / as sysdba;3.建立新使用者create user 使用者名稱 identified by 密碼;4.給使用者授權grant resource,connect,

Pandas建立一個空DataFrame,逐行插入資料

#建立一個空的Dataframe result =pd.DataFrame(columns=('idx','degree','weight','diameter')) #將計算結果逐行插入result,注意變數要用[]括起來,同時ignore_index=True,否則會報錯,ValueEr

在ListView中動態新增EditText其中的資料進行儲存和由於複用引起的Editext中的內容顯示異常的解決方案

public class AddAdapter extends BaseAdapter { private Context context; //需要增加的條目用一個Map儲存 private Map edItem; //記錄增加的條目數,作為下標給deItem賦值,可以不要

設計一個shell程式,在/userdata目錄下建立50個目錄,每個目錄給754許可權!

設計一個Shell程式,在/userdata目錄下建立50個目錄,即user1~user50,並設定每個目錄的許可權,其中其他使用者的許可權為:讀;檔案所有者的許可權為:讀、寫、執行;檔案所有者所在組的許可權為:讀、執行。 方法一: #!/bin/bash i=1 w

11g 建立加密空間 的方法對比

方法一: 其操作步驟簡要概述如下: 1. 在sqlnet.ora指定wallet目錄 $ cd $ORACLE_

實現一個能夠達式進行求值的控制檯程式

我這個專案的碼雲地址是https://gitee.com/wangzhiming/personal_project41678.git 下邊這張表格記錄了我預期做這個專案的時間和實際上消耗的時間,看得出來我寫的速度還是趕不上我希望的速度,我的繼續努力!!! PSP2.1

Intellij idea 建立一個test工程,使用maven管理依賴

1.  Cannot start compilation: the output path is not specified for module "Test". Specify the output path in the Project Structure dialog. 解決方法

33. 建立一個actor,包含如下列資訊

題目描述 建立一個actor表,包含如下列資訊 列表 型別 是否為NULL 含義 actor_id smallint(5) not null

36. 建立一個actor_name

題目描述 對於如下表actor,其對應的資料為: actor_id first_name last_name last_update 1 PENELOPE GUINESS

oracle 11g 最常用的基本管理命令,包括建立使用者、空間、許可權等

Oracle 11g最常用的基本管理命令,包括建立使用者、表空間,許可權分配等 1、啟動oracle資料庫: 從root切換到oracle使用者進入:su - oracle 進入sqlplus環境,nolog引數表示不登入:sqlplus /nolog 以管理員模式登入:sqlplu

ORACLE-介紹空間及其的建立以及在空間下使用者的建立

什麼是表空間: ORACLE資料庫被劃分成稱作為表空間的邏輯區域——形成ORACLE資料庫的邏輯結構。一個ORACLE資料庫能夠有一個或多個表空間,而一個表空間則對應著一個或多個物理的資料庫檔案。表空間是ORACLE資料庫恢復的最小單位,容納著許多資料庫實體,如表、檢視、索引、聚簇、回退段和臨時

oracle建立使用者,空間,臨時空間,分配許可權步驟詳解

首先登陸管理員賬號,或者有DBA許可權的使用者,接下來依次: --查詢所有使用者 select * from dba_users; --建立新使用者 create user gpmgt identified by GPMGT; --檢視所有使用者所在表空間 select usernam

用sqlplus為oracle建立使用者和空間

用Oracle自帶的企業管理器或PL/SQL圖形化的方法建立表空間和使用者以及分配許可權是相對比較簡單的, 本文要介紹的是另一種方法就是使用Oracle所帶的命令列工具SQLPLUS來建立表空間。 開啟SQL Plus 登入: 輸入   SCOTT 

Oracle中欄位進行處理 2.oracle 檢視一張共有幾個欄位

1.在ORACLE中給已有資料的表增加、修改、刪除一個欄位(或一個列)或者多個欄位(或多個列)的問題 一、將歷史表的欄位增加一個或者多個的SQL語句。 1、增加一個欄位:(增加欄位時,只能排在已有欄位的後面,不能插到已有欄位之間) Alter Table t_app_si_addr_12

oracle建立使用者及空間,收回許可權,授予角色等sql整合

--建立使用者 --create user userName identified by password; --建立表空間 --create tablespace tableSpaceName datafile '/home/oracle/app/oracle/oradata/orc