インストールされる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オブジェクトの削除」を参照してください。