Oracle DatabaseとTimesTen Scaleoutシステムの設定

キャッシュ・グループを作成するには、まずTimesTen Scaleoutをインストールしてから、OracleデータベースおよびTimesTen Scaleoutシステムを両方とも構成する必要があります。

「TimesTen Scaleoutの前提条件とインストール」を参照してください。

ノート:

TimesTenデータベースとOracleデータベースは別々のシステムに置き、これらの間でリソースの競合が発生しないようにすることをお薦めします。TimesTenは、インメモリー・データベースであるため、大量のメモリーを使用します。また、ワークロードによっては大量のCPU時間を使用したり、大量のI/O生成することがあります。

TimesTenに、接続先のOracleデータベース、Oracleデータベースへの接続時に使用する資格証明、およびTimesTenデータベースとOracleデータベースの両方に表を所有するユーザーについて、情報を提供します。

  1. Oracle Databaseでのユーザーと表領域の作成

  2. TimesTenデータベースの作成

  3. tnsnames.oraファイルへのOracle Databaseネット・サービス名の追加

  4. TimesTenデータベースでのユーザーの作成

  5. TimesTenデータベースの接続可能オブジェクトの作成

  6. TimesTenデータベースでのキャッシュ管理ユーザーの名前およびパスワードの登録

Oracleデータベースでのユーザーと表領域の作成

Oracleデータベースでは、他のアプリケーションと共有しないキャッシュ管理オブジェクトの保存に使用するデフォルトの表領域を作成する必要があります。この表領域はキャッシュ管理のみに使用することをお薦めします。

Oracleデータベースで次のユーザーを作成します。

ノート:

  • トランザクション処理ワークロード・タイプにOracle Autonomous Database Serverlessを使用している場合は、事前構成済のデータベース・サービスLOWまたはTPを使用します。

  • マルチテナント・コンテナ・データベース(CDB)またはプラガブル・データベース(PDB)を使用している場合、キャッシュ管理ユーザーを作成し、CDBまたはPDBでこのユーザーに権限を付与する方法については、次の特定の手順に注意してください。

  • TimesTenデータベースにキャッシュするOracleデータベース表を所有する既存のスキーマ・ユーザーを識別します。

  • キャッシュ環境の管理および特定のキャッシュ・グループ・タイプの定義済動作の実行に使用される情報を格納するOracleデータベース・オブジェクトを作成して保守するキャッシュ管理ユーザーを作成します。

