We have about 15 packages with queries done in the form below.

open curs;
fetch curs into l_var;
close curs;


if the procedure is called more than once.(and the init parameter session_cache_cursor = 0).

Then we get x parse and x execute .
I want of course 1 parse and execute many.

If i change the cursor with the following

if cursor not open then
open;
end if;
fetch curs into var;

1. i have to put the init parameter open_cursor = high value then right?
2.Since i dont close the cursor, will i get in trouble later???