處理aix oracle使用者下修改記憶體限制不生效-- 報ora04030

531968912發表於2016-08-12
最近幾天有同事執行merge into相關的語句報ora04030:
  語句如下:
          

  MERGE INTO table A

   USING  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部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2123367/,如需轉載,請註明出處,否則將追究法律責任。

相關文章