stream pool设置过小导致impdp失败该怎么办
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失败该怎么办的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!