Oracle12c中資料泵新特性之功能增強(expdp, impdp)
的資料泵功能在10g中被引進。本文對資料泵在12c中的增強做一個概覽。
1. 禁用日誌選項(DISABLE_ARCHIVE_LOGGING)
Impdp的TRANSFORM引數已經擴充套件為包括DISABLE_ARCHIVE_LOGGING選項。該選項的預設值為 "N",不會影響日誌行為。將該選項設定為"Y",這將會使表和索引在匯入前將日指屬性設定為NOLOGGING,從而匯入期間減少相關日誌的產生,匯入後再將日誌屬性重置為LOGGING。
TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y
透過附上物件型別,可以把影響限定為特定物件型別(TABLE or INDEX)。
TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y:TABLE
TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y:INDEX
如下例所示。
$ impdp system/Password1@pdb1directory=test_dir dumpfile=emp.dmp logfile=impdp_emp.log \
remap_schema=scott:test transform=disable_archive_logging:y
如果執行在FORCE LOGGING模式下,DISABLE_ARCHIVE_LOGGING選項將沒什麼影響。
2. LOGTIME引數
LOGTIME引數決定時間戳是否將包括在expdp和impdp功能的輸出資訊中。
LOGTIME=[NONE | STATUS |LOGFILE | ALL]
可用值如下。
1) NONE :預設值,指示輸出中不包括時間戳,輸出和之前的版本相似。
2) STATUS :時間戳包括在控制檯輸出中,但不會在日誌檔案中出現。
3) LOGFILE:時間戳出現在日誌檔案中,但不會輸出到控制檯。
4) ALL :時間戳出現在日誌檔案和控制檯輸出中。
如下例所示。
$ expdp scott/tiger@pdb1 tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.loglogtime=all
Export: Release 12.1.0.1.0 - Production onWed Nov 20 22:11:57 2013
Copyright (c) 1982, 2013, Oracle and/or itsaffiliates. All rights reserved.
Connected to: Oracle Database 12c EnterpriseEdition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security,OLAP, Advanced Analytics
and Real Application Testing options
20-NOV-13 22:12:09.312: Starting"SCOTT"."SYS_EXPORT_TABLE_01": scott/********@pdb1 tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.log logtime=all
20-NOV-13 22:12:13.602: Estimate in progressusing BLOCKS method...
20-NOV-13 22:12:17.797: Processing objecttype TABLE_EXPORT/TABLE/TABLE_DATA
20-NOV-13 22:12:18.145: Total estimationusing BLOCKS method: 64 KB
20-NOV-13 22:12:30.583: Processing objecttype TABLE_EXPORT/TABLE/TABLE
20-NOV-13 22:12:33.649: Processing objecttype TABLE_EXPORT/TABLE/INDEX/INDEX
20-NOV-13 22:12:37.744: Processing objecttype TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
20-NOV-13 22:12:38.065: Processing objecttype TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
20-NOV-13 22:12:38.723: Processing objecttype TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
20-NOV-13 22:12:41.052: Processing objecttype TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
20-NOV-13 22:12:41.337: Processing objecttype TABLE_EXPORT/TABLE/STATISTICS/MARKER
20-NOV-13 22:13:38.255: . . exported"SCOTT"."EMP" 8.75 KB 14 rows
20-NOV-13 22:13:40.483: Master table"SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
20-NOV-13 22:13:40.507:******************************************************************************
20-NOV-13 22:13:40.518: Dump file set forSCOTT.SYS_EXPORT_TABLE_01 is:
20-NOV-13 22:13:40.545: /home/oracle/emp.dmp
20-NOV-13 22:13:40.677: Job"SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at WedNov 20 22:13:40 2013 elapsed 0 00:01:36
$
3. 像表一樣匯出檢視
VIEWS_AS_TABLES引數允許把檢視當成表匯出。表結構匹配檢視列,檢視查詢結果對應表資料。
VIEWS_AS_TABLES=[schema_name.]view_name[:table_name],...
如下例所示。
CONN scott/tiger@pdb1
CREATE VIEW emp_v AS
SELECT * FROM emp;
用VIEWS_AS_TABLES引數匯出檢視。
$ expdp scott/tiger views_as_tables=scott.emp_vdirectory=test_dir dumpfile=emp_v.dmp logfile=expdp_emp_v.log
Expdp預設會建立一個臨時表來作為檢視的複製,但不包含資料,只是為匯出提供一個後設資料源。此外,也可以確定一個結構合適的表來代替。但這也許只有在只讀庫上才有意義。
4. 匯入時改變表壓縮
TRANSFORM引數的TABLE_COMPRESSION_CLAUSE子句允許表匯入過程中動態改變表的壓縮特性。
TRANSFORM=TABLE_COMPRESSION_CLAUSE:[NONE |compression_clause]
TABLE_COMPRESSION_CLAUSE引數的可選值如下。
1) NONE :漏掉表壓縮子句,表繼承表空間的壓縮屬性。
2) NOCOMPRESS:禁用表壓縮。
3) COMPRESS:開啟基本表壓縮。
4) ROW STORE COMPRESSBASIC :和COMPRESS一樣。
5) ROW STORE COMPRESSADVANCED :開啟高階壓縮,也被稱為OLTP壓縮。
6) COLUMN STORECOMPRESS FOR QUERY :Exadata和ZFS儲存配置中可用的混合列壓縮(HCC)。
7) COLUMN STORECOMPRESS FOR ARCHIVE :Exadata和ZFS儲存配置中可用的混合列壓縮。
包括空格的壓縮子句需要用單引號或雙引號括起來。
如下例所示。
$ impdp system/Password1@pdb1directory=test_dir dumpfile=emp.dmp logfile=impdp_emp.log \
remap_schema=scott:test transform=table_compression_clause:compress
5. 匯入時改變表的LOB儲存
TRANFORM引數的LOB_STORAGE子句使得在進行非可傳輸匯入操作時改變表的壓縮特性。
TRANSFORM=LOB_STORAGE:[SECUREFILE | BASICFILE| DEFAULT | NO_CHANGE]
LOB_STORAGE子句可以為如下值。
1) SECUREFILE :LOB資料儲存為SecureFiles。
2) BASICFILE :LOB資料儲存為BasicFiles。
3) DEFAULT :LOB資料的儲存由資料庫自行決定。
4) NO_CHANGE :LOB資料的儲存和原來的物件一樣。
舉例如下。
$ impdp system/Password1@pdb1directory=test_dir dumpfile=lob_table.dmp logfile=impdp_lob_table.log \
transform=lob_storage:securefile
6. 匯出檔案壓縮選項
作為高階壓縮選項的一部分,你可以確定COMPRESSION_ALGORITHM引數以確定匯出檔案的壓縮級別。這和先前討論的表壓縮沒關係。
COMPRESSION_ALGORITHM=[BASIC | LOW | MEDIUM |HIGH]
可用值如下。
1) BASIC :和先前版本的壓縮一樣。提供很好的壓縮,但對效能影響不大。
2) LOW :用於降低CPU消耗比壓縮率更重要的場景。
3) MEDIUM :推薦使用的選項。和BASIC特性類似,但用了不同的演算法。
4) HIGH:最大限度壓縮,但會消耗更多CPU。
舉例如下。
$ expdp scott/tiger tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.log \
compression=all compression_algorithm=medium
7. 多宿主選項支援(CDB和PDB)
Oracle12c引進了多宿主選項,允許多個可插拔資料庫(PDBs)存在於一個容器資料庫(CDB)。將資料泵用於PDB和用於非CDB資料庫沒太大差別。
從11.2.0.2庫以FULL選項匯出的資料可以匯入一個新PDB中,這和之前的完全匯入一樣,但會有些限制。
8. 審計命令
透過建立審計策略,可以對Oracle 12c的資料泵作業進行審計。
CREATE AUDIT POLICY policy_name
ACTIONS COMPONENT=DATAPUMP [EXPORT | IMPORT | ALL];
當該策略用於使用者時,使用者的資料泵作業資訊將被審計。如下策略會審計所有的資料泵操作。該策略被用於使用者SCOTT。
CONN / AS SYSDBA
CREATE AUDIT POLICY aud_dp_plcy ACTIONSCOMPONENT=DATAPUMP ALL;
AUDIT POLICY aud_dp_plcy BY scott;
執行如下資料泵命令。
$ expdp scott/tiger tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.log
檢查審計資訊時,會發現該資料泵作業已被審計。
-- Flush audit information to disk.
EXECDBMS_AUDIT_MGMT.FLUSH_UNIFIED_AUDIT_TRAIL;
SET LINESIZE 200
COLUMN event_timestamp FORMAT A30
COLUMN dp_text_parameters1 FORMAT A30
COLUMN dp_boolean_parameters1 FORMAT A30
SELECT event_timestamp,
dp_text_parameters1,
dp_boolean_parameters1
FROM unified_audit_trail
WHERE audit_type = 'Datapump';
EVENT_TIMESTAMP DP_TEXT_PARAMETERS1 DP_BOOLEAN_PARAMETERS1
------------------------------------------------------------ ------------------------------
14-DEC-13 09.47.40.098637 PM MASTER TABLE: "SCOTT"."SYS_EX MASTER_ONLY:FALSE, DATA_ONLY:
PORT_TABLE_01" , JOB_TYPE: EXP FALSE, METADATA_ONLY: FALSE,
ORT, METADATA_JOB_MODE: TABLE_DUMPFILE_PRESENT: TRUE, JOB_RE
EXPORT, JOB VERSION: 12.1.0.0. STARTED:FALSE
0, ACCESS METHOD: AUTOMATIC, D
ATA OPTIONS: 0, DUMPER DIRECTO
RY: NULL REMOTE LINK: NULL, T
ABLE EXISTS: NULL, PARTITION O
PTIONS: NONE
SQL>
9. 加密口令增強
先前的版本中,資料泵加密口令需要在命令列輸入ENCRYPTION_PASSWORD引數,這樣很容易偷窺口令。
Oracle 12c中,ENCRYPTION_PWD_PROMPT引數可以加密但不要求在命令列輸入口令,而是執行時提示使用者輸入口令,且命令不回顯。
ENCRYPTION_PWD_PROMPT=[YES | NO]
舉例如下。
$ expdp scott/tiger tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.log \
encryption_pwd_prompt=yes
Export: Release 12.1.0.1.0 - Production onSat Dec 14 21:09:11 2013
Copyright (c) 1982, 2013, Oracle and/or itsaffiliates. All rights reserved.
Connected to: Oracle Database 12c EnterpriseEdition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options
Encryption Password:
Starting"SCOTT"."SYS_EXPORT_TABLE_01": scott/******** tables=emp directory=test_dir
dumpfile=emp.dmp logfile=expdp_emp.logencryption_pwd_prompt=yes
Estimate in progress using BLOCKS method...
Processing object typeTABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 64 KB
Processing object typeTABLE_EXPORT/TABLE/TABLE
Processing object typeTABLE_EXPORT/TABLE/INDEX/INDEX
Processing object typeTABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object typeTABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object typeTABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object typeTABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object typeTABLE_EXPORT/TABLE/STATISTICS/MARKER
Processing object typeTABLE_EXPORT/TABLE/POST_TABLE_ACTION
. . exported"SCOTT"."EMP" 8.765 KB 14 rows
Master table"SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SCOTT.SYS_EXPORT_TABLE_01is:
/tmp/emp.dmp
Job"SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at SatDec 14 21:09:55 2013 elapsed 0 00:00:41
$
10. 可傳輸資料庫
現在,TRANSPORTABLE選項可以和 FULL選項一起使用來傳輸整個資料庫。
$ expdp system/Password1 full=Ytransportable=always version=12 directory=TEMP_DIR \
dumpfile=orcl.dmp logfile=expdporcl.log
該方法也可以被用來升級資料庫。
11. 其他增強
1) 資料泵支援擴充套件資料型別,但VERSION引數需要設定為12.1之後的版本。
2) 有域索引的LOB列現在可以充分裡用直接路徑載入的優勢。
說明:參考http://blog.csdn.net/tuning_optmization/article/details/50544310
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2139012/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12c新特性 - Data Pump (expdp/impdp) 功能增強Oracle
- Oracle12c功能增強 新特性之管理功能的增強Oracle
- Oracle12c功能增強新特性之維護&升級&恢復&資料泵等Oracle
- Oracle12c 中RAC功能增強新特性之ASM&GridOracleASM
- Oracle12c中資料刪除(delete)新特性之資料庫內歸檔功能Oracledelete資料庫
- 資料泵基礎(impdp/expdp)
- Oracle12c中效能最佳化&功能增強新特性之臨時undoOracle
- expdp impdp Data Pump(資料泵)使用解析
- EXPDP 和 IMPDP 資料泵的使用_1
- EXPDP 和 IMPDP 資料泵的使用_2
- Oracle12c中效能最佳化&功能增強新特性之重大突破——記憶體列儲存新特性Oracle記憶體
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- 按計劃瞭解資料泵expdp/impdp
- Oracle12c中功能及效能新特點之with子句的增強Oracle
- expdp, impdp characteristic 特性--索引索引
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- Oracle使用資料泵 (expdp/impdp)實施遷移Oracle
- 資料庫泵(expdp/impdp)匯入匯出流程資料庫
- 10g 資料泵(Data Dump) -- EXPDP & IMPDP [zt]
- 使用impdp,expdp資料泵進入海量資料遷移
- Oracle11新特性——分割槽功能增強Oracle
- 資料泵datapump(expdp/impdp)的parfile用法,避免跳脫字元字元
- Oracle12c中效能最佳化增強新特性之資料庫智慧快閃記憶體Oracle資料庫記憶體
- Oracle11新特性——分割槽功能增強(五)Oracle
- Oracle11新特性——分割槽功能增強(四)Oracle
- Oracle11新特性——分割槽功能增強(三)Oracle
- Oracle11新特性——分割槽功能增強(二)Oracle
- Oracle11新特性——分割槽功能增強(一)Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 使用EXPDP/IMPDP匯入匯出表中資料/後設資料測試
- Oracle 12c新特性 - Active Data Guard功能增強Oracle
- Oracle11新特性——備份恢復功能增強Oracle
- Oracle11g新特性——LOB型別功能增強Oracle型別
- expdp和impdp自動使用resumable特性
- 【Datapump】Oracle資料泵遷移資料命令參考(expdp/impdp說明)Oracle
- Oracle12c中效能最佳化&功能增強新特性之全域性索引DROP和TRUNCATE 分割槽的非同步維護Oracle索引非同步
- 資料泵(expdp,impdp)高版本匯入低版本操作例項
- Oracle12c新特性之基本操作Oracle