インストールされるSQL*Plusスクリプト
TimesTenとともにインストールされるSQL*Plusスクリプトがあります。
-
cacheCleanUp.sql
: このスクリプトは、TimesTen Classicの自動リフレッシュ処理の実装に使用される変更ログ表やトリガーなどのOracle Databaseオブジェクトを削除します。このスクリプトは、TimesTen Classicシステムがオフラインであったり自動リフレッシュを使用したキャッシュ・グループを削除せずにデータベースが破棄されたために自動リフレッシュを使用したキャッシュ・グループを含むTimesTen Classicデータベースが使用不可能になった場合に使用します。このスクリプトは、キャッシュ管理ユーザーとして実行します。引数として、TimesTen Classicシステムのホスト名およびTimesTenデータベース(パスを含む)を指定します。「自動リフレッシュを使用したキャッシュ・グループで使用されているOracle Databaseオブジェクトの削除」を参照してください。この例では、TimesTen Classicシステムに
cacheCleanUp.sql
スクリプトを使用します。scaleoutCacheCleanup.sql
スクリプトは、入力パラメータとしてグリッド名とデータベース名を必要とする点を除き、TimesTen Scaleoutの場合と同じ方法で実行されます。% cd timesten_home/install/oraclescripts % sqlplus cacheadmin/orapwd SQL> @cacheCleanUp "sys1" "/disk1/databases/database1" *****************************OUTPUT************************************** Performing cleanup for object_id: 69959 which belongs to table : CUSTOMER Executing: delete from tt_07_agent_status where host = sys1 and datastore = /disk1/databases/database1 and object_id = 69959 Executing: drop table tt_07_69959_L Executing: drop trigger tt_07_69959_T Executing: delete from tt_07_user_count where object_id = object_id1 Performing cleanup for object_id: 69966 which belongs to table : ORDERS Executing: delete from tt_07_agent_status where host = sys1 and datastore = /disk1/databases/database1 and object_id = 69966 Executing: drop table tt_07_69966_L Executing: drop trigger tt_07_69966_T Executing: delete from tt_07_user_count where object_id = object_id1 **************************************************************************
-
cacheInfo.sql
: このスクリプトは、自動リフレッシュを使用したキャッシュ・グループにキャッシュされているすべてのOracle Database表の変更ログ表情報、およびキャッシュされたOracle Database表に対して発行されたDDL文を追跡するのに使用されるOracle Databaseオブジェクトに関する情報を返します。このスクリプトは、キャッシュ・グループでの自動リフレッシュ処理およびキャッシュされたOracle Database表に対して発行されたDDL文の監視に使用します。このスクリプトは、キャッシュ管理ユーザーとして実行します。かわりに、ttCacheInfo
ユーティリティを使用することもできます。次の例では、
cacheInfo.sql
SQL*Plusスクリプトを実行します。% cd timesten_home/install/oraclescripts % sqlplus cacheadmin/orapwd SQL> @cacheInfo.sql ***************** Database Information ********************* Database name: DATABASE1 Unique database name: database1 Primary database name: Database Role: PRIMARY Database Open Mode: READ WRITE Database Protection Mode: MAXIMUM PERFORMANCE Database Protection Level: UNPROTECTED Database Flashback On: NO Database Current SCN: 21512609 ************************************************************* *************Autorefresh Objects Information *************** Grid name: grid1 (7D03C680-BD93-4233-A4CF-B0EDB0064F3F) Timesten database name: database1 Cache table name: SALES.CUSTOMERS Change log table name: tt_07_96977_L Number of rows in change log table: 4 Maximum logseq on the change log table: 1 Timesten has autorefreshed updates upto logseq: 1 Number of updates waiting to be autorefreshed: 0 Number of updates that has not been marked with a valid logseq: 0 *************DDL Tracking Object Information *************** Common DDL Log Table Name: TT_07_DDL_L DDL Trigger Name: TT_07_315_DDL_T Schema for which DDL Trigger is tracking: SALES Number of cache groups using the DDL Trigger: 10 **************************** PL/SQL procedure successfully completed.
このガイドの「キャッシュ・グループでの自動リフレッシュ処理の監視」および「キャッシュされたOracle Database表に対して発行されたDDL文の追跡」および『Oracle TimesTen In-Memory Databaseリファレンス』のttCacheInfoを参照してください。
-
grantCacheAdminPrivileges.sql
: このスクリプトは、特定のキャッシュ・グループ処理が実行されたときに、Oracle Databaseデータのキャッシュ管理に使用されるOracle Databaseオブジェクトを自動的に作成するのに必要な権限をキャッシュ管理ユーザーに付与します。これには、Oracle Database表に対する権限を定義するTT_CACHE_ADMIN_ROLE
ロールが含まれます。このスクリプトは、sys
ユーザーとして実行します。「データ・キャッシュの管理に使用するOracleデータベース・オブジェクトの作成」を参照してください。次の非自律型Oracleデータベースの例では、Oracle Databaseのキャッシュ処理に必要なSQL権限が
cacheadmin
ユーザーに付与されます:@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は表領域を自動的に構成します。したがって、この許可は必要ありません。
-
checkAdminPrivileges.sql
: このスクリプトは、キャッシュ処理に必要なすべての権限(grantCacheAdminPrivileges.sql
スクリプトの実行時に指定する権限)がキャッシュ管理ユーザーにあることを確認します。チェックするユーザーとしてこのスクリプトを実行します。権限がない場合は、sys
ユーザーに欠落した権限を付与させるか、このユーザーに対してgrantCacheAdminPrivileges.sql
スクリプトを実行します。「checkAdminPrivileges.sqlスクリプト」を参照してください。オペレーティング・システム・シェルまたはコマンド・プロンプトからOracle DatabaseシステムでSQL*Plusを使用し、権限をチェックするユーザー(ほとんどの場合、キャッシュ管理ユーザー)としてOracle Databaseインスタンスに接続します。次の例は、ユーザーに必要なすべての権限があることを示しています。
SQL> @checkAdminPrivileges.sql **** Checking privileges for cache administrator user **** **** User has all privileges for a cache administrator user ****
次の例は、Oracle Databaseで必要な権限が不足している場合の出力を示しています:
SQL> @checkAdminPrivileges.sql **** Checking privileges for cache administrator user **** Missing CREATE OPERATOR Missing CREATE INDEXTYPE Missing CREATE CLUSTER Missing EXECUTE ON SYS.DBMS_LOCK Missing EXECUTE ON SYS.DBMS_DDL Missing EXECUTE ON SYS.DBMS_FLASHBACK Missing EXECUTE ON SYS.DBMS_LOB Missing SELECT on SYS.GV$LOCK Missing SELECT on SYS.GV$SESSION Missing SELECT on SYS.DBA_DATA_FILES Missing SELECT on SYS.V$DATABASE Missing SELECT on GV$PROCESS Missing UNLIMITED TABLESPACE Missing SELECT ANY TRANSACTION Missing table ARDL_CG_COUNTER **** User missing privileges. Missing privilege count: 15 ****
-
initCacheAdminSchema.sql
: このスクリプトは、キャッシュ管理ユーザーに最小限のセットの権限を付与し、Oracle Databaseデータのキャッシュ管理に使用されるOracle Databaseオブジェクトを手動で作成します。これには、Oracle Database表に対する権限を定義するTT_CACHE_ADMIN_ROLE
ロールが含まれます。このスクリプトは、sys
ユーザーとして実行します。「initCacheAdminSchema.sqlスクリプト」を参照してください。次の例では、Oracleデータベース・キャッシュ管理ユーザー名は
cacheadmin
です。@initCacheAdminSchema cacheadmin
-
scaleoutCacheCleanUp.sql
: このスクリプトは、TimesTen Scaleoutの自動リフレッシュ処理の実装に使用される変更ログ表やトリガーなどのOracle Databaseオブジェクトを削除します。このスクリプトは、TimesTen Scaleoutシステムがオフラインであったり自動リフレッシュを使用したキャッシュ・グループを削除せずにデータベースが破棄されたために自動リフレッシュを使用したキャッシュ・グループを含むTimesTen Scaleoutデータベースが使用不可能になった場合に使用します。このスクリプトは、キャッシュ管理ユーザーとして実行します。グリッド名とTimesTenデータベース名を引数として指定します。scaleoutCacheCleanup.sql
スクリプトは、TimesTen ClassicのcacheCleanUp.sql
スクリプトと同じ方法でTimesTen Scaleoutに対して実行されます。「自動リフレッシュを使用したキャッシュ・グループで使用されているOracle Databaseオブジェクトの削除」を参照してください。