Oracle imp/impdp報ORA-04031:streams pool,..fixed allocation callback解決/分析
目的
將客戶測試完的A伺服器的u1使用者完全匯入到B伺服器給內部測試,改名為u2透過dblink網路傳輸,不需要有dmp檔案保留’
命令
Impdp test/test@192.168.0.B:1521/sid_name network_link=db_A remap_schema=u1:u2 remap_tablespace=users:user01
(
test/test@192.168.0.B:1521/sid_name 填寫導到目標庫伺服器地址)、(network_link=db_A要導的使用者的link)例如
A的U1匯入到B U2要在B上建立DBlink為:create public database link db_
A connect to 使用者 identified by 密碼 using '(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =IP)(PORT = 埠號)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME =例項)))';Impdp命令引數參考: impdp –help(impdp help=y
)
報錯重現
E:\app\Administrator\product\11.2.0\dbhome_1\BIN>impdp.exe test/test@192.168.0.B:1521/sid_name
Import: Release 11.2.0.1.0 - Production on 星期四 12月 5 18:46:51 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
UDI-31623: 操作產生了 ORACLE 錯誤 31623
ORA-31623: 作業沒有透過指定的控制程式碼連線到此會話
ORA-06512: 在 "SYS.DBMS_DATAPUMP", line 3326
ORA-06512: 在 "SYS.DBMS_DATAPUMP", line 4551
ORA-06512: 在 line 1
跟蹤下告警日誌
[root@kfdb trace]# tail -f alert_sid_name.log
Thu Dec 05 18:19:16 2013
Errors in file /oradata2/app/oracle/diag/rdbms/sid_name/sid_name/trace/sid_name_ora_30023.trc (incident=60782):
ORA-04031: 鏃犳硶鍒嗛厤 32 瀛楄妭鐨勫叡浜?唴瀛("streams pool","unknown object","streams pool","fixed allocation callback")
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Thu Dec 05 18:19:17 2013
Sweep [inc][60782]: completed
分析
ORA-4031:一般都因為記憶體不夠大造成(SHARED POOL SIZE ,Large_pool,Java_pool, streams pool…)
(空間不足可能包括碎片 而不能找到足夠的記憶體塊)
streams pool流池:用於快取流程式用於移動和複製資料所使用的佇列訊息
解決方案
DataPump的記憶體元件有PGA和SGA中的共享池Shared Pool、流池Streams Pool。
Expdp/Impdp對shared Pool的開銷主要體現在其執行過程中需要呼叫一系列的包體PACKGE BODY
它們包括:
PACKAGE_NAME TYPE SHARABLE_MEM
---------------------------------------- -------------------- ------------
SYS.KUPM$MCP PACKAGE BODY 425448 ...
DataPump內部利用高階佇列 Advanced Queue技術,所以也會用到流池Streams Pool,與之相關的Streams Pool元件包括:
POOL NAME BYTES
------------ -------------------------- ----------
streams pool sob_kgqmrec 19584 ....
此外DataPump還可能從Large Pool中分配PX msg pool作為並行程式通訊池,但是這種記憶體開銷很小。
總結
DataPump工具Expdp/Impdp需要從PGA和SGA的Shared Pool、Streams Pool、Streams Pool和Large Pool分配必要的記憶體。為了避免Expdp/Impdp出現ORA-04031/ORA-04030錯誤,我們有必要在自動管理模式下設定合理的pga_aggregate_target和sga_target(抑或者memory_target)記憶體初始化引數,如果使用手動的SGA管理的話,那麼有必要保證shared_pool_size的設定適宜,對於Streams Pool和Large Pool一般設定為150MB大小
(/oradata2/app/oracle/diag/rdbms/sid_name/sid_name/trace/sid_name_ora_30023.trc)
希望對您有幫助~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28602568/viewspace-1101362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- EXPDP Fails With ORA-04031 ("streams pool", ...)AI
- SHARED POOL ORA-04031錯誤分析
- expdp\impdp及exp\imp 詳解
- oracle 10g imp/exp IMPDP/EXPDPOracle 10g
- exp/imp出現錯誤通過expdp/impdp來解決
- ORA-04031 的原因分析解決方法
- ORA-12853和ORA-04031 large pool 不足錯誤解決
- oracle的imp報表空間不存在的解決Oracle
- buffer cache 和shared pool詳解 診斷和解決ORA-04031 錯誤
- Oracle的expdp/impdp工具和exp/imp工具比較Oracle
- oracle imp過慢的解決辦法Oracle
- 解決小程式 callback hell
- ios不支援fixed解決解決方案iOS
- ORA-04031 故障解決案例詳細分析一則
- oracle imp字符集問題的解決Oracle
- exp/imp與expdp/impdp區別
- Impdp ORA-39083、ORA-01403報錯問題分析解決
- ORA-04031錯誤分析和解決
- 案例分析:ora-04031與ora-04030錯誤分析與解決
- ORACLE expdp/impdp詳解Oracle
- ORACLE exp/imp匯入報錯IMP-00009&IMP-00028&IMP-00015Oracle
- exp/expdp與imp/impdp的區別
- EXP/IMP和EXPDP/IMPDP的區別
- expdp/impdp來解決exp/imp出現的錯誤並匯入指定表空間
- IMP後,報錯ORA-28100————之解決。
- 用Generators解決callback金字塔
- oracle 10g impdp與imp 引數選項不同地方Oracle 10g
- 解決CSS position:fixed 相容問題CSS
- Oracle ASM Allocation TableOracleASM
- Oracle StreamsOracle
- Oracle的exp/imp詳解Oracle
- oracle中imp命令詳解Oracle
- exp|imp和expdp|impdp以及sqlldr視訊SQL
- Callback詳解
- ORA-04031的傻瓜解決辦法
- oracle 11g streams 配置詳解Oracle
- 解決Oracle中Exp/Imp大量資料處理問題Oracle
- ORA-29283解決方法(impdp)?