A Required Privileges for Cache Administration User for Cache Operations

The privileges that the cache administration users require depends on the types of cache groups you create and the operations that you perform on the cache groups.

The privileges required for the Oracle cache administration user are listed in the first column and the privileges required for the TimesTen cache administration user for each cache operation are listed in the second column in Table A-1.

Note that the CACHE_MANAGER privilege confers these privileges:

  • CREATE ANY CACHE GROUP

  • ALTER ANY CACHE GROUP

  • DROP ANY CACHE GROUP

  • FLUSH ANY CACHE GROUP

  • LOAD ANY CACHE GROUP

  • UNLOAD ANY CACHE GROUP

  • REFRESH ANY CACHE GROUP

  • FLUSH (object)

  • LOAD (object)

  • UNLOAD (object)

  • REFRESH (object)

The CACHE_MANAGER privilege also includes the ability to start and stop the cache agent and the replication agent.

See Privilege Hierarchy in the Oracle TimesTen In-Memory Database SQL Reference.

Table A-1 Oracle Database and TimesTen User Privileges Required for Cache Operations

Cache Operation Privileges Required for Oracle Database Cache Administration User(1) Privileges Required for TimesTen Cache Administration User(2)
Minimum privileges required

At minimum, the Oracle cache administration user must have the CREATE TYPE privilege

At minimum, the TimesTen cache administration user must have the CREATE SESSION privilege.

Initialize the Oracle cache administration user with the grantCacheAdminPrivileges.sql script, which grants these privileges.

CREATE ANY TRIGGERFoot 3,Foot 4

CREATE PROCEDUREFoot 4

CREATE SEQUENCE

CREATE SESSION

CREATE TABLE

CREATE TYPE

EXECUTE ON SYS.DBMS_DDL package

EXECUTE ON SYS.DBMS_FLASHBACK package

EXECUTE ON SYS.DBMS_LOB package

EXECUTE ON SYS.DBMS_LOCK package

SELECT ANY TRANSACTION

SELECT ON SYS.ALL_OBJECTS

SELECT ON SYS.ALL_SYNONYMS

SELECT ON SYS.DBA_DATA_FILES

SELECT ON SYS.GV_$LOCK

SELECT ON SYS.GV_$SESSION

SELECT ON SYS.USER_FREE_SPACE

SELECT ON SYS.USER_SYS_PRIVS

SELECT ON SYS.USER_TS_QUOTAS

SELECT ON SYS.USER_USERS

SELECT ON SYS.V_$DATABASE

SELECT ON SYS.V_$PROCESS

SELECT ON SYS.V_$SESSION

TT_CACHE_ADMIN_ROLE

UNLIMITED TABLESPACE

None

Initialize the Oracle cache administration user with the initCacheAdminSchema.sql script, which grants these privileges.

CREATE ANY TRIGGER

CREATE SESSION

CREATE TYPE

EXECUTE ON SYS.DBMS_DDL package

EXECUTE ON SYS.DBMS_FLASHBACK package

EXECUTE ON SYS.DBMS_LOCK package

SELECT ANY TRANSACTION

SELECT ON SYS.ALL_OBJECTS

SELECT ON SYS.ALL_SYNONYMS

SELECT ON SYS.DBA_DATA_FILES

SELECT ON SYS.GV_$LOCK

SELECT ON SYS.GV_$SESSION

SELECT ON SYS.USER_FREE_SPACE

SELECT ON SYS.USER_SYS_PRIVS

SELECT ON SYS.USER_TS_QUOTAS

SELECT ON SYS.USER_USERS

SELECT ON SYS.V_$DATABASE

SELECT ON SYS.V_$PROCESS

SELECT ON SYS.V_$SESSION

TT_CACHE_ADMIN_ROLE

UNLIMITED TABLESPACE

None

Set the Oracle cache administration user or TimesTen cache administration user name and password:

  • In TimesTen Classic, you can call the ttCacheUidPwdSet built-in procedure.

  • In TimesTen Classic, you can run the ttAdmin -cacheUidPwdSet utility command.

  • In TimesTen Scaleout, run the ttGridAdmin dbCacheCredentialSet command.