次に、デフォルト表領域、スキーマ・ユーザーおよびキャッシュ管理ユーザーの作成方法を示します。

  1. オペレーティング・システムのシェルまたはコマンド・プロンプトから、Oracleデータベース・システムでSQL*Plusを起動します。必要なロールを作成するための権限があるOracleデータベース・ユーザーとしてOracleデータベースに接続し、Oracleデータベース上のキャッシュ管理ユーザーに、必要な権限を付与します。

    % cd timesten_home/install/oraclescripts
    % sqlplus sys as sysdba
    Enter password: password

    SYSユーザーは必要な権限を付与できるため、この例では、sysdbaユーザーとしてsysを使用します。トランザクション処理ワークロード・タイプの場合、かわりにadminユーザーを使用します。適切な権限がある任意のOracleデータベース・ユーザーを使用できます。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』キャッシュ処理のキャッシュ管理ユーザーに必要な権限を参照してください。

  2. 非自律型Oracle Databaseの場合は、SQL*Plusを使用してデフォルトの表領域を作成します。次の例では、デフォルトの表領域の名前をcachetblspとしています。

    SQL> CREATE TABLESPACE cachetblsp DATAFILE 'tt_cache.f' SIZE 5G 
     SEGMENT SPACE MANAGEMENT AUTO;
    
    Tablespace created.

    トランザクション処理ワークロード・タイプ場合、このステップをスキップします。Oracle Autonomous Databaseは、データベースのデフォルト・データ表領域および一時表領域を自動的に構成します。表領域を追加、削除または変更することはできません。Oracle Autonomous Databaseは、記憶域サイズに応じて1つ以上の表領域を自動的に作成します。

  3. TimesTenデータベースにキャッシュされるOracleデータベース表を所有するスキーマ所有者とともに、1つ以上の既存のスキーマを特定(または新しいスキーマを作成)します。キャッシュされる表は、新規でも既存でもかまいません。スキーマ所有者に、TimesTenデータベースにキャッシュされるOracleデータベースで表を作成するために必要な最小限の権限セットを付与します。この例では、salesスキーマ所有者が所有する表をキャッシュします。

    次のSQL*Plusの例では、salesユーザーに必要な権限を付与します。

    SQL> GRANT CREATE SESSION, CREATE TABLE, CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR
     TO sales;
  4. SQL*Plusを使用してキャッシュ管理ユーザーを作成し、このユーザーに権限を付与します。

    ノート:

    マルチテナント・コンテナ・データベース(CDB)またはプラガブル・データベース(PDB)を使用している場合、キャッシュ管理者ユーザーは次のいずれかになります:

    • ローカル・ユーザー: ローカル・ユーザーは、単一のPDB内でのみ操作できるデータベース・ユーザーです。このユーザーが存在するPDB内でのみキャッシュ権限を割り当てる必要があります。

    • 共通ユーザー: 共通ユーザーは、すべてのコンテナで認識されるデータベース・ユーザーで、CBDルートとCDB内の既存および将来のすべてのPDBで同じIDを持ちます。キャッシュを使用するCDBの各PDB内でキャッシュ権限を割り当てる必要があります。

    1. キャッシュ管理ユーザーを作成し、キャッシュ管理オブジェクト用に作成したデフォルト表領域を指定します。

      • 非自律型Oracleデータベースの場合、次のSQL*Plus例ではキャッシュ管理ユーザーを作成します。

        SQL> CREATE USER cacheadmin IDENTIFIED BY orapwd
            DEFAULT TABLESPACE cachetblsp QUOTA UNLIMITED ON cachetblsp;
      • トランザクション処理ワークロード・タイプの場合、次のSQL*Plus例ではキャッシュ管理ユーザーを作成します。

        SQL> CREATE USER cacheadmin IDENTIFYED BY orapwd
            QUOTA UNLIMITED ON DATA;
    2. SQL*Plusスクリプトtimesten_home/install/oraclescripts/grantCacheAdminPrivileges.sqlを実行して、キャッシュ・グループ操作の実行に必要な最小限の権限セットをキャッシュ管理ユーザーに付与します。

      ノート:

      マルチテナント・コンテナ・データベース(CDB)またはプラガブル・データベース(PDB)を使用している場合は、grantCacheAdminPrivileges.sqlスクリプトを実行して、次のようにキャッシュ権限を割り当てます。

      • キャッシュ管理者ユーザーがローカル・ユーザーの場合: このユーザーが存在するPDB内でのみキャッシュ権限を割り当てる必要があります。これは望ましい方法です。

      • キャッシュ管理者ユーザーが共通ユーザーの場合: キャッシュを使用するCDBの各PDB内でキャッシュ権限を割り当てる必要があります。CBDルートで共通ユーザーに権限を付与するSQL*Plusスクリプトを実行しないでください。

      非自律型Oracleデータベースの場合、次の例では、cacheadminをキャッシュ管理ユーザー名としてgrantCacheAdminPrivileges.sqlスクリプトに渡します:

      ノート:

      timesten_home/install/oraclescripts/grantCacheAdminPrivileges.sqlスクリプトを実行するユーザーに必要な権限と、このユーザーがキャッシュ管理ユーザーに付与する権限については、このスクリプト内のコメントを参照してください。

      SQL> @grantCacheAdminPrivileges "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.V$SESSION privilege  to CACHEADMIN (optional)
      28. Granting the SELECT on SYS.V$PROCESS privilege  to CACHEADMIN (optional)
      29. Granting the SELECT ANY TRANSACTION privilege to CACHEADMIN
      ********* Initialization for cache admin user done successfully *********
      SQL> exit

      トランザクション処理ワークロード・タイプの場合、かわりにステップ16が表示されます:

      16. Checking if the cache administrator user has permissions on the default tablespace
      No existing permission.

      Oracle Autonomous Databaseは、表領域を自動的に構成します。したがって、この許可は必要ありません。

『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』Oracleデータベース・ユーザーおよびデフォルト表領域の作成を参照してください。

TimesTenデータベースの作成

TimesTenデータベースを作成およびオープンする前に、データベース定義を作成します。

