PL/SQL Objects Memory Usage Problem
Hi All,
I have a serious problem with PL/SQL Performance.
In one PL/SQL procedure I am calling a lot of PL/SQL Object Types and collections.
When this procedure is executed for 2000 rows it's look fine and work fast - 70 seconds.
But when I start it for 5000 rows, then the lot of object calls in this procedure make execution very slow, about 10 minutes. I supposed that the problem is the memory usage for PL/SQL objects, which may have some limitations.
But I don't found any materials about how the memory, used from Oracle for PL/SQL objects, can be extended.
In Oracle9i Reference I found two init parameters, related to object memory:
- OBJECT_CACHE_OPTIMAL_SIZE
- OBJECT_CACHE_MAX_SIZE_PERCENT
But they can be used only from some Objects API (Ask Tom Thread), in our case we just test one procedure from PL/SQL Developer Tool
Can you guys, send me your thoughts about this problem.
I don't think that if I post the whole source code it will be helpful. The main actions in the procedure are: reading one BLOB field (which is some ASCII file uploaded in the table) line by line and executing a lot validations through PL/SQL Object Types.
I don't mean extending of SHARED_POOL_SIZE or PGA_AGGREGATE_TARGET, just wondering is there some tips of how to make Oracle to use memory in better way when he work with large PL/SQL collections
Thank you in advance!