CREATE PROCEDUREFoot 4

CREATE SEQUENCE

CREATE SESSION

CREATE TABLE

CREATE TRIGGER

CREATE TYPE

Requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CACHE_MANAGER

Requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

Get the Oracle cache administration user or TimesTen cache administration user name with either:

  • Call the ttCacheUidGet built-in procedure.

  • In TimesTen Classic, you can run the ttAdmin -cacheUidGet utility command.

None

CACHE_MANAGER

Start the cache agent with either:

  • In TimesTen Classic, you can call the ttCacheStart built-in procedure.

  • In TimesTen Classic, you can run the ttAdmin -cacheStart utility command.

  • In TimesTen Scaleout, run the ttGridAdmin dbCacheStart command.

CREATE SESSION

CACHE_MANAGER

Stop the cache agent

  • In TimesTen Classic, you can call the ttCacheStop built-in procedure

  • In TimesTen Classic, you can run the ttAdmin -cacheStop utility command

  • In TimesTen Scaleout, run the ttGridAdmin dbCacheStop command.

None

CACHE_MANAGER

In TimesTen Classic, set a cache agent start policy with either:

  • Call the ttCachePolicySet built-in procedure.

  • Run the ttAdmin -cachePolicy utility command.

CREATE SESSIONFoot 4

CACHE_MANAGER

In TimesTen Classic, return the cache agent start policy setting:

  • Call the ttCachePolicyGet built-in procedure.

CREATE SESSION

None

In TimesTen Classic, start the replication agent with either:

  • Call the ttRepStart built-in procedure.

  • Run the ttAdmin -repStart utility command.

None

CACHE_MANAGER

In TimesTen Classic, stop the replication agent with either:

  • Call the ttRepStop built-in procedure.

  • Run the ttAdmin -repStop utility command.

None

CACHE_MANAGER

In TimesTen Classic, set a replication agent start policy

  • Call the ttRepPolicySet built-in procedure

  • Run the ttAdmin -repPolicy utility command

None

ADMIN

In TimesTen Classic, CREATE ACTIVE STANDBY PAIR with INCLUDE CACHE GROUP

when the cache group created is an AWT cache group

CREATE TRIGGER

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, duplicate the database with ttRepAdmin -duplicate when using an AWT cache group within an active standby pair replication scheme

CREATE TRIGGER

None

CREATE [DYNAMIC] READONLY CACHE GROUP with AUTOREFRESH MODE INCREMENTAL

CREATE PROCEDUREFoot 4

CREATE SEQUENCE

CREATE SESSION

CREATE TABLE

CREATE TYPE

SELECT ON table_nameFoot 5

CREATE ANY TRIGGERFoot 4

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, CREATE [DYNAMIC] READONLY CACHE GROUP with AUTOREFRESH MODE FULL

CREATE SESSION

SELECT ON table_nameFoot 5

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, CREATE [DYNAMIC] ASYNCHRONOUS WRITETHROUGH CACHE GROUP

CREATE PROCEDUREFoot 4

CREATE SEQUENCE

CREATE SESSION

CREATE TABLE

CREATE TRIGGER

CREATE TYPE

SELECT ON table_nameFoot 5

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, CREATE [DYNAMIC] SYNCHRONOUS WRITETHROUGH CACHE GROUP

CREATE SESSION

SELECT ON table_nameFoot 5

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, CREATE [DYNAMIC] USERMANAGED CACHE GROUP

(see variants in following rows)

CREATE SESSION

SELECT ON table_nameFoot 5

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, CREATE [DYNAMIC] USERMANAGED CACHE GROUP with AUTOREFRESH MODE INCREMENTAL

CREATE PROCEDUREFoot 4

CREATE SEQUENCE

CREATE SESSION

CREATE TABLE

CREATE TYPE

SELECT ON table_nameFoot 5

CREATE ANY TRIGGERFoot 4

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, CREATE [DYNAMIC] USERMANAGED CACHE GROUP with AUTOREFRESH MODE FULL

CREATE SESSION

SELECT ON table_nameFoot 5

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, CREATE [DYNAMIC] USERMANAGED CACHE GROUP with READONLY

