關於Transportable模式下能否對匯出表空間的dumpfile進行加密的測試
Ttstbs1是一個加密表空間,現在欲將其以transportable方式匯出來,並且對生成的dmpfile以加密方式儲存,試過了下面三條命令:
expdp scott/abcd_1234@shzwbcv2 directory=hisdmp logfile=exp_ttstab1.log dumpfile=ttstab1.dmp reuse_dumpfiles=yes transport_tablespaces=ttstbs1 encryption=all
ORA-39005: inconsistent arguments
ORA-39032: function ENCRYPTION is not supported in TRANSPORT_TABLESPACES jobs
expdp scott/abcd_1234@shzwbcv2 directory=hisdmp logfile=exp_ttstab1.log dumpfile=ttstab1.dmp reuse_dumpfiles=yes transport_tablespaces=ttstbs1 encryption_password=abcd_1234
ORA-39005: inconsistent arguments
ORA-39032: function ENCRYPTION_PASSWORD is not supported in TRANSPORT_TABLESPACES
expdp scott/abcd_1234@shzwbcv2 directory=hisdmp logfile=exp_ttstab1.log dumpfile=ttstab1.dmp reuse_dumpfiles=yes transport_tablespaces=ttstbs1 encryption=data_only encryption_mode=transparent
ORA-39005: inconsistent arguments
ORA-39032: function ENCRYPTION is not supported in TRANSPORT_TABLESPACES
上面三種方法都會遇到ORA-39005、ORA-39032錯誤,都是因為encryption引數設定的值和transport tablespace型別的匯出行為相沖突,其實transportable方式匯出的表空間的dump檔案裡本身就只包含metadata,不包含使用者資料(其中第二條命令隱含了encryption=all)
--改為如下語句後成功
expdp scott/abcd_1234@shzwbcv2 directory=hisdmp logfile=exp_ttstab1.log dumpfile=ttstab1.dmp reuse_dumpfiles=yes transport_tablespaces=ttstbs1 encryption=metadata_only encryption_mode=transparent
上面雖然定義了encryption_mode=transparent,意在透過TDE對匯出的dmpfile檔案進行加密,結果是否真的加密了,我們進一步測試一下
--關閉源庫上的encryption Wallet重新進行expdp操作
SQL> Alter system set encryption wallet close identified by "tde_1234";
System altered.
SQL> select * from v$encryption_wallet;
WRL_TYPE
--------------------
WRL_PARAMETER
--------------------------------------------------------------------------------
STATUS
------------------
file
/oradata06/wallet
CLOSED
expdp scott/abcd_1234@shzwbcv2 directory=hisdmp logfile=exp_ttstab1.log dumpfile=ttstab1.dmp reuse_dumpfiles=yes transport_tablespaces=ttstbs1 encryption=metadata_only encryption_mode=transparent
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Master table "SCOTT"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SCOTT.SYS_EXPORT_TRANSPORTABLE_01 is:
/oradata01/hisdmp/monthly/ttstab1.dmp
******************************************************************************
Datafiles required for transportable tablespace TTSTBS1:
/oradata06/ttstbs1.dbf
Job "SCOTT"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 11:45:30
可見在wallet close的情況下依然能成功生成dumpfile,說明encryption_mode引數被忽略,dumpfile並沒有以加密形式儲存,那麼是否因為匯出的是metadata所以oracle就不對其進行加密了,再接著下一輪的測試:
--encryption wallet依然保持close狀態
SQL> select * from v$encryption_wallet;
WRL_TYPE
--------------------
WRL_PARAMETER
--------------------------------------------------------------------------------
STATUS
------------------
file
/oradata06/wallet
CLOSED
--在table mode下expdp metadata
expdp scott/abcd_1234@shzwbcv2 directory=hisdmp logfile=exp_s240.log dumpfile=s240.dmp reuse_dumpfiles=yes tables=s240 content=metadata_only encryption=metadata_only encryption_mode=transparent
ORA-39002: invalid operation
ORA-39188: unable to encrypt dump file set
ORA-28365: wallet is not open
--在tablespace mode下expdp metadata
expdp scott/abcd_1234 directory=hisdmp logfile=ttstbs1_con.log dumpfile=ttstbs1_con.dmp tablespaces=ttstbs1 encryption=metadata_only content=metadata_only reuse_dumpfiles=yes encryption_mode=transparent
ORA-39002: invalid operation
ORA-39188: unable to encrypt dump file set
ORA-28365: wallet is not open
總結:在我們測試的三種expdp模式(tablespace mode、table mode、transportable mode)裡匯出的都是僅包含metadata的dumpfile,其中tablespace mode和table mode裡如果需要對dumpfile使用TDE進行加密,都要求encryption wallet處於open狀態,可以推斷,這兩種模式下如果encryption Wallet open,生成的dmpfile的確能夠以加密形式儲存。而transportable mode下encryption相關的引數被忽略,說明transportable mode下生成的dumpfile都是明文存放的,無法實現加密。但是查閱了官方的相關文件都沒有明確提到這點,在此加以記錄
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1354983/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 測試表的空間壓縮與表空間的關係
- 建立一個加密表空間並對錶內資料進行加密的示例加密
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(下)Oracle
- oracle expdp、impdp匯入從原表空間更換到其他表空間 ----匯入到另個表空間測試Oracle
- 關於表空間和表的關係
- 自動undo表空間模式下切換新的undo表空間模式
- mysql關於表空間的總結MySql
- 11g 建立加密表空間的方法對比加密
- 關於Oracle 9i匯入/匯出效果的測試報告Oracle測試報告
- 表空間重新命名相關命令與測試
- 關於oracle表空間的規劃方法Oracle
- 建立加密表空間加密
- 2.5.4.1 關於SYSAUX表空間UX
- 本地管理表空間的bitmap結構測試
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(上)Oracle
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(中)Oracle
- MySQL Transportable Tablespace(傳輸表空間) 使用詳解MySql
- Oracle 11g 預設不給空表分配空間,exp匯出備份不匯出空表!Oracle
- DB2匯出模式 MBS 下的所有表DB2模式
- OracleDatabase——資料庫表空間dmp匯出與匯入OracleDatabase資料庫
- Oracle建立使用者、表空間、匯入匯出、...命令Oracle
- oracle 10g 傳輸表空間的測試Oracle 10g
- MySQL InnoDB表空間加密MySql加密
- 使用mod對資料進行進行分組解決TEMP表空間不足的問題
- Oracle可傳輸表空間測試Oracle
- oracle 11g高階安全元件測試透明資料加密(表空間加密)記錄Oracle元件加密
- 關於oracle的表空間,分割槽表,以及索引的總結Oracle索引
- 基於可傳輸表空間的表空間遷移
- oracle10g缺少tempfile(臨時表空間)_offline相關表空間測試筆記Oracle筆記
- 關於oracle可傳輸表空間的總結Oracle
- 關於undo表空間的一些常用操作
- 完全可傳輸的匯出/匯入(full transportable export/import)ExportImport
- 【匯入匯出】compress 值為n對匯入物件所佔空間的影響物件
- 【匯入匯出】compress 值為y對匯入物件所佔空間的影響物件
- mysql~關於mysql分割槽表的測試MySql
- 關於oracle的表空間,分割槽表,以及索引的總結(轉)Oracle索引
- 關於oracle的表空間,分割槽表,以及索引的總結 -- 轉Oracle索引
- 【kingsql分享】表空間加密SQL加密