7.2.1.1 How True Cache Works with the Primary Database Buffer Cache
By default, marking something KEEP
on the primary database
also marks it KEEP
on True Cache.
To prevent objects that are intended to be KEEP
objects
only on the primary database from filling up the True Cache KEEP
buffer
pool, you can use the DBMS_CACHEUTIL.TRUE_CACHE_KEEP
procedure to mark
objects as KEEP
on True Cache.
DBMS_CACHEUTIL.TRUE_CACHE_KEEP
takes precedence and overrides
objects that are marked as KEEP
on the primary database.
Also consider the following points:
ALTER TABLE KEEP
assignments on the primary database are persistent becauseALTER TABLE
is a DDL. TheDBMS_CACHEUTIL.TRUE_CACHE_KEEP
procedure isn't persistent when True Cache restarts.- You can't use the
DBMS_CACHEUTIL.TRUE_CACHE_UNKEEP
procedure to unkeep a primaryALTER TABLE KEEP
assignment. Instead, either don't configureDB_KEEP_CACHE_SIZE
on True Cache or assign a different object withDBMS_CACHEUTIL.TRUE_CACHE_KEEP
on True Cache. - All scans on True Cache use the
CACHE
path instead of the direct (NOCACHE
) path, except temporary tables that are local to True Cache.
Parent topic: Overview of Using the KEEP Buffer Pool with True Cache