ITPub博客

首页 > Linux操作系统 > Linux操作系统 > stream pool设置过小导致impdp失败

stream pool设置过小导致impdp失败

原创 Linux操作系统 作者:myownstars 时间:2011-03-31 13:18:41 0 删除 编辑

数据泵导入时候遇到以下问题,
[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,再次执行导入成功

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15480802/viewspace-691380/,如需转载,请注明出处,否则将追究法律责任。

下一篇: linux安装mysql dbi
请登录后发表评论 登录
全部评论

注册时间:2010-03-18

  • 博文量
    375
  • 访问量
    3158687