TimesTenデータベースの作成には次のタスクが含まれます。

TimesTenデータベースのデータベース定義の作成

Oracleデータベース内のデータをキャッシュするTimesTenデータベース用のデータベース定義ファイルを作成する場合は、接続属性の設定に特に注意してください。

  • OracleNetServiceNameは、Oracleデータベース・インスタンスのネット・サービス名に設定する必要があります。

  • PermSizeには、データベースの永続領域の割当てサイズをMBで指定します。PermSizeを、キャッシュ・グループや索引などのすべてのデータを格納するのに十分な大きさに設定します。PermSize値は、マシン上の物理RAMより小さくする必要があります。PermSizeは、数GBから数TBまでの値にできます。デフォルトは32 MBです。

  • DatabaseCharacterSetは、Oracleデータベースの文字セットと一致する必要があります。

    任意のユーザーとしてSQL*Plusで次の問合せを実行すると、Oracle Database文字セットを確認できます。

    SQL> SELECT value FROM nls_database_parameters 
           WHERE parameter='NLS_CHARACTERSET';
  • CacheAdminWalletを1に設定すると、ttGridAdmin dbCacheCredentialSetコマンドに登録されているOracleキャッシュ管理ユーザーの資格証明がOracle Walletに格納されます。

次の例では、database1.dbdefというデータベース定義ファイルの内容を示します。このファイルでは、次のことが定義されています。

  • チェックポイント・ファイルのフルパスは/disk1/databases/database1

  • ログ・ファイルのディレクトリは/disk2/logs

  • データベース文字セットはAL32UTF8

  • 各要素の永続メモリー領域は32 GB

  • 各要素の一時メモリー領域は4 GB

  • 各要素の内部トランザクション・ログ・バッファは1 GB

  • データベースへのユーザー指定同時接続の上限は3072

  • OracleNetServiceNameinst1に設定されている。

  • CacheAdminWalletを1に設定します。

DataStore=/disk1/databases/database1
LogDir=/disk2/logs
DatabaseCharacterSet=AL32UTF8
PermSize=32768
TempSize=4096
LogBufMB=1024
Connections=3072
OracleNetServiceName=inst1
CacheAdminWallet=1

「データベース定義の作成」を参照してください。

TimesTenデータベースの作成とオープン

キャッシュの接続属性を含めてデータベース定義を作成した後は、TimesTenデータベースの作成とオープンに必要な残りのタスクを実行できます。

『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』「データベースの作成」を参照してください。

  1. ttGridAdmin dbdefCreateコマンドを使用して、データベース定義ファイルに基づいてデータベース定義を作成します。TimesTen Scaleoutでは、データベース定義ファイルの名前を使用して、データベース定義の名前を指定します。

    database1.dbdefファイルに基づいてdatabase1データベース定義が作成されます。

    % ttGridAdmin dbdefCreate /mydir/database1.dbdef
    Database Definition database1 created.
  2. 現在のバージョンのモデルに、database1データベース定義を追加します。
    % ttGridAdmin modelApply
    ...
    Updating grid state...................................................OK
    Pushing new configuration files to each instance......................OK
    ...
    ttGridAdmin modelApply complete
  3. データベース定義に格納されている属性に基づいて、TimesTenデータベースを作成します。

    ttGridAdmin dbCreateコマンドにより、データベース定義に基づいてデータベースが作成されます。

    database1データベース定義に基づいてdatabase1データベースが作成されます。

    % ttGridAdmin dbCreate database1
    Database database1 creation started
  4. 分散マップの定義を続行する前に、すべてのデータ・インスタンスで、データベース要素がメモリーにロードされたことが報告されるまで待機します。ttGridAdmin dbStatusコマンドを使用して、データベース作成プロセスのステータスを確認できます。
    % ttGridAdmin dbStatus database1 -element
    Database database1 element level status as of Tue Dec 22 08:52:09 PST 2020
     
    Host  Instance  Elem Status CA Status Date/Time of Event  Message 
    ----- --------- ---- ------ --------- ------------------- ------- 
    host3 instance1  1   loaded  stopped   2020-12-22 08:52:00   
    host4 instance1  2   loaded  stopped   2020-12-22 08:52:04   
    host5 instance1  3   loaded  stopped   2020-12-22 08:51:47   
    host6 instance1  4   loaded  stopped   2020-12-22 08:51:58 
    host7 instance1  5   loaded  stopped   2020-12-22 08:52:04
    host8 instance1  6   loaded  stopped   2020-12-22 08:52:04
  5. TimesTenデータベースの分散マップを定義し、grid1グリッド内の使用可能なデータ・インスタンスのすべての要素をdatabase1データベースの分散マップに追加します。
    % ttGridAdmin dbDistribute database1 -add all -apply
    Distribution map updated
  6. ユーザー接続に対してdatabase1データベースをオープンします。

    ttGridAdmin dbOpenコマンドにより、ユーザー接続に対してデータベースをオープンします。

    % ttGridAdmin dbOpen database1
    Database database1 open started
  7. ttGridAdmin dbStatusコマンドを使用して、データベースがオープン状態であることを確認します。

    この例は、database1データベースのステータス・サマリーを示しています。レポートに、データベースのすべての要素がオープンとして表示されていることに注意してください。

    % ttGridAdmin dbStatus database1 -element
    Database database1 element level status as of Tue Dec 22 08:52:49 PST 2020
     
    Host  Instance  Elem Status CA Status Date/Time of Event  Message 
    ----- --------- ---- ------ --------- ------------------- ------- 
    host3 instance1    1 opened stopped 2020-12-22 08:52:44
    host4 instance1    2 opened stopped 2020-12-22 08:52:43
    host5 instance1    3 opened stopped 2020-12-22 08:52:43
    host6 instance1    4 opened stopped 2020-12-22 08:52:44
    host7 instance1    5 opened stopped 2020-12-22 08:52:44
    host8 instance1    6 opened stopped 2020-12-22 08:52:44

