1、问题
import abap时 一些包失败了。阅读log文件,发现两个主要的问题。
a、问题1
(IMP) ERROR: DbSlExeModify/DbSlLobPutPiece failed
rc = 99, table "GLFUNCA"
(SQL error 604)
error message returned by DbSl:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 116 bytes of shared memor y ("shared pool","select t.ts#,t.file#,t.block...","Typecheck","kccdef : qcdlgcd")
(DB) INFO: disconnected from DB
b、问题2
DbSl Trace: ORA-1403 when accessing table SAPUSER
还有就是说表或者索引不存在或者已经存在。
2、分析
在 C:/Program Files/sapinst_instdir/ERPEhP4/LM/COPY/ORA/SYSTEM/CENTRAL/AS-ABAP,下面有很多重要的文件。
*.tsk 主要就是import每一步的需要执行的文件。按照任意一个*(就是*.tsk文件前面的名字)搜一般会出现3个文件,*.cmd,*.log,*.tsk
如果你发现很多*.tsk.bck 文件,那就是由于原因错误重复安装导致生成的 。打开文件有 ok的是成功的,err是失败的,还有exm什么的就是还未执行的。
另外一个重要的文件就是import_state.properties,其实它是记录每一个任务包是不是成功的执行了 。成功是+,失败或者没安装是-。
3、办法
问题1
很好办,就是在init.ora文件调整oracle shared memory的值,网上很多。
问题2
1、将BCK文件和TSK文件进行比较,对TSK文件中的table or view进行补全!
2、删除BCK文件!
3、修改import.state.properties,将有上述问题的某一个导入对象的成功与否标识进行修改【如把SAPAPPL0_X =+改为SAPAPPL0_X=-】
详细参见 http://www.itpub.net/viewthread.php?tid=1271794&extra=&page=2