SERIALLY_REUSABLE Pragma
If you need package data to exist only during a call to the packaged functions or procedures and not between calls of the current session, you can potentially save runtime memory by using the pragma SERIALLY_REUSABLE. You must include this pragma in both the specification and the body. After each call, PL/SQL closes the cursors and releases the memory used in the package.
This technique is applicable only to large user communities executing the same routine. Normally, the database server’s memory requirements grow in linear fashion, with the number of users. If you use SERIALLY_REUSABLE, this growth can be less than linear, because work areas for package states are kept in a pool in the SGA (System Global Area) and are shared among all users.