タスク4: Oracle Databaseでのキャッシュ管理ユーザーへのSQL権限の付与
Oracleデータベースでキャッシュ操作を実行するには、Oracleデータベースのキャッシュ管理ユーザーに特定のSQL権限のセットが必要です。
Oracleデータベース管理者としてgrantCacheAdminPrivileges.sql
スクリプトを実行し、Oracleキャッシュ管理ユーザーに、キャッシュ操作の実行に必要な最小限のSQL権限セットを付与します。スクリプトは、TimesTenインスタンスのtimesten_home/install/oraclescripts/grantCacheAdminPrivileges.sql
にあります。
次の非自律型Oracle Databaseの例では、Oracle Databaseのキャッシュ操作に必要なSQL権限がcacheadmin
ユーザーに付与されます:
SQL> @grantCacheAdminPrivileges.sql cacheadmin
Please enter the administrator user id
The value chosen for administrator user id is cacheadmin
***************** Creation of TT_CACHE_ADMIN_ROLE starts ******************
0. Creating TT_CACHE_ADMIN_ROLE role
** Creation of TT_CACHE_ADMIN_ROLE done successfully **
***************** Initialization for cache admin begins ******************
0. Granting the CREATE SESSION privilege to CACHEADMIN
1. Granting the TT_CACHE_ADMIN_ROLE to CACHEADMIN
2. Granting the DBMS_LOCK package privilege to CACHEADMIN
3. Granting the DBMS_DDL package privilege to CACHEADMIN
4. Granting the DBMS_FLASHBACK package privilege to CACHEADMIN
5. Granting the CREATE SEQUENCE privilege to CACHEADMIN
6. Granting the CREATE CLUSTER privilege to CACHEADMIN
7. Granting the CREATE OPERATOR privilege to CACHEADMIN
8. Granting the CREATE INDEXTYPE privilege to CACHEADMIN
9. Granting the CREATE TABLE privilege to CACHEADMIN
10. Granting the CREATE PROCEDURE privilege to CACHEADMIN
11. Granting the CREATE ANY TRIGGER privilege to CACHEADMIN
12. Granting the GRANT UNLIMITED TABLESPACE privilege to CACHEADMIN
13. Granting the DBMS_LOB package privilege to CACHEADMIN
14. Granting the SELECT on SYS.ALL_OBJECTS privilege to CACHEADMIN
15. Granting the SELECT on SYS.ALL_SYNONYMS privilege to CACHEADMIN
16. Checking if the cache administrator user has permissions on the default
tablespace
Permission exists
18. Granting the CREATE TYPE privilege to CACHEADMIN
19. Granting the SELECT on SYS.GV$LOCK privilege to CACHEADMIN
20. Granting the SELECT on SYS.GV$SESSION privilege to CACHEADMIN
21. Granting the SELECT on SYS.DBA_DATA_FILES privilege to CACHEADMIN
22. Granting the SELECT on SYS.USER_USERS privilege to CACHEADMIN
23. Granting the SELECT on SYS.USER_FREE_SPACE privilege to CACHEADMIN
24. Granting the SELECT on SYS.USER_TS_QUOTAS privilege to CACHEADMIN
25. Granting the SELECT on SYS.USER_SYS_PRIVS privilege to CACHEADMIN
26. Granting the SELECT on SYS.V$DATABASE privilege to CACHEADMIN (optional)
27. Granting the SELECT on SYS.GV$PROCESS privilege to CACHEADMIN (optional)
28. Granting the SELECT ANY TRANSACTION privilege to CACHEADMIN
29. Creating the TTCACHEADM.TT_07_ARDL_CG_COUNTER table
30. Granting SELECT privilege on TTCACHEADM.TT_07_ARDL_CG_COUNTER table to
PUBLIC
********* Initialization for cache admin user done successfully *********
Autonomous Transaction Processingの場合、ステップ16の出力は次のとおりです:
16. Checking if the cache administrator user has permissions on the default tablespace
No existing permission..
Autonomous Transaction Processingでは、表領域が自動的に構成されます。したがって、この許可は必要ありません。
Oracleデータベースのキャッシュ管理ユーザーには、TimesTenにキャッシュされる各ユーザー表に対する特定の権限も必要です。厳密な権限は、次のように、使用されているキャッシュ・グループのタイプによって異なります。
-
読取り専用キャッシュ・グループの場合、キャッシュ管理ユーザーにキャッシュされるすべてのユーザー表に対する
SELECT
権限を付与します。SQL> GRANT SELECT ON sales.customers TO cacheadmin;
-
読取り/書込み(AWT)キャッシュ・グループの場合、キャッシュ管理ユーザーには、キャッシュされるすべてのユーザー表に対する
SELECT
、INSERT
、UPDATE
およびDELETE
権限が必要です。SQL> GRANT SELECT, INSERT, UPDATE, DELETE ON sales.customers TO cacheadmin;
後でTimesTen内にDSNを作成するときに、Oracleデータベースの文字セットを把握する必要があります。これは、OracleデータベースとTimesTenデータベースの両方で一致する必要があります。
SQL> SELECT value FROM nls_database_parameters WHERE parameter='NLS_CHARACTERSET'; VALUE --------------------------------------------------------------------------- AL32UTF8