PL/SQL 函数在执行时抛出 Out Process Memory 错误
我有 PL/SQL 函数,它被编程为对一组数据进行排序。当直接作为 PL/SQL 函数调用时,该函数工作正常,没有任何错误。
但是,当我通过 Unix Shell 脚本调用此函数时,即使脚本返回成功代码并抛出 Out Process Memory Error
并且函数实际上并未执行。
我已经验证了 DB Index 空间和临时空间,其中空闲空间超过 50%
I have PL/SQL function, which is programmed to sort a set of data. This function work fine without any error, when called directly as a PL/SQL Function.
However, when I call this Function Via a Unix Shell Script, even though the script returns a success code and throws an Out Process Memory Error
and function is actually not executed.
I have verified the DB Index spaces and temp spaces, which are more than 50% free spaces
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您收到的错误可能是
ORA-04030:进程内存不足
。这意味着您的进程已达到内存限制。 (比如,杜尔)。当您在查询中调用该函数时,为什么它不会打动您?谁能告诉我?也许您正在对不同数量的数据进行排序?也许环境条件不同?
此错误可能表明您的 RAM 不足,但也可能意味着您的交换空间(即磁盘空间)不足。如果是 RAM 并且您有一些空闲容量,则可以增加
pga_aggregate_target
。如果是交换,那么您需要让系统管理员处理此情况。The error you are getting is presumably
ORA-04030: out of process memory
. This means your process is hitting a memory limit. (like, durr).Why doesn't it hit you when you call the function in a query? Who can tell? Perhaps you are sorting different amounts of data? Perhaps there are different ambient conditions?
This error might indicate you're running out of RAM but alternatively it could mean you're running out of swap (i.e. disk space). If it is RAM and you have some spare capacity you can increase
pga_aggregate_target
. If it is swap then you need to get your sysadmin guys on the case.