Loading and Refreshing a Dynamic Cache Group with Autorefresh
If the autorefresh state of a dynamic cache group is PAUSED
, the
autorefresh state is changed to ON
automatically after specific events
occur.
-
Its cache tables are initially empty, and then a dynamic load, a
LOAD CACHE GROUP
or an unconditionalREFRESH CACHE GROUP
statement issued on the cache group completes. -
Its cache tables are not empty, and then an unconditional
REFRESH CACHE GROUP
statement issued on the cache group completes.
If the autorefresh state of a dynamic cache group is PAUSED
, the autorefresh state remains at PAUSED
after any of the following events occur:
-
Its cache tables are initially empty, and then a
REFRESH CACHE GROUP ... WITH ID
statement issued on the cache group completes. -
Its cache tables are not empty, and then a dynamic load, a
REFRESH CACHE GROUP ... WITH ID
, or aLOAD CACHE GROUP
statement issued on the cache group completes.
For a dynamic cache group, an autorefresh operation is similar to a REFRESH
CACHE GROUP
statement that only refreshes committed updates and deletes on
the cached Oracle Database tables since the last autorefresh cycle into the cache tables
because only existing cache instances in the cache tables are refreshed. New cache
instances are not loaded into the cache tables. To load new cache instances into the
cache tables of a dynamic cache group, use a LOAD CACHE GROUP
statement
or perform a dynamic load operation. See Dynamic Cache Groups.
The following restrictions apply when manually loading or refreshing a dynamic cache group with automatic refresh:
-
The autorefresh state must be
PAUSED
orON
before you can issue aLOAD CACHE GROUP
statement. -
The autorefresh state must be
PAUSED
before you can issue aREFRESH CACHE GROUP
statement. -
A
LOAD CACHE GROUP
statement that contains aWHERE
clause must include aCOMMIT EVERY
n
ROWS
clause after theWHERE
clause. -
A
REFRESH CACHE GROUP
statement cannot contain aWHERE
clause. -
All tables and columns referenced in a
WHERE
clause when loading the cache group must be fully qualified. For example:owner
.
table_name
andowner
.
table_name
.
column_name