set lines 200 spool purge.sql set heading off set feedback off set verify off set echo off set pages 0 set trimspool on select 'exec DBMS_SHARED_POOL.PURGE (''' || ADDRESS ||','|| HASH_VALUE || ''',''C'');' from V$SQLAREA where SQL_ID IN (SELECT SQL_ID FROM v$sqlarea WHERE sql_text like 'SELECT * FROM%SBB.ENTITIY_PR%SYS_P5055%'); select 'exit' from dual; exitExecute the file "purge.sql" and the cursors refering to the object "SBB.ENTITY_PR" and the partition "SYS_P5055" will be purged. The Oracle 19c documentation for dbms_shared_pool can be found here
Minimalistic Oracle contains a collection of practical examples from my encounters with Oracle technologies. When relevant, I also write about other technologies, like Linux or PostgreSQL. Many of the posts starts with "how to" since they derive directly from my own personal experience. My goal is to provide simple examples, so that they can be easily adapted to other situations.
Friday, June 25, 2021
How to purge tables from the shared pool
Tables cannot be directly purged from the shared pool using the dbms_shared_pool package.
Instead, cursors refering to the table can be purged.
To generate statements, use v$sqlarea:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment