Re: Error pinning PKS in shared pool
... oops and then you might want to add that you really have to mess around with quote marks and begin/ends to get it to work - something like (and I really ought to test this before posting, 'cos it's one of those tiny details that there's no point in wasting valuable memorisation time on) begin execute immediate -- no shortened form allowed 'begin sys.dbms_shared_pool.keep(''DBMS_ALERT'') ; end;' ; end; Note - double up the quotes around the quoted package name, add in the 'begin end' to make the thing you want to execute an anonymous pl/sql block, make sure that there is a semi-colon (which would be incorrect for a pure SQL example) at the end of the thing you are executing. (I totally agree with your comments though - sys packages have been known to become mysteriously invalid from time to time). Regards Jonathan Lewis http://www.jlcomp.demon.co.uk Coming soon one-day tutorials: Cost Based Optimisation Trouble-shooting and Tuning Indexing Strategies (see http://www.jlcomp.demon.co.uk/tutorial.html ) UK___March 19th USA_(FL)_May 2nd Next Seminar dates: (see http://www.jlcomp.demon.co.uk/seminar.html ) USA_(CA, TX)_August The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html - Original Message - To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Sent: 24 February 2003 05:23 ...oops, and I forgot to add that you might wanna wrap the call to 'dbms_shared_pool' in pin_me within exec immed, so that if the package ever goes invalid (or does not exist - ie forgotten to be run) the trigger will still run ok. cheers connor -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Jonathan Lewis INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
RE: Error pinning PKS in shared pool
Thanks Suzy, Waleed, John, Richard, Connor, Jonathan, for your help. Out of shape on sundays :-) TKS -Original Message- Vordos Sent: Sunday, February 23, 2003 3:44 PM To: Multiple recipients of list ORACLE-L Don't think you need to use execute immediate. Try this (should be run as SYS): CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN dbms_shared_pool.keep('DBMS_ALERT'); dbms_shared_pool.keep('DBMS_DDL'); dbms_shared_pool.keep('DBMS_DESCRIBE'); dbms_shared_pool.keep('DBMS_LOCK'); dbms_shared_pool.keep('DBMS_OUTPUT'); dbms_shared_pool.keep('DBMS_PIPE'); dbms_shared_pool.keep('DBMS_SESSION'); dbms_shared_pool.keep('DBMS_SHARED_POOL'); dbms_shared_pool.keep('DBMS_STANDARD'); dbms_shared_pool.keep('DBMS_UTILITY'); dbms_shared_pool.keep('STANDARD'); dbms_shared_pool.keep('BUSCA_SECUENCIA'); END; / Ramon E. Estevez wrote: Sorry, new DB and hadn't execute the Dbmspool.sql script. CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN exec immediate dbms_shared_pool.keep('DBMS_ALERT'); exec immediate dbms_shared_pool.keep('DBMS_DDL'); exec immediate dbms_shared_pool.keep('DBMS_DESCRIBE'); exec immediate dbms_shared_pool.keep('DBMS_LOCK'); exec immediate dbms_shared_pool.keep('DBMS_OUTPUT'); exec immediate dbms_shared_pool.keep('DBMS_PIPE'); exec immediate dbms_shared_pool.keep('DBMS_SESSION'); exec immediate dbms_shared_pool.keep('DBMS_SHARED_POOL'); exec immediate dbms_shared_pool.keep('DBMS_STANDARD'); exec immediate dbms_shared_pool.keep('DBMS_UTILITY'); exec immediate dbms_shared_pool.keep('STANDARD'); exec immediate dbms_shared_pool.keep('BUSCA_SECUENCIA'); END; I am getting this error, tried with users SYS and SYSTEM 12/11PLS-00103: Encountered the symbol DBMS_SHARED_POOL when expecting one of the following: := . ( @ % ; tia Ramon E. Estevez [EMAIL PROTECTED] 809-565-3121 -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Suzy Vordos INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Ramon E. Estevez INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
RE: Error pinning PKS in shared pool
Instead of modifying the trigger all the time, why not just maintain rows in a table? Here's what I've written after I got tired of making typos that caused the objects after it to fail to pin: CREATE OR REPLACE TRIGGER sys.qt_pin_on_startup AFTER STARTUP ON DATABASE DECLARE v_count NUMBER; CURSOR c1 IS SELECT object_owner, object_name, object_type FROM qt_dba.objects_to_pin_on_startup WHERE valid_object = 'Y' FOR UPDATE OF valid_object; BEGIN -- 11/08/2002 REJ Auto-pin these on DB startup. Run $ADMIN/kept_procs.sql for feedback. -- NOTE! In order for this to work, GRANT EXECUTE ANY PROCEDURE TO SYS as well as explicit -- SELECT access to the QT_DBA.OBJECTS_TO_PIN_ON_STARTUP table *must* be done! -- -- If the object pulled from the table doesn't exist, this trigger should invalidate the row. -- FOR ocur IN c1 LOOP SELECT COUNT(*) INTO v_count FROM dba_objects WHERE owner = ocur.object_owner AND object_name = ocur.object_name; IF v_count 1 THEN UPDATE qt_dba.objects_to_pin_on_startup SET valid_object = 'N' WHERE CURRENT OF c1; ELSE EXECUTE IMMEDIATE 'BEGIN sys.dbms_shared_pool.keep('''||ocur.object_owner||'.'||ocur.object_name||''' ,'''||ocur.object_type||'''); END;'; END IF; END LOOP; COMMIT; EXCEPTION WHEN OTHERS THEN COMMIT; END qt_pin_on_startup; / Rich Rich JesseSystem/Database Administrator [EMAIL PROTECTED] Quad/Tech International, Sussex, WI USA -Original Message- Sent: Monday, February 24, 2003 3:34 AM To: Multiple recipients of list ORACLE-L ... oops and then you might want to add that you really have to mess around with quote marks and begin/ends to get it to work - something like (and I really ought to test this before posting, 'cos it's one of those tiny details that there's no point in wasting valuable memorisation time on) begin execute immediate -- no shortened form allowed 'begin sys.dbms_shared_pool.keep(''DBMS_ALERT'') ; end;' ; end; Note - double up the quotes around the quoted package name, add in the 'begin end' to make the thing you want to execute an anonymous pl/sql block, make sure that there is a semi-colon (which would be incorrect for a pure SQL example) at the end of the thing you are executing. (I totally agree with your comments though - sys packages have been known to become mysteriously invalid from time to time). Regards Jonathan Lewis -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Jesse, Rich INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
Error pinning PKS in shared pool
Title: Message Sorry, new DB and hadn't execute the Dbmspool.sql script. CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN exec immediate dbms_shared_pool.keep('DBMS_ALERT'); exec immediate dbms_shared_pool.keep('DBMS_DDL'); exec immediate dbms_shared_pool.keep('DBMS_DESCRIBE'); exec immediate dbms_shared_pool.keep('DBMS_LOCK'); exec immediate dbms_shared_pool.keep('DBMS_OUTPUT'); exec immediate dbms_shared_pool.keep('DBMS_PIPE'); exec immediate dbms_shared_pool.keep('DBMS_SESSION'); exec immediate dbms_shared_pool.keep('DBMS_SHARED_POOL'); exec immediate dbms_shared_pool.keep('DBMS_STANDARD'); exec immediate dbms_shared_pool.keep('DBMS_UTILITY'); exec immediate dbms_shared_pool.keep('STANDARD'); exec immediate dbms_shared_pool.keep('BUSCA_SECUENCIA');END; I am getting this error, tried with users SYS and SYSTEM 12/11 PLS-00103: Encountered the symbol "DBMS_SHARED_POOL" when expecting one of the following: := . ( @ % ; tia Ramon E. Estevez [EMAIL PROTECTED] 809-565-3121
Re: Error pinning PKS in shared pool
Don't think you need to use execute immediate. Try this (should be run as SYS): CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN dbms_shared_pool.keep('DBMS_ALERT'); dbms_shared_pool.keep('DBMS_DDL'); dbms_shared_pool.keep('DBMS_DESCRIBE'); dbms_shared_pool.keep('DBMS_LOCK'); dbms_shared_pool.keep('DBMS_OUTPUT'); dbms_shared_pool.keep('DBMS_PIPE'); dbms_shared_pool.keep('DBMS_SESSION'); dbms_shared_pool.keep('DBMS_SHARED_POOL'); dbms_shared_pool.keep('DBMS_STANDARD'); dbms_shared_pool.keep('DBMS_UTILITY'); dbms_shared_pool.keep('STANDARD'); dbms_shared_pool.keep('BUSCA_SECUENCIA'); END; / Ramon E. Estevez wrote: Sorry, new DB and hadn't execute the Dbmspool.sql script. CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN exec immediate dbms_shared_pool.keep('DBMS_ALERT'); exec immediate dbms_shared_pool.keep('DBMS_DDL'); exec immediate dbms_shared_pool.keep('DBMS_DESCRIBE'); exec immediate dbms_shared_pool.keep('DBMS_LOCK'); exec immediate dbms_shared_pool.keep('DBMS_OUTPUT'); exec immediate dbms_shared_pool.keep('DBMS_PIPE'); exec immediate dbms_shared_pool.keep('DBMS_SESSION'); exec immediate dbms_shared_pool.keep('DBMS_SHARED_POOL'); exec immediate dbms_shared_pool.keep('DBMS_STANDARD'); exec immediate dbms_shared_pool.keep('DBMS_UTILITY'); exec immediate dbms_shared_pool.keep('STANDARD'); exec immediate dbms_shared_pool.keep('BUSCA_SECUENCIA'); END; I am getting this error, tried with users SYS and SYSTEM 12/11PLS-00103: Encountered the symbol DBMS_SHARED_POOL when expecting one of the following: := . ( @ % ; tia Ramon E. Estevez [EMAIL PROTECTED] 809-565-3121 -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Suzy Vordos INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
Re: Error pinning PKS in shared pool
Title: Message You do not need 'exec immediate' - Original Message - From: Ramon E. Estevez To: Multiple recipients of list ORACLE-L Sent: Sunday, February 23, 2003 2:58 PM Subject: Error pinning PKS in shared pool Sorry, new DB and hadn't execute the Dbmspool.sql script. CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN exec immediate dbms_shared_pool.keep('DBMS_ALERT'); exec immediate dbms_shared_pool.keep('DBMS_DDL'); exec immediate dbms_shared_pool.keep('DBMS_DESCRIBE'); exec immediate dbms_shared_pool.keep('DBMS_LOCK'); exec immediate dbms_shared_pool.keep('DBMS_OUTPUT'); exec immediate dbms_shared_pool.keep('DBMS_PIPE'); exec immediate dbms_shared_pool.keep('DBMS_SESSION'); exec immediate dbms_shared_pool.keep('DBMS_SHARED_POOL'); exec immediate dbms_shared_pool.keep('DBMS_STANDARD'); exec immediate dbms_shared_pool.keep('DBMS_UTILITY'); exec immediate dbms_shared_pool.keep('STANDARD'); exec immediate dbms_shared_pool.keep('BUSCA_SECUENCIA');END; I am getting this error, tried with users SYS and SYSTEM 12/11 PLS-00103: Encountered the symbol "DBMS_SHARED_POOL" when expecting one of the following: := . ( @ % ; tia Ramon E. Estevez [EMAIL PROTECTED] 809-565-3121
RE: Error pinning PKS in shared pool
Title: Message You can take out the exec immediate, I believe. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ramon E. Estevez Sent: Sunday, February 23, 2003 2:59 PM To: Multiple recipients of list ORACLE-L Subject: Error pinning PKS in shared pool Sorry, new DB and hadn't execute the Dbmspool.sql script. CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN exec immediate dbms_shared_pool.keep('DBMS_ALERT'); exec immediate dbms_shared_pool.keep('DBMS_DDL'); exec immediate dbms_shared_pool.keep('DBMS_DESCRIBE'); exec immediate dbms_shared_pool.keep('DBMS_LOCK'); exec immediate dbms_shared_pool.keep('DBMS_OUTPUT'); exec immediate dbms_shared_pool.keep('DBMS_PIPE'); exec immediate dbms_shared_pool.keep('DBMS_SESSION'); exec immediate dbms_shared_pool.keep('DBMS_SHARED_POOL'); exec immediate dbms_shared_pool.keep('DBMS_STANDARD'); exec immediate dbms_shared_pool.keep('DBMS_UTILITY'); exec immediate dbms_shared_pool.keep('STANDARD'); exec immediate dbms_shared_pool.keep('BUSCA_SECUENCIA'); END; I am getting this error, tried with users SYS and SYSTEM 12/11 PLS-00103: Encountered the symbol DBMS_SHARED_POOL when expecting one of the following: := . ( @ % ; tia Ramon E. Estevez [EMAIL PROTECTED] 809-565-3121
RE: Error pinning PKS in shared pool
Title: Message remove exec immediate. Richard -Original Message-From: Ramon E. Estevez [mailto:[EMAIL PROTECTED]Sent: Sunday, February 23, 2003 2:59 PMTo: Multiple recipients of list ORACLE-LSubject: Error pinning PKS in shared pool Sorry, new DB and hadn't execute the Dbmspool.sql script. CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN exec immediate dbms_shared_pool.keep('DBMS_ALERT'); exec immediate dbms_shared_pool.keep('DBMS_DDL'); exec immediate dbms_shared_pool.keep('DBMS_DESCRIBE'); exec immediate dbms_shared_pool.keep('DBMS_LOCK'); exec immediate dbms_shared_pool.keep('DBMS_OUTPUT'); exec immediate dbms_shared_pool.keep('DBMS_PIPE'); exec immediate dbms_shared_pool.keep('DBMS_SESSION'); exec immediate dbms_shared_pool.keep('DBMS_SHARED_POOL'); exec immediate dbms_shared_pool.keep('DBMS_STANDARD'); exec immediate dbms_shared_pool.keep('DBMS_UTILITY'); exec immediate dbms_shared_pool.keep('STANDARD'); exec immediate dbms_shared_pool.keep('BUSCA_SECUENCIA');END; I am getting this error, tried with users SYS and SYSTEM 12/11 PLS-00103: Encountered the symbol "DBMS_SHARED_POOL" when expecting one of the following: := . ( @ % ; tia Ramon E. Estevez [EMAIL PROTECTED] 809-565-3121
RE: Error pinning PKS in shared pool
Now that everyone has said remove the exec I'll confuse things :-) by adding that you might to have the trigger always succeed, because after all, it is a startup trigger on the database. So maybe something like: create or replace trigger ... procedure pin_me(x,y,z) is begin dbms_shared_pool.keep(x,y,z) exception when others then null; end; begin pin_me('...'); pin_me('...') end; so that if one or some of the pin's fail, the rest will still be attempted cheers connor --- Richard Ji [EMAIL PROTECTED] wrote: remove exec immediate. Richard -Original Message- Sent: Sunday, February 23, 2003 2:59 PM To: Multiple recipients of list ORACLE-L Sorry, new DB and hadn't execute the Dbmspool.sql script. CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN exec immediate dbms_shared_pool.keep('DBMS_ALERT'); exec immediate dbms_shared_pool.keep('DBMS_DDL'); exec immediate dbms_shared_pool.keep('DBMS_DESCRIBE'); exec immediate dbms_shared_pool.keep('DBMS_LOCK'); exec immediate dbms_shared_pool.keep('DBMS_OUTPUT'); exec immediate dbms_shared_pool.keep('DBMS_PIPE'); exec immediate dbms_shared_pool.keep('DBMS_SESSION'); exec immediate dbms_shared_pool.keep('DBMS_SHARED_POOL'); exec immediate dbms_shared_pool.keep('DBMS_STANDARD'); exec immediate dbms_shared_pool.keep('DBMS_UTILITY'); exec immediate dbms_shared_pool.keep('STANDARD'); exec immediate dbms_shared_pool.keep('BUSCA_SECUENCIA'); END; I am getting this error, tried with users SYS and SYSTEM 12/11PLS-00103: Encountered the symbol DBMS_SHARED_POOL when expecting one of the following: := . ( @ % ; tia Ramon E. Estevez [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 809-565-3121 = Connor McDonald web: http://www.oracledba.co.uk web: http://www.oaktable.net email: [EMAIL PROTECTED] GIVE a man a fish and he will eat for a day. But TEACH him how to fish, and...he will sit in a boat and drink beer all day __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: =?iso-8859-1?q?Connor=20McDonald?= INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
RE: Error pinning PKS in shared pool
...oops, and I forgot to add that you might wanna wrap the call to 'dbms_shared_pool' in pin_me within exec immed, so that if the package ever goes invalid (or does not exist - ie forgotten to be run) the trigger will still run ok. cheers connor --- Richard Ji [EMAIL PROTECTED] wrote: remove exec immediate. Richard -Original Message- Sent: Sunday, February 23, 2003 2:59 PM To: Multiple recipients of list ORACLE-L Sorry, new DB and hadn't execute the Dbmspool.sql script. CREATE OR REPLACE TRIGGER PAQUETES_MEMORIA AFTER STARTUP ON DATABASE BEGIN exec immediate dbms_shared_pool.keep('DBMS_ALERT'); exec immediate dbms_shared_pool.keep('DBMS_DDL'); exec immediate dbms_shared_pool.keep('DBMS_DESCRIBE'); exec immediate dbms_shared_pool.keep('DBMS_LOCK'); exec immediate dbms_shared_pool.keep('DBMS_OUTPUT'); exec immediate dbms_shared_pool.keep('DBMS_PIPE'); exec immediate dbms_shared_pool.keep('DBMS_SESSION'); exec immediate dbms_shared_pool.keep('DBMS_SHARED_POOL'); exec immediate dbms_shared_pool.keep('DBMS_STANDARD'); exec immediate dbms_shared_pool.keep('DBMS_UTILITY'); exec immediate dbms_shared_pool.keep('STANDARD'); exec immediate dbms_shared_pool.keep('BUSCA_SECUENCIA'); END; I am getting this error, tried with users SYS and SYSTEM 12/11PLS-00103: Encountered the symbol DBMS_SHARED_POOL when expecting one of the following: := . ( @ % ; tia Ramon E. Estevez [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 809-565-3121 = Connor McDonald web: http://www.oracledba.co.uk web: http://www.oaktable.net email: [EMAIL PROTECTED] GIVE a man a fish and he will eat for a day. But TEACH him how to fish, and...he will sit in a boat and drink beer all day __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: =?iso-8859-1?q?Connor=20McDonald?= INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).