问题描述
我需要使用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?
关于, 丹尼尔