In order to save you PINNING evertime you start the database.. (from failure etc)


create the following packages in the SYS Schema (via SVRMGRL < 9i, otherwise sqlplus) to execute on database startup.

CREATE OR REPLACE PROCEDURE sys.proc_pkgs_keep AS
BEGIN
sys.dbms_shared_pool.keep('SYS.STANDARD');
sys.dbms_shared_pool.keep('SYS.DBMS_STANDARD');
sys.dbms_shared_pool.keep('SYS.DBMS_OUTPUT');
sys.dbms_shared_pool.keep('SCOTT.TEST_PACKAGE','P');
END;
/

CREATE OR REPLACE TRIGGER db_startup_pin AFTER STARTUP ON DATABASE
BEGIN
sys.proc_pkgs_keep;
END;
/

This will automatically pin your packages at databae startup.

Cheers,