最近几天有同事执行merge into相关的语句报ora04030:
语句如下:
MERGE INTO table A
USING owner.tabl@db_links B
ON (A.USER_ID = B.USER_ID)
WHEN MATCHED THEN
UPDATE SET A.CUST_ID = B.CUST_ID WHERE A.MAIN_DISCNT_CODE = '4';
经过查看 ulimit -a 后发现是 有限制的 如下:
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 6194304
stack(kbytes) 4194304
memory(kbytes) unlimited
coredump(blocks) unlimited
nofiles(descriptors) unlimited
threads(per process) unlimited
processes(per user) unlimited
通过root用户 修改
/etc/security/limits
ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 4194304
memory(kbytes) unlimited
coredump(blocks) unlimited
nofiles(descriptors) unlimited
threads(per process) unlimited
processes(per user) unlimited
但是在plsql中执行预计还是报ora04030
通过sql/plus在本机中可以正常执行,经过分析是由于需要重启一下监听程序,重新加载ulimits -a中的数据;
重启一下监听,在plsql窗口中,可以正常执行;
参考文章:
http://blog.itpub.net/23135684/viewspace-712768/
http://blog.chinaunix.net/uid-22948773-id-3143002.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25462274/viewspace-2123367/
,如需转载,请注明出处,否则将追究法律责任。