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

创建包的时候报错ORA-04030: out of process memory when trying to allocate XXXX  bytes (PLS non-lib hp,PAR.C:parchk:ptb)
觉得很奇怪,明明内存啥的都是够的呀,怎么会创建失败呢?
上网搜了下,翻了若干网页,在这里找到了靠谱的答案(从metalink上来的),摘录如下:
This is happening because your process memory is getting exhausted. The possible solutions would be 

- Increase the ulimit ( virtual memory ) to unlimited. 
% ulimit -a would give you the current settings. 

- Decrease the SGA size, if it is set to a very large value. This is required if you are hitting the address space limits. 

- You may also try decreasing the parameters like sort_area_size , bitmap_merge_area_size , create_bitmap_area_size . 

- You can also free up the unused PGA memory by running the procedure dbms_session.free_unused_user_memory.. 

If your application uses lots of PL/SQL tables, it might be a good idea to initialize them to NULL when not used. This will force 
the garbage collection and there by freeing up the process memory.
我这边的故障是因为SGA过大导致的,减少了相关的参数后(%pool_size、db_cache_size、%sga%),再次创建就成功了。
请使用浏览器的分享功能分享到微信等