温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

stream pool设置过小导致impdp失败该怎么办

发布时间:2021-11-04 17:40:34 来源:亿速云 阅读:110 作者:柒染 栏目:建站服务器

stream pool设置过小导致impdp失败该怎么办,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

数据泵导入时候遇到以下问题,
[oracle@justin pump]$ impdp justin/*** directory=pump dumpfile=justin_20110316.dmp

Import: Release 11.2.0.1.0 - Production on Thu Mar 31 12:32:35 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

UDI-31623: operation generated ORACLE error 31623
ORA-31623: a job is not attached to this session via the specified handle
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3263
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4488
ORA-06512: at line 1

查看metalink,有以下解释
Cause
For submitting an export job with datapump utility, we use queues, streams and java objects.
SQL tracing confirms that.

If we see any component is not valid in the database, we will see these errors.
By querying dba_registry we find the different component and their status.

SELECT comp_name, status, version
FROM dba_registry;


Solution
We can validate different components in the database by running $ORACLE_HOME/rdbms/admin/catpatch.sql via SQL*Plus:


spool catpatch.log
connect / as sysdba
shutdown immediate
startup migrate
SELECT comp_name, version, status
FROM dba_registry;
spool off

If you are on 10g Release 2, then perform.:

connect / as sysdba
spool dictreload.log
startup restrict
alter system set shared_pool_size = 512M scope=spfile;
alter system set java_pool_size = 150M scope=spfile;
alter system set aq_tm_processes = 1 scope=spfile;
alter system set cluster_database = false scope=spfile; -- If on RAC
shutdown immediate
startup upgrade
spool off
alter system set cluster_database = true scope=spfile; -- If on RAC
shutdown immediate
startup


看了感觉完全不搭界,于是查看alertlog,原来是streams pool设置过小造成的
ORA-04031: unable to allocate 56 bytes of shared memory ("streams pool","unknown object","streams pool","fixed allocation callback")
Incident details in: /oracle10g/diag/rdbms/justin/justin/incident/incdir_40167/justin_ora_10439_i40167.trc
查看sga,只有最小的564M,该参数又不能直接通过alter命令修改
SQL> show parameter sga_ma

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_max_size                         big integer 564M
SQL> ALTER SYSTEM set sga_max_size=1g;
ALTER SYSTEM set sga_max_size=1g
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

手工修改init文件,将sga_max_size设置成2g,然后生成spfile,再次执行导入成功

看完上述内容,你们掌握stream pool设置过小导致impdp失败该怎么办的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI