9i java_pool_size 設定不當 導致無法使用者exp 邏輯匯出
問題:
因為資料庫做遷移,新庫只做了share_pool和db_cache_size調整,做exp整庫匯出時出現如下錯誤:
連線到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
已匯出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即將匯出整個資料庫...
. 正在匯出表空間定義
. 正在匯出配置檔案
. 正在匯出使用者定義
. 正在匯出角色
. 正在匯出資源成本
. 正在匯出回退段定義
. 正在匯出資料庫連結
. 正在匯出序號
. 正在匯出目錄別名
. 正在匯出上下文名空間
. 正在匯出外部函式庫名稱
. 匯出 PUBLIC 型別同義詞
EXP-00008: 遇到 ORACLE 錯誤 4031
ORA-04031: 無法分配 4032 位元組的共享記憶體 ("shared pool","unknown object","joxs heap init","ioc_allocate_pal")
EXP-00000: 匯出終止失敗
分析:
1、看這表象第一是想到share pool大小是不是太小,故調整重啟後再次,錯誤依舊,檢視alert日誌,提示:Tue Jun 05 08:20:38 2012
Errors in file s:\stat\admin\udump\stat_ora_3760.trc:
ORA-04031: 無法分配 4032 位元組的共享記憶體 ("shared pool","unknown object","joxs heap init","ioc_allocate_pal")
2、再看stat_ora_3760.trc:
Dump file s:\stat\admin\udump\stat_ora_3760.trc
Tue Jun 05 08:20:38 2012
ORACLE V9.2.0.1.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Instance name: stat
Redo thread mounted by this instance: 1
Oracle process number: 27
Windows thread id: 3760, image: ORACLE.EXE
*** SESSION ID:(31.15805) 2012-06-05 08:20:38.000
ioc_allocate (size: 4096, heap name: *** SGA ***, flags: 9) caught 4031
*** 2012-06-05 08:20:38.000
ksedmp: internal or fatal error
ORA-04031: 無法分配 4032 位元組的共享記憶體 ("shared pool","unknown object","joxs heap init","ioc_allocate_pal")
Current SQL statement for this session:
SELECT SYNNAM, DBMS_JAVA.LONGNAME(SYNNAM2) SYNNAM2, DBMS_JAVA.LONGNAME(SYNTAB) SYNTAB, TABOWN, TABNODE, PUBLIC$, SYNOWN, SYNOWNID, TABOWNID, SYNOBJNO FROM SYS.EXU9PTS ORDER BY SYNTIME
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
_ksedmp+147 CALLrel _ksedst+0
_ksfdmp.108+e CALLrel _ksedmp+0 3
1003387C CALLreg 00000000 72EB190 3
100EA9AB CALLrel 10033630 805D5A8 23B77D74 1000 805C6BC
9
100323C0 CALLreg 00000000 805D5A8 805C670
10066030 CALLrel 10032310 805D5A8 100EA990 805C670 0
805C254 805C63C 805C640
FFFFFFFF
---這個dump提示有句sql語句看到沒:SELECT SYNNAM, DBMS_JAVA.LONGNAME(SYNNAM2) SYNNAM2, DBMS_JAVA.LONGNAME(SYNTAB) SYNTAB, TABOWN, TABNODE, PUBLIC$, SYNOWN, SYNOWNID, TABOWNID, SYNOBJNO FROM SYS.EXU9PTS ORDER BY SYNTIME
再用dbms_java的包查詢同義詞,有木有!莫非跟oralce裡面某個java的元件有關?遂檢視java_pool_size 發現為0,貌似有點頭緒了。
解決:
修改java_pool_size為適合大小,我改成10M,再次備份,問題修復!
---相關參考來至chinaunix
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22907091/viewspace-732015/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- EXP邏輯匯出資料的呼叫方式
- 版本不當導致的exp出錯
- memory_target設定不當導致資料庫無法啟動的問題資料庫
- LD_LIBRARY_PATH設定不當導致無法登陸和啟動oracleOracle
- 使用exp/imp匯出匯入資料(邏輯備份恢復)
- NAMES.DIRECTORY_PATH配置不當導致無法連線oracleOracle
- AIX平臺HA雙機互備環境定製exp邏輯匯出指令碼AI指令碼
- 資料庫表匯出不全導致tomcat無法釋出程式資料庫Tomcat
- ant design 中,使用dva/fetch 設定導致無法從後臺匯出excel的問題Excel
- db_file_name_convert設定出錯導致備庫無法recovery
- 並行設定不當導致資料處理速度變慢並行
- vim 編輯報錯導致無法正常退出和編輯
- 設定自動匯出(exp)備份指令碼指令碼
- DDL觸發器設定導致DDL無法執行(二)觸發器
- DDL觸發器設定導致DDL無法執行(一)觸發器
- exp匯出compress引數導致的imp時擴充套件太大套件
- 在settings加入AUTHENTICATION_BACKENDS設定導致root使用者無法登入問題
- oracle SGA設定過大導致資料庫無法啟動Oracle資料庫
- exp 匯出 全庫,全使用者
- 【DataGuard】由於備庫引數設定不當導致資料檔案無法新增的故障分析
- exp 匯出時帶時間格式的檔案設定
- exp匯出檔案時 字符集設定問題
- Oracle 11gR2 用exp無法匯出空表解決方法Oracle
- 【DataGuard】由於備庫引數設定不當導致資料檔案無法新增的故障分析(轉)
- 【shmmax】由於shmmax設定過小導致dbca建庫無法完成HMM
- Oracle 11g 預設不給空表分配空間,exp匯出備份不匯出空表!Oracle
- 邏輯是調起輸入法和設定初始
- DELETE資料導致INSERT邏輯讀增加delete
- Oracle11g用exp無法匯出空表的解決方法Oracle
- 【SSL】MAC電腦域名無法解析-啟用IPV6設定導致Mac
- 子div設定float後會導致父div無法自動撐開
- ORACLE_HOME設定錯誤導致本地sqlplus無法登陸OracleSQL
- SQL Server 因設定最大記憶體過小導致無法啟動SQLServer記憶體
- 【ASM】RAC19C因引數設定不當,asm無法啟動ASM
- expdp不導資料而匯出統計資訊導致統計資訊鎖定(ORA-20005)
- 當邏輯程式設計遭遇CQRS時程式設計
- 雙網路卡Server,listerner配置不當導致Clinet無法連線DB一例Server
- 又一例SPFILE設定錯誤導致資料庫無法啟動資料庫