Oracle錢夾的使用

2021-07-09 12:41:57 字數 1978 閱讀 9110

為了安全起見,有時想對敏感資料加密,對其進行編碼以保證授權使用者才能理解它。可以使用oracle的tde(transparent data encryption,透明資料加密)特性。使用oracle錢夾儲存密匙,資料庫處理所有的加密和解密細節。oracle database 10g允許加密表的列,在oracle database 11g中,可以加密整個表空間。

1)建立乙個新目錄,並指定為wallet目錄,注意目錄在$oracle_base/admin/$oracle_sid 下面,不要隨便指定路徑,否則就會報ora-28368錯。

設定wallet目錄的方法很簡單,編輯引數檔案sqlnet.ora:

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

加入以下資訊,儲存。

encryption_wallet_location=

(source=

(method=file)

(method_data=))

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 table t

(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

encryption

default storage(encrypt);

其中encryption表時資料庫使用預設的加密演算法des128,可以在encryption後面使用using子句來指定另外的演算法,如:

sql> create tablespace wjw

encryption using '3des168'

default storage(encrypt);

3)檢查乙個表空間是否加密:

sql> select encrypted from dba_tablespaces where tablespace_name='wjw';

源:

ORACLE 物件的使用

建立物件型別 create or replace type emp typ as object id number,name varchar2 30 sal number,comm number,member procedure change comm new comm number member ...

oracle的入門使用

客戶端工具 pl sql developer 與 sql plus命令列 sql plus命令列 cmd sqlplus conn 使用者名稱 密碼 連線字串 as 連線身份 連線身份分為三種 一是sysdba,即資料庫管理員,主要許可權有,開啟或關閉資料庫伺服器 備份或恢復資料庫 日誌歸檔 會話限...

Oracle陣列的使用

下面這組資訊比較有用,列出來以備參考 除了建構函式外,集合還有很多內建函式,這些函式稱為方法。呼叫方法的語法如下 collection.method 下表中列出oracle中集合的方法 方法 描述 使用限制 count 返回集合中元素的個數 delete 刪除集合中所有元素 delete 刪除元素下...