CREATE SESSION

SELECT ON table_nameFoot 5

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

In TimesTen Classic, CREATE [DYNAMIC] USERMANAGED CACHE GROUP with PROPAGATE

CREATE SESSION

SELECT ON table_nameFoot 5

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

CREATE [ANY] CACHE GROUPFoot 6

CREATE [ANY] TABLEFoot 7

Creating a cache group requires access to the default tablespace on the Oracle database. See Create the Oracle Database Users and Default Tablespace.

ALTER CACHE GROUP SET AUTOREFRESH STATE PAUSED

CREATE PROCEDUREFoot 4

CREATE SEQUENCE

CREATE SESSION

CREATE TABLE

CREATE TRIGGER

CREATE TYPE

SELECT ON table_nameFoot 5,Foot 8

CREATE ANY TRIGGERFoot 4 ,Foot 8

ALTER ANY CACHE GROUPFoot 9

ALTER CACHE GROUP SET AUTOREFRESH STATE ON

CREATE PROCEDUREFoot 4

CREATE SEQUENCE

CREATE SESSION

CREATE TABLE

CREATE TYPE

SELECT ON table_nameFoot 5, Foot 8

CREATE ANY TRIGGERFoot 4, Foot 8

ALTER ANY CACHE GROUPFoot 9

ALTER CACHE GROUP SET AUTOREFRESH STATE OFF

CREATE SESSION

ALTER ANY CACHE GROUPFoot 9

In TimesTen Classic, ALTER CACHE GROUP SET AUTOREFRESH MODE FULL

CREATE SESSION

ALTER ANY CACHE GROUPFoot 9

In TimesTen Classic, ALTER CACHE GROUP SET AUTOREFRESH MODE INCREMENTAL

CREATE PROCEDUREFoot 4

CREATE SEQUENCE

CREATE SESSION

CREATE TABLE

CREATE TYPE

SELECT ON table_nameFoot 5

CREATE ANY TRIGGERFoot 4

ALTER ANY CACHE GROUPFoot 9

ALTER CACHE GROUP SET AUTOREFRESH INTERVAL

CREATE SESSION

SELECT ON table_nameFoot 5, Foot 10

ALTER ANY CACHE GROUPFoot 9

LOAD CACHE GROUP

CREATE SESSION

SELECT ON table_nameFoot 5

LOAD {ANY CACHE GROUP | ON cache_group_name}Foot 9

For TimesTen Scaleout:

SELECT ON table_nameFoot 5

INSERT ON table_nameFoot 5

EXECUTE ON SYS.DBMS_FLASHBACK package on the Oracle Database

REFRESH CACHE GROUP

CREATE SESSION

SELECT ON table_nameFoot 5

REFRESH {ANY CACHE GROUP | ON cache_group_name}Foot 9

For TimesTen Scaleout:

SELECT ON table_nameFoot 5

INSERT ON table_nameFoot 5

EXECUTE ON SYS.DBMS_FLASHBACK package on the Oracle Database

FLUSH CACHE GROUP

SELECT ON table_nameFoot 5

CREATE SESSION

UPDATE ON table_nameFoot 5

INSERT ON table_nameFoot 5

SELECT ON table_nameFoot 5

FLUSH {ANY CACHE GROUP | ON cache_group_name}Foot 9

UNLOAD CACHE GROUP

None

UNLOAD {ANY CACHE GROUP | ON cache_group_name}Foot 9

DROP CACHE GROUP

CREATE SESSION

DROP ANY CACHE GROUPFoot 9

DROP ANY TABLEFoot 11

In TimesTen Classic, synchronous writethrough or propagate

CREATE SESSION

INSERT ON table_nameFoot 5, Foot 12

UPDATE ON table_nameFoot 5, Foot 12

DELETE ON table_nameFoot 5, Foot 12

INSERT ON table_nameFoot 13

UPDATE ON table_nameFoot 13

DELETE ON table_nameFoot 13

In TimesTen Classic, asynchronous writethrough

CREATE SESSION

INSERT ON table_nameFoot 5