tnsnames.oraファイルへのOracle Databaseネット・サービス名の追加

TimesTen Scaleoutでキャッシュ環境を設定するときには、データベース内のすべてのインスタンスがOracleデータベースにアクセスできる必要があります。

トランザクション処理ワークロード・タイプの場合、事前構成済データベース・サービスLOWまたはTPを使用します:

  • databasename_low

  • databasename_tp

Oracle Databaseのtnsnames.oraファイルでは、アプリケーションが接続するOracle Net Servicesを定義します。ttGridAdmin TNSNamesImportコマンドを使用して、TimesTenデータベース内のすべてのインスタンスにtnsnames.oraをインポートします。

ノート:

SQLNetパラメータを追加する必要がある場合は、sqlnet.oraファイルを作成し、ttGridAdmin SQLNetImportコマンドを使用してインポートします。

  1. tnsnames.oraファイルにOracle Databaseネット・サービス名を追加します。
    • 非自律型Oracle Databaseの場合、tnsnames.oraファイルでinst1を定義する例を次に示します:

      inst1 =  
       (DESCRIPTION =   
         (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.com)
           (PORT = 1521))     
         (CONNECT_DATA =       
           (SERVICE_NAME = inst1.my.example.com)))
    • トランザクション処理ワークロード・タイプの場合、tnsnames.oraファイルでinst1_lowを定義する例を次に示します:

      inst1_low =  
       (DESCRIPTION =   
         (ADDRESS = (PROTOCOL = TCP)(HOST = adb.us-phoenix-1.oraclecloud.com)
           (PORT = 1521))     
         (CONNECT_DATA =       
           (SERVICE_NAME = inst1_low.adb.oraclecloud.com)))
  2. ttGridAdmin TNSNamesImportコマンドを使用して、このファイルをグリッドにインポートします。
    % ttGridAdmin TNSNamesImport /tmp/tnsnames.ora
    TNSNames configuration file /tmp/tnsnames.ora imported
  3. ttGridAdmin modelApplyコマンドを使用して、それをモデルに適用します。モデル適用の完了後は、すべてのインスタンスにtnsnames.oraファイルが存在しています。
    % ttGridAdmin modelApply
    ...
    Updating grid state...................................................OK
    Pushing new configuration files to each instance......................OK
    ...
    ttGridAdmin modelApply complete

『Oracle TimesTen In-Memory Databaseリファレンス』TNS名のインポート(TNSNamesImport)またはSqlnetファイルのインポート(SQLNetImport)を参照してください。

