DataPump Export/Import Of LOBs Are Not Executed in Parallel
Applies to:
Oracle Database - Enterprise Edition - Version 10.2.0.1 to 12.1.0.2 [Release 10.2 to 12.1]Information in this document applies to any platform.
***Checked for relevance on 09-DEC-2014***
Symptoms
You try to export/import a table with a LOB column using DataPump with PARALLEL > 1 and observed that the parallelism is not used.
Cause
DataPump does not export or import table data in parallel, if the
table contains BasicFiles LOB columns. This was a restriction of
BasicFiles LOBs.
The restriction is also seen in 11gR2 where the
export of big table with clob (as SecureFile) is not done parallel. The
confirmation is received from DEV in - EXPORT OF CLOB AD SECUREFILE NOT DONE IN PARALLEL, closed as not a bug due to: exporting a table with LOBs is
still
something that Data Pump does not allow to use parallel DML (PDML). It
is being worked at and looking to fix it in 12.2 release. The
unpublished documentation Bug 21256503 : DATAPUMP CAN'T USE PARALLEL DML
FOR SECUREFILE LOBS, was created in order to correct 11gR2 Utilities
documentation with this information.
Solution
Oracle recommends to migrate to the new LOB storage format of
SecureFiles while working in 11gR1 onwards as internal tests made clear
that a huge decrease in time could be achieved by transform of
BasicFiles into SecureFiles.
The result of the internal tests can be found in Note 1595380.1 - DataPump Export (EXPDP) Is Taking Long time To Export Tables With BASICFILES.
Please note, a SecureFile can only be created in an automatic segment space management (ASSM) tablespace.
For more information, please refer to:
Note 1490228.1 Master Note: Overview of Oracle Large Objects (BasicFiles LOBs and SecureFiles LOBs)
While working in 10.2.x versions, or with BasicFiles LOBS, there are several workarounds which could be used to try to speed up the data transfer:
1. If the table is partitioned, then there would be <n> DataPump Worker processes active (where <n> is the value of the parallel parameter), each unloading data from one of the table partitions.
2. Include a where clause in the EXPDP command to segment the export and run multiple EXPDP to simulate parallelism:
The expdp command has a QUERY parameter which enables you to filter
the data that is exported by specifying a clause for a SQL SELECT
statement.
The query_clause is typically a WHERE clause for fine-grained row selection, but could be any SQL clause
This QUERY parameter could be used to run different exports from the
same table at the same time, exporting a range of rows in each
operation.
For example:
- First export could be run using QUERY parameter:
- Second export could be run using QUERY parameter:
- Third export could be run using QUERY parameter:
and so on.
Please note that DataPump can acquire exclusive locks and can get stuck if it cannot get it. For DataPump Import you may want to specify DATA_OPTIONS=DISABLE_APPEND_HINT, which can help with the locking issues on import.
Please refer to:
Note 462365.1 - DataPump Export (expdp) Or Import (impdp) Hangs On Lock
3. Excluding the use of DataPump, create table as select with parallel hint using a DBLINK to the target DB:
In the target DB, create a table as select using a dblink to the table in the source database. This query should include the parallel hint.
For example:
create table table2 (......) as select /*+ parallel (table1, 4) */ * from table1@dblink to source DB;
In this case you would need to keep in mind restrictions like the LONG RAW field, which raises error:
ORA-00997: illegal use of LONG datatype
when queried through dblink.
References
NOTE:1490228.1 - Master Note: Overview of Oracle Large Objects (BasicFiles LOBs and SecureFiles LOBs)- PRODUCT ENHANCEMENT: PARALLELISM OF DATAPUMP JOB ON TABLE WITH LOB COLUMN
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31393455/viewspace-2132394/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- export/importExportImport
- import、require 、export、export default、exports、module exportsImportUIExport
- import,export的支援[nodejs]ImportExportNodeJS
- Import Error: cannot import name ‘export_saved_modelImportErrorExport
- DataPump Export (EXPDP) Fails With Error LPX-216 Invalid CharacterExportAIError
- Export/import Datas To/from a Csv FileExportImport
- 新手關於import/export的理解ImportExport
- ES6 module模組 import exportImportExport
- JS/TS 的 import 和 export 用法小結JSImportExport
- node識別es6的 import/exportImportExport
- 詳解es6的export和import命令ExportImport
- ES6規範import和export用法總結ImportExport
- 如何讓瀏覽器支援 import 和export語法瀏覽器ImportExport
- ES6模組化之export和import的用法ExportImport
- react-native 之匯入(import)、匯出(export)深刻解析ReactImportExport
- 完全可傳輸的匯出/匯入(full transportable export/import)ExportImport
- 這幾個概念你可能還是沒搞清require、import和exportUIImportExport
- 通過 babel-node 執行 ES6 import/export 語法BabelImportExport
- Datapump:EXCLUDE/INCLUDE
- 探討ES6的import export default 和CommonJS的require module.exportsImportExportJSUI
- module.exports、exports 、export default之間的差異區別及與require、import的使用ExportUIImport
- export 和 export default 區別Export
- JavaScript中的export、export default、exports和module.exports(export、export default、exports使用詳細)JavaScriptExport
- export和export default的區別Export
- 6.exports、module.exports、export、export defalutExport
- JavaScript ES6中,export與export defaultJavaScriptExport
- ES6:export 與 export default 區別Export
- Oracle Parallel DMLOracleParallel
- 第2節:mysql.gtid_executed表/gtid_executed變數/gtid_purged變數的更改時機MySql變數
- ElasticSearch:Request cannot be executed; I/O reactor status: STOPPEDElasticsearchReact
- ES6 export 和 export default的區別Export
- ES6 export && export default 差異總結Export
- vSphere export openstackExport
- datapump 匯出匯入ORA-07445
- ORACLE for aix 11.2.0.1 DATAPUMP expdp之BUG 9470768OracleAI
- require()、import、import()有哪些區別?UIImport
- Python import相關內容區別介紹( import *** as 、from***import )PythonImport
- SAP UI5 Gateway Export 和 Client Export 的比較UIGatewayExportclient
- [20220128]Check the datapump file header information in Oracle.txtHeaderORMOracle