问题描述
我有一个使用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
脚本:
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); 专家解答
这并不是真正的数据泵问题,问题是这个错误:
该过程使用的PGA超过了此事件所允许的范围。你必须与你的dba交谈,找出他们设置这个值的原因,并让他们增加它。
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9537851800346535926
ORA-10260: limit size (1048576) of the PGA heap set by event 10261 exceeded
该过程使用的PGA超过了此事件所允许的范围。你必须与你的dba交谈,找出他们设置这个值的原因,并让他们增加它。
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9537851800346535926
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




