alternately you can put in into a sql file and run/start at sql from statup 
script. No need for any trigger...File may be added with additional packages 
for pinning...

Regards
Rafiq




Reply-To: [EMAIL PROTECTED]
To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]>
Date: Sat, 20 Apr 2002 13:08:20 -0800


If on 8i you could use a startup trigger for this.  Here's mine:

create or replace trigger sys.pin_db_objects
after startup on database
begin
     sys.dbms_shared_pool.keep('SYS.DBMSZEXP_SYSPKGGRNT');
     sys.dbms_shared_pool.keep('SYS.DBMS_ALERT');
     sys.dbms_shared_pool.keep('SYS.DBMS_APPLICATION_INFO');
     sys.dbms_shared_pool.keep('SYS.DBMS_AQADM_SYS');
     sys.dbms_shared_pool.keep('SYS.DBMS_AQ_EXP_QUEUES');
     sys.dbms_shared_pool.keep('SYS.DBMS_AQ_IMPORT_INTERNAL');
     sys.dbms_shared_pool.keep('SYS.DBMS_AQ_SYS_EXP_INTERNAL');
     sys.dbms_shared_pool.keep('SYS.DBMS_ASYNCRPC_PUSH');
     sys.dbms_shared_pool.keep('SYS.DBMS_DDL');
     sys.dbms_shared_pool.keep('SYS.DBMS_DDL_INTERNAL');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFER');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFERGEN');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFERGEN_AUDIT');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFERGEN_INTERNAL');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFERGEN_LOB');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFERGEN_UTIL');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFER');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFER_IMPORT_INTERNAL');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFER_INTERNAL_SYS');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFER_QUERY_UTL');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFER_SYS');
     sys.dbms_shared_pool.keep('SYS.DBMS_DEFER_SYS_PART1');
     sys.dbms_shared_pool.keep('SYS.DBMS_DESCRIBE');
     sys.dbms_shared_pool.keep('SYS.DBMS_EXPORT_EXTENSION');
     sys.dbms_shared_pool.keep('SYS.DBMS_IJOB');
     sys.dbms_shared_pool.keep('SYS.DBMS_INTERNAL_TRIGGER');
     sys.dbms_shared_pool.keep('SYS.DBMS_JOB');
     sys.dbms_shared_pool.keep('SYS.DBMS_LOCK');
     sys.dbms_shared_pool.keep('SYS.DBMS_OUTPUT');
     sys.dbms_shared_pool.keep('SYS.DBMS_PRVTRMIE');
     sys.dbms_shared_pool.keep('SYS.DBMS_REFRESH_EXP_LWM');
     sys.dbms_shared_pool.keep('SYS.DBMS_REFRESH_EXP_SITES');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_ADMIN');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_CACHE');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_DECL');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_FLA_UTL');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_INTERNAL');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_MAS');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_RGT_EXP');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_UTL');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_UTL2');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_UTL3');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_UTL4');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_RPC');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPCAT_RPC_UTL');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPUTIL');
     sys.dbms_shared_pool.keep('SYS.DBMS_REPUTIL2');
     sys.dbms_shared_pool.keep('SYS.DBMS_RMGR_GROUP_EXPORT');
     sys.dbms_shared_pool.keep('SYS.DBMS_RMGR_PACT_EXPORT');
     sys.dbms_shared_pool.keep('SYS.DBMS_RMGR_PLAN_EXPORT');
     sys.dbms_shared_pool.keep('SYS.DBMS_SESSION');
     sys.dbms_shared_pool.keep('SYS.DBMS_SNAP_INTERNAL');
     sys.dbms_shared_pool.keep('SYS.DBMS_SQL');
     sys.dbms_shared_pool.keep('SYS.DBMS_STANDARD');
     sys.dbms_shared_pool.keep('SYS.DBMS_SYSTEM');
     sys.dbms_shared_pool.keep('SYS.DBMS_SYS_SQL');
     sys.dbms_shared_pool.keep('SYS.DBMS_UTILITY');
     sys.dbms_shared_pool.keep('SYS.DBMS_ZHELP');
     sys.dbms_shared_pool.keep('SYS.DBMS_ZHELP_IR');
     sys.dbms_shared_pool.keep('SYS.STANDARD');
     sys.dbms_shared_pool.keep('SYS.UTL_RAW');
     sys.dbms_shared_pool.keep('PERFSTAT.STATSPACK');
end;
/


 > "Bunyamin K. Karadeniz" wrote:
 >
 > I want to pin most run packages , I have loeded them into a table. For
 > this I have written ,
 >
 >
 > create or replace procedure pin_packages_defined as
 > sql_sentence varchar2(200);
 > cursor_name INTEGER;
 > rows_processed INTEGER;
 > CURSOR tab_cur IS SELECT owner,object_name FROM
 > arsiv.pin_aday_objeler;
 > tab_row tab_cur%ROWTYPE;
 > BEGIN
 > FOR tab_row IN tab_cur LOOP
 > --EXECUTE IMMEDIATE 'EXEC
 > 
SYS.DBMS_SHARED_POOL.KEEP('||tab_row.owner||'.'||tab_row.object_name||')';
 >
 > cursor_name := dbms_sql.open_cursor;
 > sql_sentence
 > 
:='SYS.DBMS_SHARED_POOL.KEEP('''||tab_row.owner||'.'||tab_row.object_name||''')';
 >
 > dbms_output.put_line(sql_sentence);
 > dbms_sql.parse(cursor_name,sql_sentence, dbms_sql.native);
 > rows_processed := dbms_sql.execute(cursor_name);
 > dbms_sql.close_cursor(cursor_name);
 > END LOOP;
 > END;
 >
 > But , It does not execute , Is it impossible to execute
 > DBMS_SHARED_POOL.KEEP dynamically ...I tried DBMS_JOB , It did not
 > work too.
 >
 > How can I do this?
 >
 >
 >
 >
 > Bunyamin K. Karadeniz
 > Oracle DBA / Developer
 > Civilian IT Department
 > Havelsan A.S. Eskisehir yolu
 > 7.km Ankara Turkey
 > Phone: +90 312 2873565 / 1217
 > Mobile : +90 535 3357729
 >
 > The degree of normality in a database
 > is inversely proportional to that of its DBA.
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Suzy Vordos
   INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).




MOHAMMAD RAFIQ


_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Mohammad Rafiq
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to