ora-04030错误。

cnyxlxw 2007-07-05 09:15:03
操作系统win2k 内存2.5g
在编译某个存储过程时产生了 04030错误。
更改SGA为800m,shared_pool为200M
Pga为240M,open_cursors为500
但是还是报同样的错误。
怀疑是操作系统的内存的大小的限制,但是不知道该如何处理。

...全文
1030 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnyxlxw 2007-07-06
  • 打赏
  • 举报
回复
版本9.2.0.1
cnyxlxw 2007-07-06
  • 打赏
  • 举报
回复
还有一点就是此package是加密过的 是从别的地方拿过来的
先汗一个
cnyxlxw 2007-07-06
  • 打赏
  • 举报
回复
此过程在其他服务器上编译成功
服务器环境 8g内存 4颗2gcpu win2003操作系统
bobfang 2007-07-06
  • 打赏
  • 举报
回复
出现4030错误后,select * from v$sgastat;
bobfang 2007-07-06
  • 打赏
  • 举报
回复
DB重新启动后,先不编译这个过程,先编译一个短的过程是否也出错?DB的版本?在alert文件中是否有错误信息?
cnyxlxw 2007-07-06
  • 打赏
  • 举报
回复
我公司的服务器是ibmXseries250 1gb内存 当编译此过程的时候内存就会极速降低到几m甚至不足1m ,后来换成一个配置比较高的pc机 2g内存 win2000系统 还是和前边的情况一样,当pc机的内存增加到2.5时 看pc机的内存有大概600多m的剩余 但是还是报ora-04030错误。
照网上对ora参数进行调整也不起作用。
cnyxlxw 2007-07-06
  • 打赏
  • 举报
回复
过程大概1000行左右,不是这一个出错,其它的部分的短的大概3-400行的也报这个错误!!!
每次更改完参数db 都会重启一下。
bobfang 2007-07-06
  • 打赏
  • 举报
回复
仅仅编译那一个过程出错?DB重新启动过?过程很长很复杂吗?
cnyxlxw 2007-07-06
  • 打赏
  • 举报
回复
上边您说的这些我都进行了调整 除了limited 因为我不知道在win2k系统下如何调整!!!
ruru023 2007-07-05
  • 打赏
  • 举报
回复
ORA-04030: 在尝试分配 。。。字节 (hash-join subh,kllcqas:kllsltba) 时进程内存不足

ORA-04030:out of process memory when trying to allocate string bytes

下面分析了ORA-04030的出现原因及简单解决方法



ORA-04030出现的基本都是过多的使用memory造成的

Oracle process使用的内存数量是有一定限制的:

A. 对于32 BIT系统,有SGA 1.7G限制


B. 某些OS系统本身也有一些内存参数限制

--运行 ulimit 看看

C. OS系统本身物理内存+Swap的限制


我们应该检查DB使用的
SGA + PGA 是否超过 上面的限制

SGA 包括 db_cache,shared_pool,large_pool,java_pool
session的PGA包括
sort_area_size/Hash_area_size/*_area_size 或者 pga_aggregate_target
还有执行的CODE以及一些data也会占用空间。

然后再根据情况降低里面的某些值了,比如 db_cache, sort_area_size 等

如果是OS系统的某Limited造成的,可以考虑放开限制

man ulimit 看看如何放开限制……

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