Oracle使用impdp导入时遇报错:ORA-04031: unable to allocate 784 bytes of shared memory

本文记录了一次使用Oracle数据库进行数据导入时遇到的ORA-04031错误,该错误提示无法分配共享内存。通过调整shared_pool_size参数的大小,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

impdp  ETL/etl_pwd        DIRECTORY=DB_DIR DUMPFILE=ETL.dmp    logfile=ETL_20221008.log    table_exists_action=replace

这里报错就十分明显了,无法扩展shared pool的内存大小

Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER

UDI-04031: operation generated ORACLE error 4031
ORA-04031: unable to allocate 784 bytes of shared memory ("shared pool","SELECT job_id FROM sys.v_$da...","TCHK^edef1e20","qbcdef:qcpiqbk")
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4747
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4571
ORA-06512: at "SYS.KUPC$QUE_INT", line 1810
ORA-06512: at "SYS.KUPV$FT_INT", line 3417
ORA-06512: at "SYS.KUPV$FT_INT", line 3372
ORA-06512: at "SYS.KUPC$QUE_INT", line 617
ORA-25254: time-out in LISTEN while waiting for a message
ORA-06512: at "SYS.DBMS_AQ", line 1163
ORA-06512:

扩一下就好了

SQL> show parameter shared

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
hi_shared_memory_address             integer                0
max_shared_servers                   integer
shared_memory_address                integer                0
shared_pool_reserved_size            big integer            27682406
shared_pool_size                     big integer            528M
shared_server_sessions               integer
shared_servers                       integer                1

SQL> alter system set shared_pool_size=800m scope=both;

System altered.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值