【EXPDP】使用11g的資料泵實現對邏輯備份資料進行加密
Oracle 11g版本中的資料泵對邏輯備份過程中的加密功能進行了增強。這裡以對備份資料本身進行加密展示之。
1.對比10g和11g版本中的資料泵加密功能描述
1)10g中的expdp加密選項描述
C:\Users\secooler>expdp -help
Export: Release 10.2.0.3.0 - Production on 星期日, 30 10月, 2011 21:33:29
Copyright (c) 2003, 2005, Oracle. All rights reserved.
……省略其他輸出內容……
ENCRYPTION_PASSWORD 用於建立加密列資料的口令關鍵字。
……省略其他輸出內容……
2)11g中的expdp加密選項描述
C:\Users\secooler>expdp -help
Export: Release 11.1.0.6.0 - 64bit Production on 星期日, 30 10月, 2011 21:37:02
Copyright (c) 2003, 2007, Oracle. All rights reserved.
……省略其他輸出內容……
ENCRYPTION 加密部分或全部轉儲檔案, 其中有效關鍵字
值為: ALL, DATA_ONLY, METADATA_ONLY,
ENCRYPTED_COLUMNS_ONLY 或 NONE。
ENCRYPTION_ALGORITHM 指定應如何完成加密, 其中有效
關鍵字值為: (AES128), AES192 和 AES256。
ENCRYPTION_MODE 生成加密金鑰的方法, 其中有效關鍵字
值為: DUAL, PASSWORD 和 (TRANSPARENT)。
ENCRYPTION_PASSWORD 用於建立加密列資料的口令關鍵字。
……省略其他輸出內容……
可見,11g透過ENCRYPTION選項增強了邏輯備份的加密功能,共有5種供選擇的選項。
2.使用ENCRYPTION選項的DATA_ONLY對邏輯備份資料進行加密
1)初始化備份環境
建立secooler使用者,並在其下建立了T表、初始化兩條資料。
C:\Users\secooler>sqlplus / as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on 星期日 10月 30 22:13:14 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create user secooler identified by secooler;
使用者已建立。
SQL> grant dba to secooler;
授權成功。
SQL> conn secooler/secooler
已連線。
SQL> create table t (x int);
表已建立。
SQL> insert into t values (1);
已建立 1 行。
SQL> insert into t values (2);
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t;
X
----------
1
2
2)在secooler使用者下建立directory用於存放備份介質
SQL> create directory dir as 'C:\Users\secooler';
目錄已建立。
3)加密邏輯備份secooler使用者資料
C:\Users\secooler>expdp secooler/secooler directory=dir dumpfile=secooler.dmp logfile=secooler.log encryption=data_only encryption_password=my_passwd
Export: Release 11.1.0.6.0 - 64bit Production on 星期日, 30 10月, 2011 22:21:21
Copyright (c) 2003, 2007, Oracle. All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
啟動 "SECOOLER"."SYS_EXPORT_SCHEMA_01": secooler/******** directory=dir dumpfile=secooler.dmp logfile=secooler.log encryption=data
_only encryption_password=********
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 64 KB
處理物件型別 SCHEMA_EXPORT/USER
處理物件型別 SCHEMA_EXPORT/SYSTEM_GRANT
處理物件型別 SCHEMA_EXPORT/ROLE_GRANT
處理物件型別 SCHEMA_EXPORT/DEFAULT_ROLE
處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE
處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/INDEX
處理物件型別 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
處理物件型別 SCHEMA_EXPORT/TABLE/COMMENT
處理物件型別 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
. . 匯出了 "SECOOLER"."T" 5.070 KB 2 行
已成功載入/解除安裝了主表 "SECOOLER"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
SECOOLER.SYS_EXPORT_SCHEMA_01 的轉儲檔案集為:
C:\USERS\SECOOLER\SECOOLER.DMP
作業 "SECOOLER"."SYS_EXPORT_SCHEMA_01" 已於 22:22:16 成功完成
C:\Users\secooler>dir secooler*
Volume in drive C has no label.
Volume Serial Number is 10B2-0C1B
Directory of C:\Users\secooler
2011/10/30 22:22 180,224 SECOOLER.DMP
2011/10/30 22:22 1,469 secooler.log
2 File(s) 181,693 bytes
0 Dir(s) 64,910,381,056 bytes free
加密備份生成成功。
3.使用加密的備份介質恢復資料
1)清理secooler使用者下的資料
SQL> conn secooler/secooler
已連線。
SQL> drop table t purge;
表已刪除。
2)嘗試不給出密碼的情況下進行資料匯入
C:\Users\secooler>impdp secooler/secooler directory=dir dumpfile=secooler.dmp logfile=secooler_impdp.log
Import: Release 11.1.0.6.0 - 64bit Production on 星期日, 30 10月, 2011 22:26:21
Copyright (c) 2003, 2007, Oracle. All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: 操作無效
ORA-39174: 必須提供加密口令。
報錯提示資訊很顯然,我們此時使用的是加密的備份介質,必須提供加密時的密碼。
3)提供密碼完成資料的匯入
C:\Users\secooler>impdp secooler/secooler directory=dir dumpfile=secooler.dmp logfile=secooler_impdp.log encryption_password=my_passwd
Import: Release 11.1.0.6.0 - 64bit Production on 星期日, 30 10月, 2011 22:27:46
Copyright (c) 2003, 2007, Oracle. All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功載入/解除安裝了主表 "SECOOLER"."SYS_IMPORT_FULL_01"
啟動 "SECOOLER"."SYS_IMPORT_FULL_01": secooler/******** directory=dir dumpfile=secooler.dmp logfile=secooler_impdp.log encryption_
password=********
處理物件型別 SCHEMA_EXPORT/USER
ORA-31684: 物件型別 USER:"SECOOLER" 已存在
處理物件型別 SCHEMA_EXPORT/SYSTEM_GRANT
處理物件型別 SCHEMA_EXPORT/ROLE_GRANT
處理物件型別 SCHEMA_EXPORT/DEFAULT_ROLE
處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 匯入了 "SECOOLER"."T" 5.070 KB 2 行
處理物件型別 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
作業 "SECOOLER"."SYS_IMPORT_FULL_01" 已經完成, 但是有 1 個錯誤 (於 22:27:53 完成)
資料匯入成功!
4.小結
使用資料泵的加密技術,可以有效地降低由於備份介質丟失後被輕易恢復的風險。建議在使用資料泵作為邏輯備份手段的朋友們選用此項功能。
Good luck.
secooler
11.10.30
-- The End --
1.對比10g和11g版本中的資料泵加密功能描述
1)10g中的expdp加密選項描述
C:\Users\secooler>expdp -help
Export: Release 10.2.0.3.0 - Production on 星期日, 30 10月, 2011 21:33:29
Copyright (c) 2003, 2005, Oracle. All rights reserved.
……省略其他輸出內容……
ENCRYPTION_PASSWORD 用於建立加密列資料的口令關鍵字。
……省略其他輸出內容……
2)11g中的expdp加密選項描述
C:\Users\secooler>expdp -help
Export: Release 11.1.0.6.0 - 64bit Production on 星期日, 30 10月, 2011 21:37:02
Copyright (c) 2003, 2007, Oracle. All rights reserved.
……省略其他輸出內容……
ENCRYPTION 加密部分或全部轉儲檔案, 其中有效關鍵字
值為: ALL, DATA_ONLY, METADATA_ONLY,
ENCRYPTED_COLUMNS_ONLY 或 NONE。
ENCRYPTION_ALGORITHM 指定應如何完成加密, 其中有效
關鍵字值為: (AES128), AES192 和 AES256。
ENCRYPTION_MODE 生成加密金鑰的方法, 其中有效關鍵字
值為: DUAL, PASSWORD 和 (TRANSPARENT)。
ENCRYPTION_PASSWORD 用於建立加密列資料的口令關鍵字。
……省略其他輸出內容……
可見,11g透過ENCRYPTION選項增強了邏輯備份的加密功能,共有5種供選擇的選項。
2.使用ENCRYPTION選項的DATA_ONLY對邏輯備份資料進行加密
1)初始化備份環境
建立secooler使用者,並在其下建立了T表、初始化兩條資料。
C:\Users\secooler>sqlplus / as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on 星期日 10月 30 22:13:14 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create user secooler identified by secooler;
使用者已建立。
SQL> grant dba to secooler;
授權成功。
SQL> conn secooler/secooler
已連線。
SQL> create table t (x int);
表已建立。
SQL> insert into t values (1);
已建立 1 行。
SQL> insert into t values (2);
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t;
X
----------
1
2
2)在secooler使用者下建立directory用於存放備份介質
SQL> create directory dir as 'C:\Users\secooler';
目錄已建立。
3)加密邏輯備份secooler使用者資料
C:\Users\secooler>expdp secooler/secooler directory=dir dumpfile=secooler.dmp logfile=secooler.log encryption=data_only encryption_password=my_passwd
Export: Release 11.1.0.6.0 - 64bit Production on 星期日, 30 10月, 2011 22:21:21
Copyright (c) 2003, 2007, Oracle. All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
啟動 "SECOOLER"."SYS_EXPORT_SCHEMA_01": secooler/******** directory=dir dumpfile=secooler.dmp logfile=secooler.log encryption=data
_only encryption_password=********
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 64 KB
處理物件型別 SCHEMA_EXPORT/USER
處理物件型別 SCHEMA_EXPORT/SYSTEM_GRANT
處理物件型別 SCHEMA_EXPORT/ROLE_GRANT
處理物件型別 SCHEMA_EXPORT/DEFAULT_ROLE
處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE
處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/INDEX
處理物件型別 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
處理物件型別 SCHEMA_EXPORT/TABLE/COMMENT
處理物件型別 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
. . 匯出了 "SECOOLER"."T" 5.070 KB 2 行
已成功載入/解除安裝了主表 "SECOOLER"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
SECOOLER.SYS_EXPORT_SCHEMA_01 的轉儲檔案集為:
C:\USERS\SECOOLER\SECOOLER.DMP
作業 "SECOOLER"."SYS_EXPORT_SCHEMA_01" 已於 22:22:16 成功完成
C:\Users\secooler>dir secooler*
Volume in drive C has no label.
Volume Serial Number is 10B2-0C1B
Directory of C:\Users\secooler
2011/10/30 22:22 180,224 SECOOLER.DMP
2011/10/30 22:22 1,469 secooler.log
2 File(s) 181,693 bytes
0 Dir(s) 64,910,381,056 bytes free
加密備份生成成功。
3.使用加密的備份介質恢復資料
1)清理secooler使用者下的資料
SQL> conn secooler/secooler
已連線。
SQL> drop table t purge;
表已刪除。
2)嘗試不給出密碼的情況下進行資料匯入
C:\Users\secooler>impdp secooler/secooler directory=dir dumpfile=secooler.dmp logfile=secooler_impdp.log
Import: Release 11.1.0.6.0 - 64bit Production on 星期日, 30 10月, 2011 22:26:21
Copyright (c) 2003, 2007, Oracle. All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: 操作無效
ORA-39174: 必須提供加密口令。
報錯提示資訊很顯然,我們此時使用的是加密的備份介質,必須提供加密時的密碼。
3)提供密碼完成資料的匯入
C:\Users\secooler>impdp secooler/secooler directory=dir dumpfile=secooler.dmp logfile=secooler_impdp.log encryption_password=my_passwd
Import: Release 11.1.0.6.0 - 64bit Production on 星期日, 30 10月, 2011 22:27:46
Copyright (c) 2003, 2007, Oracle. All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功載入/解除安裝了主表 "SECOOLER"."SYS_IMPORT_FULL_01"
啟動 "SECOOLER"."SYS_IMPORT_FULL_01": secooler/******** directory=dir dumpfile=secooler.dmp logfile=secooler_impdp.log encryption_
password=********
處理物件型別 SCHEMA_EXPORT/USER
ORA-31684: 物件型別 USER:"SECOOLER" 已存在
處理物件型別 SCHEMA_EXPORT/SYSTEM_GRANT
處理物件型別 SCHEMA_EXPORT/ROLE_GRANT
處理物件型別 SCHEMA_EXPORT/DEFAULT_ROLE
處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 匯入了 "SECOOLER"."T" 5.070 KB 2 行
處理物件型別 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
作業 "SECOOLER"."SYS_IMPORT_FULL_01" 已經完成, 但是有 1 個錯誤 (於 22:27:53 完成)
資料匯入成功!
4.小結
使用資料泵的加密技術,可以有效地降低由於備份介質丟失後被輕易恢復的風險。建議在使用資料泵作為邏輯備份手段的朋友們選用此項功能。
Good luck.
secooler
11.10.30
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-709931/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [EXPDP]使用11g的資料泵實現對邏輯備份資料進行加密加密
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- 使用crontab和expdp實現資料庫定期邏輯備份資料庫
- Java程式呼叫expdp資料泵實現自動邏輯備份Oracle資料庫的方案設計JavaOracle資料庫
- oracle邏輯備份之--資料泵Oracle
- oracle資料泵備份(Expdp命令)Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 邏輯備份全庫或者邏輯備份多個使用者的資料
- 資料庫邏輯備份(轉)資料庫
- 使用impdp,expdp資料泵進入海量資料遷移
- ORACLE資料庫的邏輯備份(轉)Oracle資料庫
- EXPDP資料泵使用方法
- 【Toad】使用Toad呼叫expdp資料泵備份資料步驟及注意事項
- Oracle 邏輯備份 expdp/impdpOracle
- expdp 邏輯備份指令碼指令碼
- 使用資料泵工具expdp工具匯出資料
- EXPDP 和 IMPDP 資料泵的使用_1
- EXPDP 和 IMPDP 資料泵的使用_2
- 資料泵 EXPDP 匯出工具的使用
- 如何在HarmonyOS對資料庫進行備份,恢復與加密資料庫加密
- 【EXPDP】不使用DIRECTORY引數完成expdp資料備份
- 使用Windows指令碼進行邏輯備份Windows指令碼
- 揭祕ORACLE備份之--邏輯備份(EXPDP)Oracle
- Elasticsearch 使用 NFS 進行資料備份ElasticsearchNFS
- Oracle使用資料泵 (expdp/impdp)實施遷移Oracle
- 實際使用Elasticdump工具對Elasticsearch叢集進行資料備份和資料還原Elasticsearch
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- Linux 平臺下 Oracle 資料泵備份(expdp) SHELL 指令碼LinuxOracle指令碼
- 資料庫(表)的邏輯備份與恢復資料庫
- 【EXPDP】使用expdp的QUERY引數限定備份資料的範圍
- mysqldump 進行資料備份MySql
- expdp impdp Data Pump(資料泵)使用解析
- 認識資料庫物理備份和邏輯備份區別資料庫
- 使用MySQL Workbench進行資料庫備份MySql資料庫
- Oracle 邏輯備份之EXPDP精講Oracle
- 【EXPDP】使用EXPDP備份資料時預估大小——ESTIMATE引數
- 資料加密-國密SM2對資料進行加密加密
- 資料泵基礎(impdp/expdp)