0

Oracle データベースをバックアップしようとすると、以下のエラーが発生しました。

UDE-04031: operation generated ORACLE error 4031
ORA-04031: unable to allocate 16 bytes of shared memory ("shared pool","SELECT j
ob_id FROM v$datapum...","SQLA","tmp")
ORA-06512: at "SYS.KUPV$FT_INT", line 2904
ORA-06512: at "SYS.KUPC$QUE_INT", line 572
ORA-25254: time-out in LISTEN while waiting for a message
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3326
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4551
ORA-06512: at line 1

どうすればこれを解決できますか?

4

2 に答える 2

1

SGA の共有プール部分でメモリが不足しています。

XE 11g を使用しているように見えるので、自動メモリ管理を使用していると思います。したがって、最初に初期化パラメーターを増やしてみますMEMORY_TARGET(そしてMEMORY_MAX_TARGET、 new を超えた場合MEMORY_TARGET)。

XE では最大 1GB に制限されていることに注意してください ( http://docs.oracle.com/cd/E17781_01/install.112/e18802/toc.htm#BABHJHHCを参照)。

これを変更するには、SYS として実行します。alter system set MEMORY_TARGET=1GB;

MEMORY_MAX_TARGET追加のパラメーターで実行を変更するscope=pfileには、インスタンスを再起動する必要があります。

これで解決しない場合 (最大 1GB が既に設定されている場合): AMM を部分的に無効にし、初期化パラメーターshared_pool_sizeを 250MB (またはそれ以上) に設定して、共有プールを拡大します (他のコンポーネント、バッファーキャッシュなどを犠牲にして)。また。

SGA 使用中のプールへのメモリの現在の割り当てを確認するには

select nvl(pool,name) pool
      ,sum(bytes)/1024/1024 MB 
  from v$sgastat 
 group by nvl(pool,name)
;

共有プールがすでに最大で、すでに 1GB の制限に達しているmemory_target場合は、XE では運が悪く、Standard Edition を検討する必要があります。

于 2012-07-24T12:51:33.543 に答える