TimesTenデータベースでのユーザーの作成

キャッシュを使用するには、Oracleデータベース・ユーザーの他に、特定のTimesTenユーザーを作成する必要があります。

  • TimesTenキャッシュ管理ユーザーがキャッシュ・グループ処理を実行します。TimesTenキャッシュ管理ユーザーは、キャッシュされたOracleデータベース表にアクセスできるOracle Databaseキャッシュ管理ユーザーと同じ名前である必要があります。キャッシュ管理ユーザーのパスワードは、コンパニオンOracleデータベース・キャッシュ管理ユーザーのパスワードとは異なってもかまいません。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』TimesTenユーザーの作成を参照してください。

  • 1人以上のキャッシュ・ユーザーがキャッシュ表を所有します。TimesTenデータベースにキャッシュされるOracleデータベース表を現在所有しているか今後所有することになるスキーマ・ユーザーごとに、Oracleデータベース・スキーマ・ユーザーと同じ名前でTimesTenキャッシュ・ユーザーを作成する必要があります。キャッシュ・ユーザーのパスワードは、同じ名前を持つOracleデータベース・スキーマ・ユーザーとは別のパスワードにすることができます。

    TimesTenキャッシュ表の所有者および名前は、対応するキャッシュされたOracleデータベース表の所有者および名前と同じです。

TimesTenデータベース上のデータ・インスタンスの1つで、直接接続可能オブジェクトを使用して接続します。TimesTenキャッシュ管理ユーザーを作成し、このユーザーに、キャッシュ・グループの作成とそのキャッシュ・グループに対する操作の実行に必要な最小限の権限セットを付与します。次の例では、TimesTenキャッシュ管理ユーザー名をcacheadminとしていますが、これは以前に作成したOracleキャッシュ管理ユーザーと同じ名前です。

ttisql "DSN=database1"

Command> CREATE USER cacheadmin IDENTIFIED BY ttpwd;
Command> GRANT CREATE SESSION, CACHE_MANAGER, CREATE ANY TABLE TO cacheadmin;

次に、キャッシュ・ユーザーを作成します。次の例では、キャッシュ・ユーザー名をsalesとしていますが、これは、キャッシュする表を持つOracleデータベース・スキーマ・ユーザーと同じ名前です。

Command> CREATE USER sales IDENTIFIED BY ttpwd;

TimesTenキャッシュ管理ユーザーに必要な権限は、キャッシュ・グループに対して実行する処理によって異なります。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』TimesTenユーザーの作成を参照してください。

TimesTenユーザーおよび権限の詳細は、『Oracle TimesTen In-Memory Databaseセキュリティ・ガイド』TimesTenユーザーの管理を参照してください。

TimesTenデータベースの接続可能オブジェクトの作成

OracleデータベースからデータをキャッシュするTimesTenデータベースの接続可能オブジェクトを作成する場合は、接続属性の設定に特に注意します。

これらの接続属性はすべて、他に示されていないかぎり、接続可能オブジェクトまたは接続文字列で設定できます。

  • UIDには、キャッシュされたOracleデータベース表にアクセスできるOracleデータベース・キャッシュ管理ユーザーと同じ名前のTimesTenキャッシュ管理ユーザーの名前を指定します。UID接続属性は、直接接続可能オブジェクト、クライアント/サーバー接続可能オブジェクトまたは接続文字列で指定できます。

  • PwdWalletは、ユーザーの資格証明が格納されるウォレットの場所を示します。TimesTenユーザー名とパスワードをウォレットに格納できます。キャッシュ管理者ユーザーおよびそれぞれのパスワードをウォレットに格納することもできます。これは、キャッシュ操作の実行およびOracleデータベースへの接続時に必要です。ウォレットに資格証明を指定することは、クライアントDSNまたは接続文字列でパスワードを指定するよりも安全です。

  • 資格証明の指定にPwdWalletを使用していない場合は、次を使用できます。

    • PWDには、UID接続属性で指定したTimesTenキャッシュ管理ユーザーのパスワードを指定します。

    • OraclePWDには、UID接続属性で指定したTimesTenキャッシュ管理ユーザーと同じ名前のOracle Databaseキャッシュ管理ユーザーのパスワードを指定します。

  • PassThroughには、文をTimesTenデータベースで実行するかOracleデータベースにパススルーして実行するかの制御を設定できます。「パススルーの使用」を参照してください。

  • LockLevelは、キャッシュではデータベース・レベル・ロックがサポートされていないため、デフォルトの0 (行レベル・ロック)に設定する必要があります。