UPDATE ON table_nameFoot 5

DELETE ON table_nameFoot 5

INSERT ON table_nameFoot 13

UPDATE ON table_nameFoot 13

DELETE ON table_nameFoot 13

In TimesTen Classic, asynchronous writethrough when the CacheAWTMethod connection attribute is set to 1

CREATE PROCEDURE

Note: This privilege is an addition to the privileges needed for any asynchronous writethrough cache group.

None

In TimesTen Classic, asynchronous writethrough cache for Oracle Database CLOB, BLOB and NCLOB fields when the CacheAWTMethod connection attribute is set to 1

EXECUTE privilege on the Oracle Database DBMS_LOB PL/SQL package

Note: This privilege is an addition to the privileges needed for any asynchronous writethrough cache group.

None

Incremental autorefresh

SELECT ON table_nameFoot 5

None

Full autorefresh

SELECT ON table_nameFoot 5

None

In TimesTen Classic, dynamic load

CREATE SESSION

SELECT ON table_nameFoot 5

SELECT ON table_nameFoot 13

UPDATE ON table_nameFoot 13

DELETE ON table_nameFoot 13

INSERT ON table_nameFoot 13

In TimesTen Classic, aging

None

DELETE {ANY TABLE | ON table_name}Foot 13

In TimesTen Classic, set the LRU aging attributes

  • Call the ttAgingLRUConfig built-in procedure

  • Call the ttAgingTableLRUConfig built-in procedure

None

ADMIN

Generate Oracle Database SQL statements to manually install or uninstall Oracle Database objects

  • Run the ttIsql utility's cachesqlget command

  • Call the ttCacheSQLGet built-in procedure

CREATE SESSION

CACHE_MANAGER

In TimesTen Classic, disable or enable propagation of committed cache table updates to the Oracle database

  • Call the ttCachePropagateFlagSet built-in procedure

None

CACHE_MANAGER

Configure cache agent timeout and recovery method for cache groups with autorefresh

  • Call the ttCacheConfig built-in procedure

CREATE SESSION

CACHE_MANAGER

In TimesTen Classic, set the AWT transaction log file threshold

  • Call the ttCacheAWTThresholdSet built-in procedure

None

CACHE_MANAGER

In TimesTen Classic, enable or disable monitoring of AWT cache groups

  • Call the ttCacheAWTMonitorConfig built-in procedure

None

CACHE_MANAGER

Enable or disable tracking of DDL statements issued on cached Oracle Database tables

  • Call the ttCacheDDLTrackingConfig built-in procedure

CREATE SESSION

CACHE_MANAGER

Footnote 1 At minimum, the Oracle cache administration user must have the CREATE TYPE privilege.

Footnote 2 At minimum, the TimesTen cache administration user must have the CREATE SESSION privilege.

Footnote 3

If the Oracle cache administration user will not create cache groups with autorefresh, then you can grant the CREATE TRIGGER privilege instead of the CREATE ANY TRIGGER privilege.

Footnote 4

Required if the cache agent start policy is being set to always or norestart.

Footnote 5

Required on all Oracle Database tables cached in the TimesTen cache group except for tables owned by the Oracle cache administration user.

Footnote 6

The CACHE_MANAGER privilege includes the CREATE [ANY] CACHE GROUP privilege. ANY is required if the TimesTen cache administration user creates cache groups owned by a user other than itself.

Footnote 7

ANY is required if any of the cache tables are owned by a user other than the TimesTen cache administration user.

Footnote 8

Required if the cache group's autorefresh mode is incremental and initial autorefresh state is OFF, and the Oracle Database objects used to manage the caching of Oracle Database data are automatically created.

Footnote 9

Required if the TimesTen user accessing the cache group does not own the cache group.

Footnote 10

Required if the cache group's autorefresh mode is incremental.

Footnote 11

Required if the TimesTen user accessing the cache group does not own all its cache tables.

Footnote 12

The privilege must be granted to the Oracle Database user with the same name as the TimesTen cache administration user if the Oracle Database user is not the Oracle cache administration user.

Footnote 13

Required if the TimesTen user accessing the cache table does not own the table.