使用DBMS_DATAPUMP API从不同架构导出表

问题描述

我需要使用DBMS_DATAPUMP api从不同架构中导出表。 导出具有以下错误的0.5 GB数据后,以下脚本失败:

ORA-39126: Worker unexpected Fatal error in KUPW$WORKER.FETCH_XML_OBJECTS [JOB:"MySchama3"]
ORA-10260: limit size () of the PGA heap set by event 10261 exceeded
ORA-10260: limit size (1048576) of the PGA heap set by event 10261 exceeded
ORA-06512: at "SYS.DBMS_SYS_ERROR",line 95
ORA-06512: at "SYS.KUPW$WORKER",line 11252

脚本:

   h1 := dbms_datapump.open (operation => 'EXPORT',job_mode => 'SCHEMA',job_name => exportJobName); 
dbms_datapump.set_parallel(handle => h1,degree => 15); 
dbms_datapump.add_file(handle => h1,filename => exportLogFile,directory => exportLogDir,filetype => 3); 
dbms_datapump.set_parameter(handle => h1,name => 'KEEP_MASTER',value => 0); 
dbms_datapump.Metadata_filter(handle => h1,name => 'SCHEMA_LIST',value => q'|'MySchema1','MySchema2','MySchema3'|');
dbms_datapump.Metadata_filter(handle => h1,name => 'NAME_EXPR',value => q'|in ('Table1','Table2','Table3') |',object_path => 'TABLE');
dbms_datapump.set_parameter(handle => h1,name => 'ESTIMATE',value => 'BLOCKS'); 
dbms_datapump.add_file(handle => h1,filename => exportJobName || '_EXPDAT_' || to_char(systimestamp,'dd-mm-yyyy_hh24-mi-ss-FF') || '_%U.DMP',directory => exportStageDir,filetype => 1); 
dbms_datapump.set_parameter(handle => h1,name => 'INCLUDE_MetaDATA',value => 1); 
dbms_datapump.set_parameter(handle => h1,name => 'DATA_ACCESS_METHOD',value => 'AUTOMATIC'); 
dbms_datapump.set_parameter(handle => h1,name => 'COMPRESSION',value => 'ALL');
dbms_datapump.set_parameter(handle => h1,name => 'ENCRYPTION_ALGORITHM',value => 'AES256');
dbms_datapump.set_parameter(handle => h1,name => 'ENCRYPTION_PASSWORD',value => exportEncryptionPwd);
dbms_datapump.set_parameter(handle => h1,name => 'FLASHBACK_SCN',value => flashbackSCN);
dbms_datapump.Start_job(h1);
dbms_datapump.WAIT_FOR_JOB(h1,job_state);
dbms_datapump.Detach(h1); 
exception
    WHEN others THEN
        raise_application_error(-20001,'An error was encountered - '||sqlCODE||' -ERROR- '||sqlERRM);

解决方法

能否请您提供数据库版本和补丁程序级别?此外,使用有关内存分配(SGA / PGA)的详细信息可能会有所帮助。您是否尝试分配更多的PGA?

关于, 丹尼尔

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...