次の例では、キャッシュを使用する接続可能オブジェクトの作成方法を示します。

  1. 接続文字セット、OracleNetServiceName、接続のためにウォレットに保存されたキャッシュ管理ユーザー資格証明を設定する接続可能ファイルを作成します。

    この接続可能オブジェクト・ファイルの名前はdatabase1CS.connectです。このファイルは、接続文字セットとしてAL32UTF8、キャッシュ管理ユーザー名としてcacheadmin、キャッシュ管理ユーザー資格証明として/wallets/cacheadminwalletを使用したウォレットの場所を設定します。

    ConnectionCharacterSet=AL32UTF8
    OracleNetServiceName=inst1
    UID=cacheadmin
    PwdWallet=/wallets/cacheadminwallet

    ノート:

    ウォレットを指定する前に、ユーザー資格証明のウォレットを作成する必要があります。Oracle Walletにユーザー資格証明を追加する方法については、『Oracle TimesTen In-Memory Databaseセキュリティ・ガイド』Oracle Walletでのキャッシュ管理ユーザー名およびパスワードの指定を参照してください。

    ウォレットを指定する場合は、ユーザーが接続可能オブジェクトにアクセスするすべてのデータ要素の同じパスにウォレットが存在する必要があります。

  2. ttGridAdmin connectableCreateコマンドにより、接続可能オブジェクト・ファイルに基づいて接続可能オブジェクトが作成されます。

    database1CS.connect接続可能オブジェクト・ファイルに基づいて、database1CS接続可能オブジェクトを作成します。

    % ttGridAdmin connectableCreate -dbdef database1 -cs /mydir/database1CS.connect
    Connectable database1CS created.
  3. 現在のバージョンのモデルにdatabase1CS接続可能オブジェクトの作成を適用して、接続可能オブジェクトを使用できるようにします。

    % ttGridAdmin modelApply
    ...
    Updating grid state...................................................OK
    Pushing new configuration files to each instance......................OK
    ...
    ttGridAdmin modelApply complete

『Oracle TimesTen In-Memory Databaseセキュリティ・ガイド』Oracle Walletでのキャッシュ管理ユーザー名およびパスワードの指定、および「接続可能オブジェクトの作成」を参照してください。

TimesTenデータベースでのキャッシュ管理ユーザーの名前およびパスワードの登録

TimesTenで、Oracleデータベースへの接続時に使用する資格証明が認識されている必要があります。同じデータベース内のすべてのインスタンスで、Oracleデータベースへの接続時に、同じOracleキャッシュ管理ユーザーIDとパスワードが使用される必要があります。

アクティブ管理インスタンスでttGridAdmin dbCacheCredentialSetコマンドを使用して、TimesTenデータベースでOracleキャッシュ管理ユーザーの名前とパスワードを登録します。CacheAdminWallet=1に設定すると、キャッシュ管理ユーザー資格証明はOracle Walletに格納されます。それ以外の場合、資格証明はメモリーに格納されます。

% ttGridAdmin dbCacheCredentialSet database1
Enter your Oracle user id: cacheadmin   
Enter Oracle password:
Password accepted   
Configuring cache.....................................................OK 

プロンプトが表示されたら、Oracleデータベース・ユーザーIDとしてキャッシュ管理ユーザー名を指定し、Oracleデータベース・パスワードとしてキャッシュ管理ユーザーのパスワードを指定します。

Oracleキャッシュ管理ユーザーの名前およびパスワードは、TimesTenデータベースに1回のみ登録する必要があります。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』TimesTenデータベースでのキャッシュ管理ユーザー名およびパスワードの設定を参照してください。

ttGridAdmin dbCacheCredentialSetコマンドを使用して、Oracleキャッシュ管理ユーザーの名前とパスワードを変更することもできます。このパスワードは、いつでも変更できます。キャッシュ管理ユーザー名は、TimesTenデータベースにキャッシュ・グループがない場合にのみ変更できます。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』キャッシュ・ユーザー名およびパスワードの変更を参照してください。