主コンテンツへ
Oracle® TimesTen In-Memory Databaseリファレンス
リリース18.1
E98626-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 TimesTen Scaleoutのユーティリティ

この章では、TimesTen Scaleoutでのみサポートされているユーティリティの概要と、リファレンス情報を次の各項で示します。

TimesTen Classicでのみサポートされているユーティリティ、またはTimesTen ClassicとTimesTen Scaleoutの両方でサポートされているユーティリティの詳細は、第5章「ユーティリティ」を参照してください。

概要

TimesTenユーティリティのオプションでは、1文字のオプションを除いて、大/小文字は区別されません。-timeout-TimeOutは同じ意味で使用できます。ただし、-v-Vはそれぞれ一意のオプションです。

すべてのユーティリティでは、成功した場合は0が返され、エラーが発生した場合は0以外が返されます。


ノート:

この章に示されているユーティリティ名およびオプションでは、大/小文字は区別されません。これらは、例および構文の記述をわかりやすくするために、大/小文字混在で示されています。

ユーティリティ・リスト

表4-1にリストされているユーティリティについては、この章で説明しています。

表4-2にリストされているユーティリティについては、第5章「ユーティリティ」で説明しています。

表4-1 TimesTen Scaleoutでのみサポートされているユーティリティの説明

名前 説明

ttGridAdmin


TimesTen Scaleoutグリッドを管理します。

ttGridRollout


新規グリッドおよびデータベースを作成します。


表4-2 TimesTen ScaleoutとTimesTen Classicの両方でサポートされているユーティリティの説明

名前 説明

ttInstallationCheck


TimesTenのインストールに含まれるすべてのファイルを調べ、インストールのシグネチャを生成します。

ttInstallDSN


指定された入力ファイルにリストされている1つ以上のエントリに対して、WindowsクライアントDSNを生成して、ODBCパネルにシステムDSNとしてインストールします。

ttInstanceCreate


新しいTimesTenインスタンスを作成します。

ttInstanceDestroy


既存のTimesTenインスタンスを破棄します。

ttInstanceModify


インスタンスの特定の属性を変更します。

ttIsql


SQL文を対話型で実行します。

ttMigrate


TimesTenオブジェクトを保存およびリストアします。

ttSchema


データベースのスキーマまたは選択されたオブジェクトを出力します。

ttSize


指定した表(データベース内のビューを含む)に指定された数の行が追加されて、サイズが大きくなったときの領域の消費量を見積もります。

ttStats


データベース・メトリックを監視するか、メトリックのスナップショットを取得して比較します。

ttVersion


TimesTenリリース情報をリストします。


ttGridAdmin

説明

ttGridAdminユーティリティは、グリッドの作成、データ・インスタンスまたは管理インスタンスの追加または削除、データベースの作成、新しいデータ・インスタンスへのデータの再分散など、グリッド管理のあらゆる側面に使用します。これらの操作の結果となるグリッドおよびデータベース構成は、グリッド・モデルに格納され、それがグリッドのインスタンスに分散されます。(モデルの概要は、「グリッド・モデル」を参照してください。)


重要:

TimesTen Scaleoutでは、構成ファイル(timesten.confsys.odbc.initnsnames.oraなど)を手動で更新しないでください。

必要な権限

ttGridAdminの実行元である管理インスタンスのインスタンス管理者。ユーザーが、ttGridAdminで作成されたすべてのインスタンスのインスタンス管理者になります。

TimesTen Scaleoutでの使用

このユーティリティはTimesTen Scaleoutで特に使用され、グリッドに対して操作を実行するコマンドが用意されています。

構文

一般的な構文(ヘルプ・オプションや、すべてのコマンドに適用されるオプション)は、「ヘルプ・オプションおよび一般オプション」を参照してください。個々のコマンドの構文は、「ttGridAdmin操作」の関連する項を参照してください。

グリッド・モデル

TimesTen Scaleoutでは、グリッドの目的の構造を説明するモデル内にグリッドの中央構成を維持します。モデルはグリッドの目的の論理トポロジを表し、これにはインストール、ホスト、インスタンス、データベース定義など、グリッドのコンポーネントを表すオブジェクトが含まれています。ttGridAdminを使用してグリッド・コンポーネントを追加するたびに、対応するオブジェクトがモデルに追加されます。

ttGridAdminを使用してモデルを適用すると、TimesTen Scaleoutでは、目的の物理インストールと物理インスタンスを作成することなどによって、それを操作グリッドに実装することを試みます。

グリッド・オブジェクトとオブジェクト・ネーミング

グリッドの各エンティティ(各ホスト、インスタンス、インストール、物理グループ、リポジトリなど)は、名前付きオブジェクトとして定義されています。

このようなタイプのエンティティを表す各オブジェクト・タイプには、それぞれ独自のネームスペースがあります。たとえば、xyzという名前のホストとxyzという名前の物理グループを競合することなく保持できます。また、インスタンス・ネームスペースおよびインストール・ネームスペースがホストごとに設定されます。たとえば、host1上にinstance1という名前のインスタンスと、host2上にinstance1という名前のインスタンスを競合することなく保持できます。

このようなオブジェクト・ネーミング階層は、toplevelobject.nextlevelobectという完全修飾名を使用して、ttGridAdmin構文で表現できます。たとえば、host1.instance1host2.instance1です。ホストにインスタンスまたはインストール(必要に応じて)が1つのみ存在する場合、ttGridAdmin構文でインスタンスまたはインストールを指定するには、hostnameを指定することのみが必要です(hostname.instancenamehostname.installnameのように指定する必要はありません)。

グリッド・エンティティに対する、ttGridAdminによるインスタンスやインストールの作成や削除などの操作は、モデル内の対応するオブジェクトを介して管理されます。物理エンティティ自体は、モデルがttGridAdmin modelApplyコマンドによって適用されるまで、作成されることも削除されることもありません。たとえば、host1.instance1という名前のインスタンスを削除する場合、instanceDeleteコマンドがモデルからhost1.instance1という名前のオブジェクトを削除し、modelApplyコマンドが物理インスタンス(インスタンス・ホーム・ディレクトリおよびその下にあるすべてのもの)を削除します。

グリッド・モデルでのオブジェクト・ネーミングでは次の制限に注意してください。

  • 名前には、ASCII文字のみを使用する必要があります。

  • 使用できる文字は、アルファベット、数字、ハイフン(-)およびアンダースコア(_)です。

  • データベース定義名および接続可能オブジェクト名は、32文字に制限されます(ODBCの制限事項による)。

  • 他のすべてのオブジェクト名は256文字に制限されます。

  • オブジェクト名は、大/小文字が区別されません(このため、同じホスト上にインスタンスinstanceとインスタンスInstanceを保持することはできません)が、ttGridAdminコマンドで指定されたとおりに表示されます。instanceCreateコマンドにMyInstanceを指定した場合は、そのように表示されます。

  • AllDefaultなど予約された名前を付けることはできません。

アドレス形式

gridCreatehostCreateなど一部のttGridAdminコマンドには、内部通信および外部通信に使用されるアドレスを指定するオプションがあります。DNS名またはIPアドレスとしてアドレスを指定できますが、DNS名を使用することがより一般的です。IPアドレスは、IPv6またはIPv4のいずれかの形式で指定できます。次に例を示します。

  • DNS名: myhost.example.com

  • IPv6アドレス: 2001:b400:2000:834:26:3eff:fe07:5b83

  • IPv4アドレス: 192.0.2.1

データベース管理操作

グリッド環境では、データベース管理操作(dbCreate/dbDestroydbLoad/dbUnloaddbOpen/dbClose)はデフォルトでは非同期に実行されます。一般的には、このようにすることをお薦めします。これは、このような操作はアトミックでなく、時間がかかる場合があるためです。大規模なグリッドでは、データベースをロードする場合、多くのホストではただちに正常に完了するものの、一部のホストでは少し時間がかかり、また別のホストではかなり時間がかかることもあります。実際、操作が実行されたときにホストが停止していて、そのためにそのホストがバックアップされるまで操作を実行できないことがあります。

デフォルトでは、これらのデータベース操作のコマンドは、操作の完了を待機しないで戻りますが、タイムアウトあり、またはなしで、必要に応じて待機することもできます。タイムアウトを設定して待機する場合、コマンドはすべてのインスタンスで完了するか、タイムアウトに達するまで戻りません。タイムアウトなしで待機する場合、インスタンスが停止していると、コマンドは戻りません。各方法には、グリッドの大きさなどの要因によってそれぞれ長所と短所があります。大規模なグリッドではすべてのインスタンスで操作が完了する前に処理を進めることを選択する場合がある一方、小規模なグリッドではすべてのインスタンスで完了するまで待機した方が合理的な場合があります。

データベースの各要素などのデータベースの状態はTimesTen Scaleoutによって追跡されますが、操作のステータスをチェック(dbStatusコマンドを使用、また必要に応じて-allオプションを使用して詳細情報をチェック)して、操作を完了したインスタンスの数を確認することはユーザーに任されています。特に、データベースをロードした後、データベースをオープンしてユーザーがアクセスを開始できるだけの十分なインスタンスにロードされたかどうかを判断するために、ステータス情報を使用できます。

いずれか、またはすべてのインスタンスで操作を取り消すコマンドはありません。

コマンドのタイムアウトと待機

ttGridAdminは、コマンドを実行する場合と同じく、オペレーティング・システム・コマンドも実行する場合があることに注意してください。最上位の-timeoutオプションを使用すると、ttGridAdminが指定した秒数だけ操作の完了を待機することを指定できます。操作が指定した秒数内に完了しないと、実行中のttGridAdminコマンドは失敗します。

また、ttGridAdminデータベース管理コマンドdbCreatedbDestroydbloaddbUnloaddbOpenおよびdbCloseには、-nowait/-waitオプションが用意されています。これらの各コマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。–nowait (デフォルト)を設定すると、コマンドは状態の変更が完了することを待機しないで、すぐに戻ります。-waitにタイムアウト値nを指定した場合、ttGridAdminは状態の変更が完了することを最大n秒待機します。-waitにタイムアウトを指定しない場合、ttGridAdminは状態の変更が完了することを制限なしで待機します。

ヘルプ・オプションおよび一般オプション

これらのオプションは、すべてのttGridAdminコマンドで機能する以外に、ヘルプの場合はコマンドなしの最上位で機能します。

ttGridAdmin [-h | -help | -?] [command] 

ttGridAdmin [-o json] [-timeout n] command [-command_option] ...

オプション

ttGridAdminには、次の一般オプションがあります。

オプション 説明
-h

-help

-?

ヘルプ情報を表示します。

このオプションを単独で指定すると、ttGridAdminのコマンドが分類してリストされます。次に例を示します。

ttGridAdmin -h

このオプションを1つのコマンドとともに指定すると、そのコマンドの構文とオプションの説明が表示されます。次に例を示します。

ttGridAdmin -h dbCreate
-o json JSON出力を選択します。

コマンドの出力がJSON形式になります。(それ以外の場合、出力は判読可能な形式ではありません。)

重要: TimesTenリリース間でJSON出力の互換性は保証されません。

-timeout n 実行時間の長い操作の完了を待機する最大秒数。デフォルトは600です。

ttGridAdminは、コマンドを実行する場合と同じく、オペレーティング・システム・コマンドも実行する場合があることに注意してください。このような操作の完了を指定した秒数だけ待機します。操作が指定した秒数内に完了しないと、実行中のttGridAdminコマンドは失敗します。


戻り値

この項では、ttGridAdminコマンドから返されたエラー値またはステータス値と、JSONデータ要素について説明します。

エラーおよびステータスのリターン・コード

ttGridAdminコマンドは、成功または失敗を示すエラー・コードを返します。一般的なコードは次のとおりです。

コード 説明
0 成功
255 内部エラー
254 構文エラー

返されるJSONデータ要素

JSON出力を指定すると、コマンドのstdoutには少なくとも次の名前/値のペアが含まれています。(JSON出力に関する一般的な情報は、http://www.json.org/を参照してください。)

リターン データ型 説明
"status" 数値 リターン・コード

前の項「エラーおよびステータスのリターン・コード」を参照してください。

"errno" 数値 エラー番号(エラーが発生した場合)
"errmsg" 文字列 エラー・メッセージ(エラーが発生した場合)


ノート:

さらに、コマンド固有のJSONデータ要素も返される場合があります。

バックアップおよびリストア操作

この項ではttGridAdminコマンドを使用して、データベースをバックアップおよびリストアしたり、それらの操作のステータスを表示したり、バックアップを削除します。

また、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータの移行、バックアップおよびリストアに関する説明も参照してください。

データベースのバックアップ(dbBackup)

dbBackupコマンドは、指定されたデータベースのバックアップを開始します。

ttGridAdmin dbBackup dbname 
                     -repository reponame 
                     [-name backupname]
                     [-backupType normal|staged]
                     [-bwlimit limit]
                     [-compress value]

場合によっては、かわりにdbExportを使用する必要があります。これに該当するのは、たとえば、リストア位置にあるグリッド・トポロジがバックアップ・データベースよりもレプリカ・セットの数が少ない場合や、リストア位置で実行されているTimesTenのバージョンがバックアップ・データベースのバージョンとパッチの互換性がない場合です。詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータの移行、バックアップおよびリストアに関する説明を参照してください。

TimesTen Scaleoutを使用すると、SCPリポジトリのステージング済バックアップを作成できます。このタイプのバックアップを使用すると、チェックポイントおよびログ・ファイルのローカル・コピーの作成によるオーバーヘッドがなくなり、リポジトリにリモート・コピーを作成することによるWANトラフィックが減少します。詳細は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのリモート・リポジトリ(WAN対応)へのデータベースのバックアップに関する項を参照してください。


重要:

指定したリポジトリが-method scpで作成されていた場合は、次の点に注意してください。

通常バックアップの場合、各要素のバックアップ・ファイルは、要素が置かれているローカル・ファイル・システムに保存された後、リモート・リポジトリにコピーされます。


バックアップは、コレクションとしてリポジトリに格納されます。まずリポジトリを作成する必要があります。「リポジトリ操作」を参照してください。

オプション

dbBackupコマンドには、次のオプションがあります。

オプション 説明
dbname バックアップするデータベースの名前。
-repository reponame バックアップが配置されるリポジトリの名前。
-name backupname バックアップの名前を指定します。デフォルトは文字Bで始まり、その後にバックアップの日付と時刻が続き、次の形式になります。
Byyyymmddhhmmss
-backupType normal|staged SCPメソッドを使用するリポジトリの場合は、作成するバックアップのタイプを指定します。サポートされているオプションは、normalまたはstagedです。
  • normal: 各レプリカ・セットの1つの要素のチェックポイントおよびログ・ファイルが、リポジトリにコピーされる前に、それらの要素のインスタンス・ホームに一時的にコピーされます。

  • staged: 各レプリカ・セットの1つの要素のチェックポイントおよびログ・ファイルが、リポジトリのステージング・ディレクトリと同期される前に、その要素のインスタンス・ホームにあるシンボリック・リンクのターゲットとして一時的に使用されます。結果のファイルは、リポジトリ内のバックアップの場所にコピーされます。

デフォルトでは、TimesTenは通常バックアップを作成します。

-bwlimit limit ステージング済バックアップの場合、ホストとリポジトリ間でファイルをコピーおよび同期するために使用される合計最大帯域幅(MB/秒単位)を指定します。

デフォルトでは、ステージング済バックアップは可能なかぎりWAN帯域幅を使用します。

-compress value ステージング済バックアップの場合、ホストとリポジトリ間でファイルをコピーおよび同期するために使用される圧縮レベルを指定します。サポートされている値は0から9の範囲で、0は圧縮なし、9は使用可能な最大圧縮を表します。

デフォルトでは、ステージング済バックアップでは圧縮は使用されません。


この例では、database1をリポジトリrepo1にバックアップします。現在のタイムスタンプ(2/22/17の14:55:44)に従って、バックアップにデフォルト名を使用します。

% ttGridAdmin dbBackup database1 -repository repo1
dbBackup B20170222145544 started

その後、「データベース・バックアップのステータスの表示(dbBackupStatus)」の例に示すように、dbBackupStatusを使用して進行状況をチェックします。各要素とデータベース全体が完了と示されていると、バックアップは終了です。

ノート

  • バックアップは、非同期的に行われます。進行状況をチェックするには、dbBackupStatusコマンドを使用します。

  • 各レプリカ・セットから1つの要素がバックアップされます。

  • 各レプリカ・セットは、サブコレクションとして格納されます。

  • ディスク領域の要件は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータベースのバックアップおよびリストアに関する説明を参照してください。

データベース・バックアップの削除(dbBackupDelete)

dbBackupDeleteコマンドは、指定されたデータベース・バックアップを削除します。

ttGridAdmin dbBackupDelete -repository reponame 
                           -name backupname

オプション

dbBackupDeleteコマンドにはオプションがあります。

オプション 説明
-repository reponame バックアップが配置されているリポジトリの名前。
-name backupname 削除するバックアップの名前。

この例では、「データベースのバックアップ(dbBackup)」の例で作成したバックアップを削除します。

% ttGridAdmin dbBackupDelete -repository repo1 -name B20170222145544
Backup B20170222145544 deleted

ノート

このコマンドは、通常、古いバックアップや失敗したバックアップを削除するために使用します。

データベース・バックアップのステータスの表示(dbBackupStatus)

dbBackupStatusコマンドは、以前に開始された1つ以上のデータベース・バックアップのステータスを表示します。

ttGridAdmin dbBackupStatus dbname 
                           [-name backupname]

オプション

dbBackupStatusコマンドには、次のオプションがあります。

オプション 説明
dbname バックアップしているデータベースの名前。
-name backupname チェックするバックアップの名前。デフォルトでは、指定したデータベースのすべてのバックアップです。

この例では、「データベースのバックアップ(dbBackup)」の例に示したバックアップが完了したときにステータスを表示しています。

% ttGridAdmin dbBackupStatus database1 -name B2017022245544
Database  Backup          Repository Host  Instance  Elem State     Started                Finished
--------- --------------- ---------  ----- --------- ---- --------- ---------------------- --------
database1 B20170222145544 repo1                           Completed 2017-02-22T14:55:44.000Z Y
                                     host3 instance1    1 Complete
                                     host4 instance1    2 Complete
                                     host5 instance1    3 Complete

ノート

  • バックアップが完了していると思われる場合は、dbBackupStatusの結果を参照して、バックアップが全体としても各インスタンスに対しても完了と示されていることを確認します。失敗があった場合は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のバックアップのステータスのチェックに関する説明を参照してください。

  • Finished列がYの場合は、各インスタンスが成功したか失敗したかを示す状態に関係なく、コマンドの実行が終了したことを示しています。

  • データベースを削除すると、データベース・バックアップに関連付けられたメタデータが削除されます。データベースを削除した後、repositoryListコマンドを使用して、既存のバックアップを表示できます。

データベースのリストア(dbRestore)

dbRestoreコマンドは、データベース・バックアップを新しいデータベースにリストアします。

ttGridAdmin dbRestore dbname
                      -repository reponame
                      -backup backupname

オプション

dbRestoreコマンドには、次のオプションがあります。

オプション 説明
dbname 作成し、バックアップからリストアするデータベースの名前。
-repository reponame バックアップが配置されているリポジトリの名前。
-backup backupname リストアに使用するバックアップの名前。

この例では、バックアップmybkupからデータベースres_db1を作成およびリストアします。

% ttGridAdmin dbRestore res_db1 -repository repo1 -backup mybkup
dbRestore mybkup started

その後、「データベース・リストアのステータスの表示(dbRestoreStatus)」の例に示すように、dbRestoreStatusを使用して進行状況をチェックします。各要素とデータベース全体が完了と示されていると、リストアは終了です。

ノート

  • このデータベースは、(dbdefCreateで)すでに定義され、かつ、まだ作成されていない必要があります。

  • リストアは、非同期的に行われます。進行状況をチェックするには、dbRestoreStatusコマンドを使用します。

  • リストアしたデータベースは、dbRestoreが完了するとメモリーにロードされますが、オープンされていません。

  • 元のデータベース定義または新しく作成したデータベース定義にリストアできます。

  • レプリカ・セットの数がバックアップよりも少ないデータベースにリストアすることはできません。(各データ領域グループのホストにあるデータ・インスタンスの数が、バックアップされたデータベースにあるレプリカ・セットの数をサポートするために十分でない場合は、かわりにdbExportおよびdbImportを使用する必要があります。)

  • レプリカ・セットの数がバックアップよりも多いデータベースにリストアすると、バックアップされたレプリカ・セットの数のみがデータベース分散マップに追加されます。たとえば、2つのレプリカ・セットがあるデータベースをバックアップし、4つのレプリカ・セットがあるデータベースにリストアすると、2つのレプリカ・セットの要素のみが分散マップに追加されます。この後、4つのレプリカ・セットを取得するには、dbDistributeでデータを再分散する必要があります。

  • ディスク領域の要件は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータベースのバックアップおよびリストアに関する説明を参照してください。

データベース・リストアのステータスの表示(dbRestoreStatus)

dbRestoreStatusコマンドは、以前に開始された1つ以上のデータベース・リストアのステータスを表示します。

ttGridAdmin dbRestoreStatus dbname

オプション

dbRestoreStatusコマンドにはオプションがあります。

オプション 説明
dbname リストアをチェックするデータベースの名前。

この例では、「データベースのリストア(dbRestore)」の例に示したリストアが完了したときにステータスを表示しています。

% ttGridAdmin dbRestoreStatus res_db
Database Restore Repository Host  Instance  Elem State                   Started           Finished
-------- ------- ---------- ----- --------- ---- ------------------------------------------------ -
res_db1  mybkup  repo1                           Restore_Finale_Complete 2017-03-03T13:19:39.000Z Y
                            host3 instance1      Restore_Instance_Complete
                            host4 instance1      Restore_Instance_Complete
                            host5 instance1      Restore_Finale_Complete

ノート

  • リストアが完了したと思われる場合は、dbRestoreStatusの結果を参照して、リストア全体に対してはRestore_Finale_Completeが示され、各インスタンスに対してはResore_Instance_CompleteまたはRestore_Finale_Completeが示されていることを確認します。失敗があった場合は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のリストアのステータスのチェックに関する説明を参照してください。

  • Finished列がYの場合は、各インスタンスが成功したか失敗したかを示す状態に関係なく、コマンドの実行が終了したことを示しています。

接続可能オブジェクト操作

この項ではttGridAdminコマンドを使用して、TimesTen Scaleoutデータベースへの接続に使用されている接続可能オブジェクトを作成、削除、変更、エクスポートまたはリストします。接続可能オブジェクトには一連の接続属性設定を指定し、これにより基礎となるDSNおよびtnsnames.oraファイル・エントリを定義します。

接続可能オブジェクトには、2つのタイプがあります。ダイレクト・モード・アクセス向けの直接接続可能オブジェクトと、クライアント/サーバー・アクセス向けのクライアント/サーバー接続可能オブジェクトです。

1つのデータベースに対して複数の接続可能オブジェクトを保持して、それぞれに異なる接続属性設定セットを使用できます。たとえば、あるアプリケーションはデータベースからASCIIデータを受信するように設計し、別のアプリケーションはUnicodeデータを受信するように設計する場合、接続可能オブジェクトを2つ作成し、それぞれのConnectionCharacterSet属性設定を適切なものにします。


ノート:

dbdefCreateコマンドでデータベースを定義すると、直接接続可能オブジェクトがデータベースと同じ名前で自動的に作成されます。

接続可能オブジェクトの詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベースへの接続に関する説明とその下位の項を参照してください。

接続可能オブジェクトの作成(connectableCreate)

connectableCreateコマンドは、モデルに接続可能オブジェクトを作成して、接続属性設定を定義します。

ttGridAdmin connectableCreate -dbdef name
                               [-cs [-only hostname[.instancename]]]
                               filepath

オプション

connectableCreateコマンドには、次のオプションがあります。

オプション 説明
-dbdef name 接続可能オブジェクトが参照するデータベース定義オブジェクトの名前(接続先のデータベースの名前)。
-cs 接続可能オブジェクトがデータベースへのクライアント/サーバー・アクセス向けであることを指定します。これを指定しないと、接続可能オブジェクトはダイレクト・モード・アクセス向けになります。
-only hostname[.instancename] クライアント/サーバー接続の場合、必要に応じて、この接続可能オブジェクトを介して接続するアプリケーションは指定されたインスタンスに接続する必要があることを指定します。デフォルトでは、グリッド内のすべてのデータ・インスタンスが使用可能であり、接続はそれらの間で分散されます。

ホストに複数のインスタンスがある場合にのみ、インスタンス名を指定する必要があります。(「グリッド・オブジェクトとオブジェクト・ネーミング」を参照してください。)

複数の-onlyオプションを指定できます。この場合、クライアント/サーバー・アプリケーションは-only設定にリストされている任意のインスタンスに接続できます。

filepath 接続可能オブジェクト・ファイルのパスおよび名前で、このファイルには接続可能オブジェクトの接続属性設定が含まれています。ファイル名はconnname.connectという形式である必要があり、connnameには接続可能オブジェクトの名前を定義します。

次の例も参照してください。


この例では、接続可能オブジェクト・ファイルdatabase1client.connectを使用して、クライアント/サーバー接続可能オブジェクトを作成します。

ConnectionCharacterSet=AL32UTF8
UID=ttclient

接続可能オブジェクトを作成します。

% ttGridAdmin connectableCreate -dbdef database1 -cs 
/sw/tten/grid/conndefs/database1client.connect
Connectable database1client created.

ノート

  • 接続可能オブジェクト・ファイルは、odbc.iniという形式である必要があります。例に示すように、各行にattribute=valueがあります。DSN名はオプションで、[name]という形式で指定し、ここでは[database1client]としています。指定した場合は、接続可能オブジェクト・ファイル名によって決定される接続可能オブジェクト名に一致する必要があります。

  • 接続可能オブジェクトに設定されていない接続属性には、デフォルト値が使用されます。

  • 接続可能オブジェクトの作成後にモデルを適用すると、必要なすべての構成ファイルの新しいバージョンが各データ・インスタンスに書き込まれます。これにより、接続可能オブジェクトが使用できるようになります。(構成ファイルを手動で編集しないでください。モデルを適用するたびに上書きされます。)

  • 接続可能オブジェクト・ファイルにデータ・ストア(作成時)属性や初期接続属性を設定することはできません。これらは、データベース定義ファイルでdbdefCreateコマンドまたはdbdefModifyコマンドに対して設定する必要があります。

  • TTC_SERVERTTC_SERVER_DSNTCP_PORTの設定は無視されます。グリッド・トポロジに適切な値が自動的に使用されます。

  • 定義されている接続可能オブジェクトは、TimesTenでサポートされているすべてのAPIを介して使用できます。

接続可能オブジェクトの削除(connectableDelete)

connectableDeleteコマンドは、モデルから既存の接続可能オブジェクトを削除します。

ttGridAdmin connectableDelete name

オプション

connectableDeleteコマンドにはオプションがあります。

オプション 説明
name 削除する接続可能オブジェクトの名前。

% ttGridAdmin connectableDelete database1client
Connectable database1client deleted from Model.

ノート

接続可能オブジェクトの削除後にモデルを適用すると、必要なすべての構成ファイルの新しいバージョンが各データ・インスタンスに書き込まれ、接続可能オブジェクト・エントリが削除されます。(構成ファイルを手動で編集しないでください。モデルを適用するたびに上書きされます。)

接続可能オブジェクトのエクスポート(connectableExport)

connectableExportコマンドは、接続可能オブジェクトとその接続属性設定を、通常は指定されたファイルにエクスポートします。

ttGridAdmin connectableExport name 
                              [filepath]

オプション

connectableExportコマンドには、次のオプションがあります。

オプション 説明
name エクスポートする接続可能オブジェクトの名前。
filepath 作成する接続可能オブジェクト・ファイルのパスおよび名前で、通常はconnectableCreateまたはconnectableModifyで使用できる.connectファイルです。ファイルを指定しないと、エクスポートはstdoutに移動します。

重要: 既存のファイルを指定すると、それは上書きされます。


この例では、connectableCreateの例で作成した接続可能オブジェクトをファイルdatabase1client.connectにエクスポートします。

% ttGridAdmin connectableExport database1client /sw/tten/grid/conndefs/database1client.connect
Connectable database1client exported

その結果、database1client.connectの内容は次のようになります。

# Connectable GUID 3210288C-DF44-447D-ADB6-BDC8F7CFE17C Exported 2017-11-14 17:53:25
[database1client]
ConnectionCharacterSet=AL32UTF8
UID=ttclient

ノート

一般的な使用例として、接続可能オブジェクトを変更する場合をあげることができますが、元の接続可能オブジェクト・ファイルは使用できなくなります。

接続可能オブジェクトのリスト(connectableList)

connectableListコマンドは、モデルの指定されたバージョンで作成された接続可能オブジェクトをリストします。

ttGridAdmin connectableList [-latest|-current|-version n]
                            [-dbdef]

オプション

connectableListコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)内の接続可能オブジェクトをリストします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)内の接続可能オブジェクトをリストします。
-version n 指定したバージョン番号のモデル内の接続可能オブジェクトをリストします。
-dbdef 各接続可能オブジェクトに関連付けられたデータベース定義の名前もリストします。

この例では、グリッドに最近適用されたモデルにある接続可能オブジェクトおよび関連付けられたデータベース定義をリストします。

% ttGridAdmin connectableList -current -dbdef
Connectable     DbDef
--------------- -----------
database1       database1
database1client database1

database1clientのみがユーザーによって作成されました。直接接続可能オブジェクトも、ユーザー作成のデータベース定義ごとに自動的に定義されます。

接続可能オブジェクトの変更(connectableModify)

connectableModifyコマンドは、接続可能オブジェクトを変更します。

ttGridAdmin connectableModify [-only hostname[.instancename]]
                              filepath

オプション

connectableModifyコマンドには、次のオプションがあります。

オプション 説明
-only hostname[.instancename] クライアント/サーバー接続用に作成される接続可能オブジェクト(connectableCreate-csオプションによって決定されます)の場合、必要に応じて、この接続可能オブジェクトを介して接続するアプリケーションは指定されたインスタンスに接続する必要があることを指定します。デフォルトでは、グリッド内のすべてのデータ・インスタンスが使用可能であり、接続はそれらの間で分散されます。

ホストに複数のインスタンスがある場合にのみ、インスタンス名を指定する必要があります。

複数の-onlyオプションを指定できます。この場合、クライアント/サーバー・アプリケーションは-only設定にリストされている任意のインスタンスに接続できます。

ノート: connectableModify -onlyで指定されたインスタンスによって、connectableCreate -onlyで指定されたインスタンスが置き換えられます。

filepath 接続可能オブジェクト・ファイルのパスおよび名前で、このファイルには新しい接続属性設定セットが含まれています。ファイル名はconnname.connectという形式である必要があり、connnameには接続可能オブジェクトの名前です。

この例では、connectableCreateの例で作成したクライアント/サーバー接続可能オブジェクトを変更し、database1client.connectを編集してPermWarnThreshold設定を追加します。

ConnectionCharacterSet=AL32UTF8
UID=ttclient
PermWarnThreshold=80

接続可能オブジェクトを変更します。

% ttGridAdminttGridAdmin connectableModify /sw/tten/grid/conndefs/database1client.connect
Connectable database1client modified.

ノート

  • 以前の接続可能オブジェクト・ファイルにあるすべての接続属性設定は、指定したファイルにある接続属性設定に置き換えられます。

  • クライアント/サーバー使用からダイレクト・モード使用に、あるいはダイレクト・モード使用からクライアント/サーバー使用に変更するように接続可能オブジェクトを変更することはできません。かわりに、接続可能オブジェクトを削除し、新しいものを作成します。

  • 接続可能オブジェクトの変更後にモデルを適用すると、必要なすべての構成ファイルの新しいバージョンが各データ・インスタンスに書き込まれ、新しい設定に従って接続可能オブジェクト・エントリが変更されます。(構成ファイルを手動で編集しないでください。モデルを適用するたびに上書きされます。)

データ領域グループ操作

この項ではttGridAdminコマンドを使用して、ホストをデータ領域グループに割り当てる際の推奨事項を取得します。

データ領域グループ割当ての推奨事項の取得(dataSpaceGroupSuggest)

dataSpaceGroupSuggestコマンドは、モデルに定義されているグリッドの物理トポロジに基づいて、ホストのデータ領域グループ割当てを推奨します。適切なhostModifyコマンドという形で推奨事項がシェル・スクリプト(またはstdout)に出力されます。

ttGridAdmin dataSpaceGroupSuggest [filepath]

オプション

dataSpaceGroupSuggestコマンドにはオプションがあります。

オプション 説明
filepath 推奨されるアクションを含めるスクリプトのパスおよび名前。

ファイルを指定しないと、スクリプトはstdoutに書き込まれます。


この例では、推奨事項をrecommendations.shに書き込むttGridAdmin dataSpaceGroupSuggestコマンドを示しています。(出力は省略されます。)このファイルを実行すると、ttGridAdmin hostModifyコマンドが実行されて、推奨されたデータ領域グループにホストが割り当てられます。

% ttGridAdmin dataSpaceGroupSuggest /tmp/recommendations.sh
% more /tmp/recommendations.sh
#!/bin/sh
# Recommendations generated by ttGridAdmin -dataSpaceGroupSuggest at Wed Aug  8
17:40:35 PDT 2018
 
TIMESTEN_HOME=/sw/tten/grid/ttinstances/grid1_mgmt
export TIMESTEN_HOME
. $TIMESTEN_HOME/bin/ttenv.sh > /dev/null 2>/dev/null
 
# Number of possibilities evaluated:     126
#
# Number of usable possibilities found:  10
# (A 'usable' possibility is one that is compatible with pre-existing
# assignments of Hosts to DataSpaceGroups)
#
# Number of 'ideal' possibilities found: 1
# (An 'ideal' possibility is one where no PhysicalGroups span multiple
# DataSpaceGroups)
#
# Possibilities evaluated (best 10 displayed):
# ...
#
# This script, if executed, would implement the only 'ideal' configuration found.
# Even though this recommendation was 'ideal', you should carefully evaluate it
# prior to running this script.
# Host mysys1host is already in DataSpaceGroup 1
ttGridAdmin hostModify mysys7host -dataSpaceGroup 1
ttGridAdmin hostModify mysys8host -dataSpaceGroup 1
# Host mysys3host is already in DataSpaceGroup 1
# Host mysys4host is already in DataSpaceGroup 1
# Host mysys5host is already in DataSpaceGroup 2
ttGridAdmin hostModify mysys9host -dataSpaceGroup 2
ttGridAdmin hostModify mysys10host -dataSpaceGroup 2
ttGridAdmin hostModify mysys2host -dataSpaceGroup 2
# Host mysys6host is already in DataSpaceGroup 2

これらの推奨事項を受け入れることにした場合は、指定されたシェル・スクリプトrecommendations.shを実行します。このスクリプトを実行すると、指定したデータ領域グループにすべてのホストが割り当てられます。

% sh /scratch/gridsetup/misc/recommendations.sh
Host mysys7host modified in Model
Host mysys8host modified in Model
Host mysys9host modified in Model
Host mysys10host modified in Model
Host mysys2host modified in Model

ノート

  • グリッドの物理グループ、ホストおよびインストールを作成し、ホストが物理グループにどのように対応するかを定義(hostCreate -physicalgroupオプションか、hostModify -physicalgroupまたは-addphysicalgroupオプションを使用)した後、コマンドを実行します。

  • このコマンドは、データ領域グループにまだ割り当てられていないホストを対象とし、すべてのホストがすでに割り当てられている場合にはエラーを返します。(ホストがデータ領域グループに割り当てられ、modelApplyが実行された後で、その割当てを変更することはできません。)

  • インスタンスがないホストは出力に含まれません。

  • 推奨事項は、共有物理リソースに従って、単一点障害を回避するためにホストをデータ領域グループに分けるということに基づいています。hostModifyコマンドに加えて、スクリプトには推奨理由を説明するコメントが含まれています。

  • dataSpaceGroupSuggestが意味のある提案をするだけの十分な違いが物理的な場所にない場合は、その旨通知するメッセージが出力されます。

    Error 33: Not enough differentiation to make suggestions
    
  • 詳細は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータ領域グループへのホストの割当ておよびデータ領域グループの割当ての提案を参照してください。

データベース定義操作

この項ではttGridAdminコマンドを使用して、データベース定義を作成、削除、エクスポートまたは変更したり、既存のデータベース定義のリストを表示します。

データベース定義には、データ・ストア属性(データベース作成時に設定)と初期接続属性の設定で構成される、データベースの特性を指定します。

データベース定義の作成(dbdefCreate)

dbdefCreateコマンドは、モデル内にデータベース定義オブジェクトを作成して、指定したファイルの属性設定に応じてデータベースの特性を定義します。また、直接接続の場合、直接接続可能オブジェクトをデータベースと同じ名前で作成します。

ttGridAdmin dbdefCreate filepath

データベース定義をモデルに追加した後は、データベースを作成するために使用できます。

オプション

dbdefCreateコマンドにはオプションがあります。

オプション 説明
filepath データベース定義ファイルのパスおよび名前で、このファイルにはデータベース定義の属性設定が含まれています。

ファイル名はdbname.dbdefという形式である必要があり、dbnameにはデータベースの名前を定義します。


この例では、データベース定義ファイルdatabase1.dbdefを使用します。

DataStore=/disk/databases/database1
LogDir=/disk2/logs
DatabaseCharacterSet=AL32UTF8
ConnectionCharacterSet=US7ASCII
PermSize=256
TempSize=128

データベース定義ファイルの一般的な設定は、次の例のようになります。

  • データストア属性: DataStore (必須)、LogDirおよびDatabaseCharacterSet (必須)

    ディレクトリは、各ホストで必要に応じてDataStoreの場所およびLogDirの場所に対して作成されます。

  • 初期接続属性: PermSize (必須)およびTempSize

  • 一般接続属性: ConnectionCharacterSet

  • 必要に応じて、PL/SQLの初期接続属性とサーバー接続属性

データベース定義オブジェクトを作成します。

% ttGridAdmin dbdefCreate  /sw/tten/grid/dbdefs/database1.dbdef
Database Definition database1 created.

データストア属性と初期接続属性は、作成されるデータベース定義に設定されます。この例では、これはDataStoreLogDirDatabaseCharacterSetPermSizeおよびTempSizeで構成されています。また、デフォルトのconnections設定およびデフォルトのdurability設定が自動的に定義に追加されます。

[database1]
DataStore=/disk/databases/database1
DatabaseCharacterSet=AL32UTF8
LogDir=/disk2/logs
PermSize=256
TempSize=128
connections=100
durability=0

一般接続属性は、このように自動的に作成される接続可能オブジェクト定義に設定されます。この例では、ConnectionCharacterSetで構成されています。

[database1]
ConnectionCharacterSet=US7ASCII

詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベース定義ファイルの作成に関する説明を参照してください。

ノート

  • データベース名を既存のデータベース名または接続可能オブジェクト名と同じにすることはできません。

  • データベース定義ファイルは、odbc.iniという形式である必要があります。例に示すように、各行にattribute=valueがあります。

  • dbdefファイルは、DataStoreエントリおよびLogDirエントリに対して次の置換文字列をサポートしています。これらは、モデルが適用されるときに必要に応じて置き換えられます。

    • !!HOST_NAME!!は、モデルでの指定に従って各ホストでホスト名に置き換えられます。

    • !!INSTANCE_NAME!!は、モデルでの指定に従って各インスタンスでインスタンス名に置き換えられます。

    たとえば、!!HOST_NAME!!および!!INSTANCE_NAME!!を使用するシナリオというのは、グリッドのホスト間で共有するストレージ・エリア・ネットワーク・デバイスを使用した場合になります。DataStore/shared/datastores/!!HOST_NAME!!/!!INSTANCE_NAME!!に設定すると、各ホストに独自のデータ記憶領域が与えられます。

  • LogDirを指定し、DataStoreとは異なるファイル・システムにすることがベスト・プラクティスとなります。DataStoreおよびLogDirのパスおよびディレクトリは必要に応じて作成されます。

  • 「接続可能オブジェクトの作成(connectableCreate)」の説明に従って、追加の接続可能オブジェクトを作成できます。

  • 接続属性の中には、dbdefファイルには設定できないものの、追加で作成する接続可能オブジェクトに対して設定できるものがあります。たとえば、データベースの定義中に作成される初期接続可能オブジェクトは、インスタンス管理者が使用できる必要があるため、接続属性UIDおよびPWDdbdefファイルに指定することはできません。

  • データベース定義の作成後にモデルを適用すると、必要なすべての構成ファイルの新しいバージョンが各データ・インスタンスに書き込まれ、dbdefの設定に従ってエントリが追加されます。(構成ファイルを手動で編集しないでください。モデルを適用するたびに上書きされます。)

データベース定義の削除(dbdefDelete)

dbdefDeleteコマンドは、モデルからデータベース定義オブジェクトを削除します。

ttGridAdmin dbdefDelete name
                        [-cascade|-nocascade]

オプション

dbdefDeleteコマンドには、次のオプションがあります。

オプション 説明
name 削除するデータベース定義オブジェクトの名前。
-cascade また、このデータベース用に追加で作成した接続可能オブジェクトも削除します。これはデフォルトです。
-nocascade 接続可能オブジェクトは削除しないでください。

この例では、データベース定義オブジェクトdatabase2を削除して、その前後のデータベース定義オブジェクト・リストを示しています。

% ttGridAdmin dbdefList
database1
database2

% ttGridAdmin dbdefDelete database2
Database Definition database2 deleted.

% ttGridAdmin dbdefList
database1

ノート

  • データベース自体は、すでに破棄されている(またはまだ作成されていない)必要があります。

  • データベース定義の削除後にモデルを適用すると、必要なすべての構成ファイルの新しいバージョンが各データ・インスタンスに書き込まれ、データベース定義が削除されます。(構成ファイルを手動で編集しないでください。モデルを適用するたびに上書きされます。)

  • -cascade/-nocascadeの設定に関係なく、データベース定義オブジェクトを作成したときに自動的に作成された接続可能オブジェクトも削除されます。

データベース定義のエクスポート(dbdefExport)

dbdefExportコマンドは、モデルから既存のデータベース定義オブジェクトを、通常は指定されたファイルにエクスポートします。

ttGridAdmin dbdefExport name 
                        [filepath]

オプション

dbdefExportコマンドには、次のオプションがあります。

オプション 説明
name エクスポートするデータベース定義の名前。
filepath 作成するデータベース定義ファイルのパスおよび名前で、通常はdbdefCreateまたはdbdefModifyで使用できる.dbdefファイルです。ファイルを指定しないと、エクスポートはstdoutに移動します。

重要: 既存のファイルを指定すると、それは上書きされます。


この例では、前述のdbdefCreateの例で作成したデータベース定義をファイルdatabase1.dbdefにエクスポートします。

% ttGridAdmin dbdefExport database1 /sw/tten/grid/dbdefs/database1.dbdef

その結果、database1.dbdefの内容は次のようになります。

# DbDef GUID BCC6AB97-FDC2-4453-AEBC-5BFCAA57EA52 Exported 2017-12-06 19:05:03
[database1]
DataStore=/disk/databases/database1
DatabaseCharacterSet=AL32UTF8
LogDir=/disk2/logs
PermSize=256
TempSize=128
connections=100
durability=0

ノート

  • データベース定義は、odbc.iniという形式でエクスポートされます。例に示すように、各行にattribute=valueがあります。

  • 一般的な使用例として、データベース定義を変更する場合をあげることができますが、元のデータベース定義ファイルは使用できなくなります。

データベース定義のリスト(dbdefList)

dbdefListコマンドは、モデルの指定されたバージョンに存在するデータベース定義オブジェクトをリストします。

ttGridAdmin dbdefList [-latest|-current|-version n]

オプション

dbdefListコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)内のデータベース定義オブジェクトをリストします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)内のデータベース定義オブジェクトをリストします。
-version n 指定したバージョン番号のモデル内のデータベース定義オブジェクトをリストします。

database1データベース定義オブジェクトの作成(「データベース定義の作成(dbdefCreate)」を参照)後に、最新モデル内のデータベース定義オブジェクトをリストします(デフォルト)。

% ttGridAdmin dbdefList
database1

データベース定義の変更(dbdefModify)

dbdefModifyコマンドは、モデル内の既存のデータベース定義オブジェクトを変更して、指定したファイルの属性設定に応じてデータベースの特性を定義します。

ttGridAdmin dbdefModify filepath

オプション

dbdefModifyコマンドにはオプションがあります。

オプション 説明
filepath データベース定義オブジェクトを変更するデータベース定義が含まれているファイルのパスおよび名前。

ファイル名はdbname.dbdefという形式である必要があり、dbnameはデータベースの名前です。


この例では、「データベース定義の作成(dbdefCreate)」で作成したdatabase1を変更します。データベース定義ファイルdatabase1.dbdefは、PermSizeおよびTempSizeを変更するように更新されました。

% cd /sw/tten/grid/dbdefs
% more database1.dbdef
DataStore=/disk/databases/database1
LogDir=/disk2/logs
DatabaseCharacterSet=AL32UTF8
ConnectionCharacterSet=US7ASCII
PermSize=512
TempSize=256

データベース定義オブジェクトを変更します。

% ttGridAdmin dbdefModify  /sw/tten/grid/dbdefs/database1.dbdef
Database Definition database1 modified.

ノート

  • データベース定義ファイルは、odbc.iniという形式です。例に示すように、各行にattribute=valueがあります。詳細は、「データベース定義の作成(dbdefCreate)」を参照してください。

  • データベースを作成すると、表2-1に示すようなデータ・ストア属性(たとえば、DataStoreDatabaseCharacterSetLogDirDurability)は固定されます。dbdefModifyを使用してそれらを変更しようとしても、データベースに影響を与えません。

  • データベースが存在し、ロードされている場合、dbdefModifyコマンドで初期接続属性を変更しても、データベースをいったんアンロード(dbUnload)してからロードする(dbLoad)までその変更は有効になりません。

  • このコマンドは、データベース自体は変更せず、データベース定義オブジェクトのみを変更します。

  • データベース定義オブジェクトを作成したときに自動的に作成された接続可能オブジェクトも、適切に変更されます。

  • データベース定義の変更後にモデルを適用すると、必要なすべての構成ファイルの新しいバージョンが各データ・インスタンスに書き込まれ、dbdefの設定に従って該当するエントリが変更されます。(構成ファイルを手動で編集しないでください。モデルを適用するたびに上書きされます。)

  • 指定した定義は、以前の定義と完全に置き換わり、データベース定義および接続可能オブジェクト定義の以前の属性設定を削除します。以前に設定されていたものの、新しい定義に設定されていない属性は、デフォルト値に設定されます。

データベース操作

この項ではttGridAdminコマンドを使用して、データベースの作成、破棄、ロード、アンロード、オープン、クローズ、インポートおよびエクスポート、データベースの分散スキームの設定、データベースのステータスの判別、データベースへの接続の強制終了など、データベースに対する操作を実行します。

データベースのクローズ(dbClose)

dbCloseコマンドは、データベースをクローズして、アプリケーションがそのデータベースに接続できなくなるようにします。

ttGridAdmin dbClose name 
                    [-nowait | -wait [timeout]]

オプション

dbCloseコマンドには、次のオプションがあります。

オプション 説明
name クローズするデータベースの名前。
-nowait | -wait [timeout] このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。

-nowaitオプションを指定すると、コマンドは状態の変更を待機しないですぐに戻ります。これは、デフォルトの動作です。

-waitオプションを指定すると、データベース要素がグリッド内の各インスタンスでクローズされている場合、コマンドは状態の変更が完了することを待機します。必要に応じて、待機をtimeout秒の制限の対象にできます。それ以外の場合、またはtimeoutが0に設定されている場合、制限はありません。

大規模なグリッドでは、一般的に、-waitを使用することはお薦めしません。そのようにする場合は、タイムアウトを設定することをお薦めします。(「データベース管理操作」を参照してください。)


この例では、すべてのインスタンスで要素がクローズされることを待機しないでデータベースをクローズし、ステータスをチェックします(データベースが正常にクローズされた後)。

% ttGridAdmin dbClose database1
Database database1 close started
...
% ttGridAdmin dbStatus database1
Database database1 summary status as of Mon Nov 13 19:27:48 PST 2017
 
created,loaded-complete,closed
Completely created elements: 4 (of 4)
Completely loaded elements: 4 (of 4)
Completely created replica sets: 2 (of 2)
Completely loaded replica sets: 2 (of 2)
 
Open elements: 0 (of 4)

ノート

  • コマンドが完了すると、データベースは依然としてロードされていますが、接続に対してクローズされています。クローズされたデータベースにはインスタンス管理者のみが接続できます。

  • dbCloseを非同期に(待機しないで)実行する場合は、dbStatusコマンドを使用して、データベースがクローズされているかどうかを確認できます。

  • このコマンドは、既存のデータベース接続をクローズしません。以前にオープンした接続は、個別に終了する必要があります。

  • データベースをdbCloseでクローズしていた場合、それを再度クローズしようとすると、通常エラーが発生します。ただし、いずれかの要素が「close failed」状態の場合は、dbCloseを再試行できます。このようにすると、「close failed」状態の要素が「opened」状態に変更され、その結果、TimesTen Scaleoutはそれ自体を再度クローズすることを試みます。

データベースの作成(dbCreate)

dbCreateコマンドは、指定されたデータベース定義に従ってグリッド内にデータベースを作成します。

ttGridAdmin dbCreate name 
                     [-instance hostname[.instancename]]
                     [-nowait | -wait [timeout]]

オプション

dbCreateコマンドには、次のオプションがあります。

オプション 説明
name データベースの作成に使用するデータベース定義の名前。これがデータベースの名前になります。
-instance hostname[.instancename] 指定した場合、データベース要素は、グリッドのすべてのインスタンスではなく、指定したインスタンスにのみ作成されます。指定したインスタンスのいずれかに以前に正常に作成した要素がある場合は、まずそれを破棄する必要があります。

通常、グリッドで障害が発生した後や、dbCreateを以前に実行したとき、データベース要素が1つ以上のインスタンスで正常に作成されず、リカバリする場合に使用します。

hostnameは必須です。instancenameは、ホストに複数のインスタンスがある場合にのみ必須です。(「グリッド・オブジェクトとオブジェクト・ネーミング」を参照してください。)

このオプションを1回のみ使用して、1つのコマンドに1つのインスタンスを指定できます。

-nowait | -wait [timeout] このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。

-nowaitオプションを指定すると、コマンドは状態の変更を待機しないですぐに戻ります。これは、デフォルトの動作です。

-waitオプションを指定すると、データベース要素がグリッド内の各インスタンスで作成されている場合、コマンドは状態の変更が完了することを待機します。必要に応じて、待機をtimeout秒の制限の対象にできます。それ以外の場合、またはtimeoutが0に設定されている場合、制限はありません。

大規模なグリッドでは、一般的に、-waitを使用することはお薦めしません。そのようにする場合は、タイムアウトを設定することをお薦めします。(「データベース管理操作」を参照してください。)


この例では、要素がすべてのインスタンスで作成されることを待機しないでデータベースを作成し、ステータスをチェックします。最初はまだデータベース作成が進行中ですが、その後、完了します。

% ttGridAdmin dbCreate database1
Database database1 creation started
...
% ttGridAdmin dbStatus database1
Database database1 summary status as of Mon Nov 13 18:38:39 PST 2017
 
creating,loading-partial,closed
Completely created elements: 1 (of 4) (3 in progress)
Completely loaded elements: 1 (of 4) (3 in progress)
Completely created replica sets: 0 (of 0)
Completely loaded replica sets: 0 (of 0)
 
Open elements: 0 (of 4)
...
% ttGridAdmin dbStatus database1
Database database1 summary status as of Mon Nov 13 18:39:16 PST 2017
 
created,loaded,closed
Completely created elements: 4 (of 4)
Completely loaded elements: 4 (of 4)
Completely created replica sets: 0 (of 0)
Completely loaded replica sets: 0 (of 0)
 
Open elements: 0 (of 4)

次の例では、1つのインスタンスでの要素の作成に失敗します。この例では、問題が解決した後、再度、そのインスタンスで要素を作成することを試みます。

% ttGridAdmin dbCreate database1
Database database1 creation started
...
% ttGridAdmin dbStatus database1 -all
Database database1 summary status as of Sat Nov 11 14:23:05 PST 2017
 
created-partial,loaded,closed
Completely created elements: 3 (of 4)(1 failed)
Completely loaded elements: 3 (of 4)
Completely created replica sets: 0 (of 0)
Completely loaded replica sets: 0 (of 0)

Open elements: 0 (of 4)

Database database1 element level status as of Sat Nov 11 14:23:05 PST 2017
 
Host       Instance  Elem Status Date/Time of Event  Message 
---------- --------- ---- ------ ------------------- ------- 
mysys3host griddata1    1 loaded 2017-11-11 14:22:52         
mysys4host griddata2    2 loaded 2017-11-11 14:22:51         
mysys5host griddata3    3 failed 2017-11-11 14:22:52         
mysys6host griddata4    4 loaded 2017-11-11 14:22:53         
 
Database database1 Replica Set status as of Sat Nov 11 14:23:05 PST 2017
 
RS DS Elem Host Instance Status Date/Time of Event Message 
-- -- ---- ---- -------- ------ ------------------ ------- 
 
Database database1 Data Space Group status as of Sat Nov 11 14:23:05 PST 2017
 
DS RS Elem Host Instance Status Date/Time of Event Message 
-- -- ---- ---- -------- ------ ------------------ ------- 

(mysys5host.griddata3での問題を解決します。)

% ttGridAdmin dbCreate database1 -instance mysys5host.griddata3
Database database1 creation started
...
% ttGridAdmin dbStatus database1
Database database1 summary status as of Mon Nov 13 13:44:12 PST 2017
 
created,loaded,closed
Completely created elements: 4 (of 4)
Completely loaded elements: 4 (of 4)
Completely created replica sets: 0 (of 0)
Completely loaded replica sets: 0 (of 0)
 
Open elements: 0 (of 4)

ノート

  • 各インスタンスは、データベースの要素を作成し、要素をメモリーにロードし、要素の状態を記録します。

  • dbCreateを非同期に(待機しないで)実行する場合は、dbStatusコマンドを使用して、データベースが作成されているかどうかを確認できます。

  • dbCreateコマンドが戻るとすぐに、データベースは「existing」としてマークされます。デフォルトの-nowaitモードでコマンドを実行すると、作成が進行中の間は、データベースをアンロードできます。

  • dbDistributeでデータベース分散マップを定義し、dbOpenでデータベースをオープンするまで、インスタンス管理者以外のユーザーがデータベースを接続に使用することはできません。

  • -instanceオプションの一般的な使用例として、データベースの要素が以前に失敗し、データベース分散マップから除外または削除されて、破棄された場合をあげることができます。(この場合も、分散マップに要素を追加するには、dbDistributeを使用します。)

データベースの破棄(dbDestroy)

dbDestroyコマンドは、指定されたデータベースを破棄します。データベースに含まれているすべてのデータおよびスキーマが失われ、元に戻すことはできません。

ttGridAdmin dbDestroy name 
                      [-instance hostname[.instancename]]
                      [-nowait | -wait [timeout]]

オプション

dbDestroyコマンドには、次のオプションがあります。

オプション 説明
name 破棄するデータベースの名前。
-instance hostname[.instancename] 指定した場合、データベース要素は指定したインスタンスでのみ破棄され、グリッドのそれ以外のすべてのインスタンスではそのまま残ります。破棄する要素は、以前にデータベース分散マップから除外または削除されたか、分散マップにまだ追加されていない必要があります。

hostnameは必須です。instancenameは、ホストに複数のインスタンスがある場合にのみ必須です。

このオプションを1回のみ使用して、1つのコマンドに1つのインスタンスを指定できます。

-nowait | -wait [timeout] このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。

-nowaitオプションを指定すると、コマンドは状態の変更を待機しないですぐに戻ります。これは、デフォルトの動作です。

-waitオプションを指定すると、データベース要素がグリッド内の各インスタンスで破棄されている場合、コマンドは状態の変更が完了することを待機します。必要に応じて、待機をtimeout秒の制限の対象にできます。それ以外の場合、またはtimeoutが0に設定されている場合、制限はありません。

大規模なグリッドでは、一般的に、-waitを使用することはお薦めしません。そのようにする場合は、タイムアウトを設定することをお薦めします。(「データベース管理操作」を参照してください。)


この例では、要素がすべてのインスタンスで破棄されることを待機しないでデータベースを破棄します。その後、ステータスをチェックしようとすると、データベースが正常に破棄されたことが示されます。

% ttGridAdmin dbDestroy database1
Database database1 destroy started
...
% ttGridAdmin dbStatus database1
Error 2: Database database1 does not exist

この例では、データベースの4つの要素のうち2つを破棄します。どちらの要素も、同じレプリカ・セットからのもので、以前に除外されています。

% ttGridAdmin dbDestroy database1 -instance mysys3host.griddata1
Database database1 instance mysys3host.griddata1 destroy started
% ttGridAdmin dbDestroy database1 -instance mysys4host.griddata2 
Database database1 instance mysys4host.griddata2 destroy started
% ttGridAdmin dbStatus database1 -all
Database database1 summary status as of Tue Jan  9 16:04:16 PST 2018
 
created,unloaded,closed
Completely created elements: 2 (of 4)
Completely loaded elements: 0 (of 4)
Completely created replica sets: 1 (of 1)
Completely loaded replica sets: 0 (of 1)
 
Open elements: 0 (of 2)
 
Database database1 element level status as of Tue Jan  9 16:04:16 PST 2018
 
Host       Instance  Elem Status    Date/Time of Event  Message 
---------- --------- ---- --------- ------------------- ------- 
mysys3host griddata1    1 destroyed 2018-01-09 16:04:02         
mysys4host griddata2    2 destroyed 2018-01-09 16:04:01         
mysys5host griddata3    3 unloaded  2018-01-09 16:01:25         
mysys6host griddata4    4 unloaded  2018-01-09 16:01:01         
 
Database database1 Replica Set status as of Tue Jan  9 16:04:16 PST 2018
 
RS DS Elem Host       Instance  Status   Date/Time of Event  Message 
-- -- ---- ---------- --------- -------- ------------------- ------- 
 1  1    3 mysys5host griddata3 unloaded 2018-01-09 16:01:25         
 1  2    4 mysys6host griddata4 unloaded 2018-01-09 16:01:01         
 
Database database1 Data Space Group status as of Tue Jan  9 16:04:16 PST 2018
 
DS RS Elem Host       Instance  Status Date/Time of Event  Message 
-- -- ---- ---------- --------- -------- ------------------- ------- 
 1  1    3 mysys5host griddata3 unloaded 2018-01-09 16:01:25         
 2  1    4 mysys6host griddata4 unloaded 2018-01-09 16:01:01         

ノート

  • データベースは、アンロードされているか、またはアンロード中である必要があります。

  • dbDestroyを非同期に(待機しないで)実行する場合は、dbStatusコマンドを使用して、データベースが削除されているかどうかを確認できます。

  • -instanceオプションの一般的な使用例として、データベースの要素が失敗し、データベース分散マップから除外または削除された後をあげることができます。次に、dbDestroy-instanceを使用すると、失敗した要素のディスク領域がリカバリされます。

すべての接続の強制切断(dbDisconnect)

dbDisconnectコマンドは、指定されたデータベースへのすべてのユーザー接続を強制的に切断します。これはメンテナンス操作の前に行うと便利です。スムーズに停止してデータ損失がないようにするには、接続を閉じる必要があります。

ttGridAdmin dbDisconnect name
                         -transactional|-immediate|-abort
                         [-nowait | -wait [timeout]]

コマンドが完了するまで、新しいトランザクションは許可されません。

切断リクエストがグリッド内の各データ・インスタンスに送信されます。

関連情報については、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのメモリーからのデータベースのアンロードを参照してください。


ノート:

dbDisconnectコマンドはサブデーモン接続には影響しません。

オプション

dbDisconnectコマンドには、次のオプションがあります。

オプション 説明
name データベースの名前。
-transactional|-immediate|-abort 切断処理のモードを指定します。次のいずれかのモードを指定する必要があります(デフォルトはありません)。
  • Transactional: 切断する前に実行中のトランザクションをコミットまたはロールバックできます。

  • Immediate: 即座に切断する前に実行中のトランザクションをロールバックします。

  • Abort: 切断するために、すべてのダイレクト・モードのアプリケーション・プロセスおよびクライアント/サーバー・エージェントを中断します。

推奨されるベスト・プラクティスは、必要に応じてdbDisconnectを2回実行することです。最初にtransactionalモードで実行します。その後、しばらくしてから、すべての接続がまだ閉じられていない場合は、immediateモードで実行します。dbStatus -connectionsを使用して、接続がクローズされたかどうかを確認します。

abortモードは、transactionalレベルおよびimmediateレベルですべての接続が閉じられない場合に、最後の手段としてのみ使用します。中断するとデータが失われる可能性があります。突然中断すると、データベースに接続されているすべてのユーザーおよびttcserverプロセスが終了します。これにより、トランザクションが失われる可能性があります。

ノート: 即時モードで実行すると、アイドル接続も切断されます。transactionalモードでの実行では切断されません。

-nowait | -wait [timeout] コマンドがすぐに戻るようにするか(デフォルト)、すべての切断が終了するまで待機するかを指定します。-waitを使用すると、必要に応じて待機時間をtimeout秒に制限できます。

データベース管理コマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。具体的には、-nowaitオプションを指定すると、コマンドは状態の変更を待機しないで戻ります。dbDisconnectStatusを使用して、切断処理のステータスを確認します。

-waitオプションを指定すると、すべての切断が完了して状態が完了に変更されるまでコマンドが待機します。timeoutを指定しない場合、またはtimeoutが0に設定されている場合、制限はありません。

多数の接続がある場合は、-waitを使用しないことをお薦めします。そのようにする場合は、タイムアウトを設定することをお薦めします。指定した待機時間内に切断が完了せず、transactionalモードを使用している場合は、immediateモードを使用することを検討してください。

ノート: -waitを使用している場合でも、後でdbStatus -connectionsを使用して、接続が閉じられたことを確認することをお薦めします。


次に例を示します。

  1. dbStatusを使用して既存の接続を表示します。

  2. データベースをクローズして確認します。

  3. transactionalモード(待機なし)で切断します。

  4. dbDisconnectStatusdbDisconnectコマンドのステータス、およびdbStatusで接続のステータスを確認します。(dbDisconnectコマンドが進行中であり、接続がまだ存在します。)

  5. 接続が閉じられるように、immediateモード(待機なし)で切断します。

  6. dbDisconnectStatusdbDisconnectコマンドのステータス、およびdbStatusで接続のステータスを再度確認します。(dbDisconnectコマンドが完了し、接続がなくなります。)

% ttGridAdmin dbStatus database1 -connections
Host       Instance  ConnId Name      Pid   Type   CHost CAddr CPid
---------- --------- ------ --------- ----- ------ ----- ----- ----
mysys5host instance3      1 database1 20233 Direct
mysys4host instance2      1 database1 26529 Direct
mysys3host instance1      1 database1  1600 Direct
mysys6host instance4      1 database1  1678 Direct

% ttGridAdmin dbClose database1
Database database1 close started
 
% ttGridAdmin dbStatus database1
Database database1 summary status as of Tue Nov 27 16:12:16 PST 2018
 
created,loaded-complete,closed
Completely created elements: 4 (of 4)
Completely loaded elements: 4 (of 4)
Completely created replica sets: 2 (of 2)
Completely loaded replica sets: 2 (of 2)
 
Open elements: 0 (of 4)

最初にtransactionalモードで接続を切断することを試みます。

% ttGridAdmin dbDisconnect database1 -transactional
Database database1 dbDisconnect started

しばらくしてから、ステータスと接続がまだ存在しているかどうかを確認します。

% ttGridAdmin dbDisconnectStatus database1
Database  Host       Instance  Elem State         Started
--------- ---------- --------- ---- ------------- ------------------------
database1                           Disconnecting 2018-11-27T16:12:55.000Z
          mysys5host instance3    1 Disconnecting
          mysys4host instance2    2 Disconnecting
          mysys3host instance1    3 Disconnecting
          mysys6host instance4    4 Disconnecting
 
% ttGridAdmin dbStatus -connections
Database database1:
 
Host       Instance  ConnId Name      Pid   Type   CHost CAddr CPid
---------- --------- ------ --------- ----- ------ ----- ----- ----
mysys5host instance3      1 database1 20233 Direct
mysys4host instance2      1 database1 26529 Direct
mysys3host instance1      1 database1  1600 Direct
mysys4host instance4      1 database1  1678 Direct

immediateモードで再度試みます。

% ttGridAdmin dbDisconnect database1 -immediate
Database database1 dbDisconnect started

ステータスを再度確認し、接続がなくなったことを確認します。

% ttGridAdmin dbDisconnectStatus database1
Database  Host       Instance  Elem State        Started
--------- ---------- --------- ---- ------------ ------------------------
database1                           Complete     2018-11-27T16:14:03.000Z
          mysys5host instance3    1 Disconnected
          myshs4host instance2    2 Disconnected
          mysys3host instance1    3 Disconnected
          mysys6host instance4    4 Disconnected
 
% ttGridAdmin dbStatus database1 -connections
Host Instance ConnId Name Pid Type CHost CAddr CPid
---- -------- ------ ---- --- ---- ----- ----- ----
%

ノート

  • このコマンドを実行する前に、データベースがクローズ状態である必要があります。(データベースをクローズしても既存の接続には影響しませんが、新しい接続は確立されません)。

  • TimesTen Scaleoutでは、強制切断機能は常に有効であり、forceDisconnectEnabled接続属性は無視されます。

強制切断のステータスの確認(dbDisconnectStatus)

dbDisconnectStatusコマンドは、実行中または最後に実行されたdbDisconnectコマンドのステータスを報告します。

ttGridAdmin dbDisconnectStatus name

次のいずれかの状態が、dbDisconnectコマンドの全体的なステータスについて報告されることがあります。

  • Defined: 切断がリクエストされましたが、まだ開始されていません。

  • Disconnecting: 少なくとも1つの要素で切断が進行中です。

  • Failed: 少なくとも1つの要素で切断に失敗しました。

  • Complete: すべての要素で切断が正常に完了しました。

次のいずれかの状態が、指定されたインスタンスの切断のステータスについて報告されることがあります。

  • Disconnecting: インスタンスで切断が進行中です。

  • Failed: インスタンスで切断に失敗しました。

  • Disconnected: インスタンスで切断が正常に完了しました。

オプション

dbDisconnectStatusコマンドにはオプションがあります。

オプション 説明
name データベースの名前。

dbDisconnectStatusの例は、前述の項のdbDisconnectの例に含まれています。

データベースの分散スキームの設定または変更(dbDistribute)

dbDistributeコマンドは、データベースの分散マップでデータベースの要素を追加、削除、除外および置換した後、要素間にデータを分散または再分散できます。変更を適用しデータを再配布するには、常に-applyを使用する必要があります。これは、同じコマンドまたは別のコマンドのいずれかで実行できます。

ttGridAdmin dbDistribute name 
         [-list]
         [-add all | hostname[.instancename]]
         [-remove hostname[.instancename] [-replaceWith hostname[.instancename]]]
         [-evict hostname[.instancename] [-replaceWith hostname[.instancename]]]
         [-apply|-reset|-resync]

dbDistributeを使用する前に、操作を実行するすべてのインスタンスに要素がロードされるまで待機します。dbStatusコマンドを使用すると、これを確認できます。

詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベースの分散マップの定義に関する説明を参照してください。

オプション

dbDistributeコマンドには、次のオプションがあります。

オプション 説明
name データ分散変更の対象となるデータベースの名前。
-add all | hostname[.instancename] 分散マップに要素を追加します。グリッドにある既存のすべての要素か、指定したインスタンスにある要素のいずれかです。(インスタンスが停止しているために要素が作成されなかった場合、-add allでは要素の追加は試みられません。その要素はまだ存在しません。)

用途ごとに1つのインスタンスを指定しますが、-addはコマンドラインで複数回使用できます。

追加が適用されると、データはグリッド全体に均等に分散されます。

ノート:

  • -add allを使用する場合は、同じコマンドで-applyを使用する必要があります。

  • -applyを発行するまで、要素は追加対象としてマークされますが、実際にはまだ追加されていません。

また、このオプションと、hostname[.instancename]を取るその他のオプションについては、次の「ノート」も参照してください。

-remove hostname[.instancename] このオプションは、古いホスト・システムを新しいものと置き換えるなど、要素を削除し、必要に応じて置換する場合に使用します。また、次の「ノート」も参照してください。

用途ごとに1つのインスタンスを指定しますが、-removeはコマンドラインで複数回使用できます。

通常は、-replaceWithを使用して要素を置き換えます。-replaceWithなしで-removeオプションを指定すると、データが再分散されます。

k=2のグリッドがある場合に、レプリカ・セットのある要素を削除したときは、それを置き換えるか、レプリカ・セットの他の要素も削除する必要があります。

ノート: -applyを発行するまで、要素は削除対象としてマークされますが、実際にはまだ削除されていません。

Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータベースのデータの再分散を参照してください。

-evict hostname[.instancename] このオプションは、レプリカ・セットのすべての要素(k=1の場合は1つの要素、k=2の場合は2つの要素)にリカバリ不能な障害があり、修復できない場合に使用します。

重要: -evictオプションを使用すると、データの損失は避けられません。最後の手段としてのみ使用してください。

用途ごとに1つのインスタンスを指定しますが、-evictはコマンドラインで複数回使用できます。

-evictを使用する場合は、レプリカ・セット内のすべての要素を除外する必要があります。

-replaceWithを使用して要素を置き換えることができます。

ノート:

  • -evictを-addまたは-removeと一緒に発行または適用しないでください。

  • -applyを発行するまで、要素は除外対象としてマークされますが、実際にはまだ除外されていません。

  • 除外すると、要素が強制的にアンロードされます。

詳細は、次の「ノート」も参照してください。

詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベースのデータの再分散に関する項を参照してください。

-replaceWith hostname[.instancename] 必要に応じて、指定した置換に同じデータを含めるには、これを-evictまたは-removeとともに使用します。置換後のインスタンスの要素は、以前に分散に追加されていない必要があります。

-replaceWithオプションは、コマンドラインで対応する-removeオプションまたは-evictオプションのすぐ後に続ける必要があります。

-list データベースの現在および保留中の分散マップを表示します(それぞれ「Holds Data」および「Will Hold Data」)。
-apply データベースに新しい分散を適用します。このオプションを単独で使用して、以前のコマンドから設定を適用したり、同じコマンドラインにその設定を指定できます。
-reset まだ適用されていないすべての分散設定を破棄します。このオプションは他のオプションと組み合せることはできません。

ノート: -resetは、分散(-apply)の進行中は使用できません。必要に応じて、かわりに-resyncを試行できます。

-resync dbDistribute -applyコマンドの状態が不明な場合に、アクティブな管理インスタンスのメタデータでユーザー・データベース内のメタデータを再同期化することが試みられます。たとえば、ユーザー・データベースと管理インスタンスは、通信の失敗または損失が原因で状態が一致していない可能性があります。場合によっては、管理インスタンスがデータ・インスタンスに対するdbDistribute操作の成功または失敗を認識できず、中間状態のままになることがあります。

このオプションは他のdbDistributeオプションとともに使用できません。

関連情報については、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータ分散エラーからのリカバリを参照してください。

ノート: -resyncオプションを指定すると、管理インスタンスのメタデータが読み取られ、進行中でコミットもロールバックもされていないdbDistribute操作があるかどうかが確認されます。再同期化には、(管理インスタンスに記録される) dbDistribute操作によるメタデータの変更のコミットまたはロールバックが含まれる場合があります。


この例では、分散マップにグリッド内のすべての要素を追加し、要素間でデータを分散します。

% ttGridAdmin dbDistribute database1 -add all -apply
Distribution map updated

その後、-listオプションを使用して、グリッド内の要素(データを保持できる要素)の分散マップを表示できます。

% ttGridAdmin dbDistribute database11 -list
Distribution Map version: 1
RS Host        Instance  Holds Data Will Hold Data Removed Evicted
-- ----------- --------- ---------- -------------- ------- -------
 1  mysys3host griddata1          Y              Y       N       N
 1  mysys4host griddata2          Y              Y       N       N
 2  mysys5host griddata3          Y              Y       N       N
 2  mysys6host griddata4          Y              Y       N       N

ここで、レプリカ・セット1の両方の要素を削除します。-listの出力を再度参照すると、その2つの要素がグリッドから削除され、そのためにデータを保持できないことが示されています。

% ttGridAdmin dbDistribute database1 -remove mysys3host.griddata1
Element mysys3host.griddata1 is removed
Distribution map change enqueued
% ttGridAdmin dbDistribute database1 -remove mysys4host.griddata2
Element mysys4host.griddata2 is removed
Distribution map change enqueued
% ttGridAdmin dbDistribute database1 -apply
Distribution map updated

% ttGridAdmin dbDistribute database1 -list
Distribution Map version: 3
RS   Host        Instance  Holds Data Will Hold Data Removed Evicted
---- ----------- --------- ---------- -------------- ------- -------
NULL  mysys3host griddata1          N              N       Y       N
NULL  mysys4host griddata2          N              N       Y       N
   1  mysys5host griddata3          Y              Y       N       N
   1  mysys6host griddata4          Y              Y       N       N

次に、2つの要素(同じレプリカ・セットのもの)を除外する新しい例を示します。-listの出力を参照すると、2つの要素がグリッドから除外され、そのためにデータを保持できないことが示されています。

% ttGridAdmin dbDistribute database1 -evict mysys3host.griddata1 -evict
mysys4host.griddata2 -apply
Distribution map updated
 
% ttGridAdmin dbDistribute database1 -list
Distribution Map version: 2
RS   Host       Instance  Holds Data Will Hold Data Removed Evicted
---- ---------- --------- ---------- -------------- ------- -------
NULL mysys3host griddata1          N              N       N       Y
NULL mysys4host griddata2          N              N       N       Y
   1 mysys5host griddata3          Y              Y       N       N
   1 mysys6host griddata4          Y              Y       N       N

この例では、-resyncオプションを指定してデータ分散操作が正常に完了します。

% ttGridAdmin dbDistribute database1 -apply
...

(処理が失敗したか、中断された。)

% ttGridAdmin dbDistribute database1 -resync
Distributiom map updated

この例では、-resyncオプションを指定してデータ分散操作がロールバックします。

% ttGridAdmin dbDistribute database1 -apply
...

(処理が失敗したか、中断された。)

% ttGridAdmin dbDistribute database1 -resync
Distributiom map Rolled Back

ノート

  • -listおよび-resyncは、分散の進行中に使用できます。分散が進行中の場合、他の操作は失敗します。

  • 要素を指定するには、そのインスタンスをhostname[.instancename]として表現します。ホスト名は必須です。インスタンス名は、ホストにインスタンスが複数ある場合にのみ必須です。(「グリッド・オブジェクトとオブジェクト・ネーミング」を参照してください。)

  • 各レプリカ・セットに存在する要素を確認する必要がある場合は、-replicaSetオプションを指定したdbStatusコマンドを使用します。

  • 要素が分散から削除または除外された後にできることは、dbDestroy -instanceでそれを削除することのみとなります。これを可能なかぎり早く実行して、その要素が使用していたディスク領域を再利用できるようにすることをお薦めします。インスタンスを後で再度使用する場合は、dbCreate -instanceで要素を再作成して、分散に追加する必要があります。

  • k=2で、レプリカ・セットのいずれかの要素にリカバリ不能な障害がある場合は、-removeおよび-replaceWithを使用して、レプリカ・セットが再度完全に動作するようにします。アクティブなレプリカが使用可能なときは、-evictを使用しないでください。

  • レプリカ・セットのすべての要素が停止している場合は、グローバル操作を実行できません。レプリカ・セットのいずれかの要素をリカバリできない場合、レプリカ・セットからその要素を除外すると、グローバル操作を再度実行できるようになります。ただし、データは完全に失われます。

  • -replaceWithではなく-addを使用して、除外されたレプリカ・セットの要素を置き換えることもできますが、いずれにしても、除外されたレプリカ・セットのデータは失われます。また、-addを指定した場合はデータの再分散が発生しますが、-replaceWith (-evictまたは-removeのいずれかで使用)を指定した場合は発生しません。詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のレプリカ・セットに完全に失敗した要素が含まれている場合のリカバリに関する説明を参照してください。

  • 障害モードの詳細および考慮事項は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』の障害からのリカバリに関する説明を参照してください。

データベースのリスト(dbList)

dbListコマンドは、グリッドに作成されたデータベースをリストし、それらがロードされているか、オープンされているかを示します。

ttGridAdmin dbList

% ttGridAdmin dbList
Database                       Loaded Opened
database1                        Y      Y
testdb                           Y      N

メモリーへのデータベースのロード(dbLoad)

ttGridAdmin dbLoadコマンドは、指定されたデータベースをメモリーにロードします。データベースをアプリケーションで使用するには、そのデータベースをロードしてオープンしておく必要があります。

ttGridAdmin dbLoad name 
                   [-nowait | -wait [timeout]]

オプション

dbLoadコマンドには、次のオプションがあります。

オプション 説明
name ロードするデータベースの名前。
-nowait | -wait [timeout] このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。

-nowaitオプションを指定すると、コマンドは状態の変更を待機しないですぐに戻ります。これは、デフォルトの動作です。

-waitオプションを指定すると、データベース要素がグリッド内の各インスタンスでロードされている場合、コマンドは状態の変更が完了することを待機します。必要に応じて、待機をtimeout秒の制限の対象にできます。それ以外の場合、またはtimeoutが0に設定されている場合、制限はありません。

大規模なグリッドでは、一般的に、-waitを使用することはお薦めしません。そのようにする場合は、タイムアウトを設定することをお薦めします。(「データベース管理操作」を参照してください。)


この例では、すべてのインスタンスに要素がロードされることを待機しないでデータベースをロードし、ステータスをチェックします(データベースが正常にロードされた後)。

% ttGridAdmin dbLoad database1
Database database1 load started
...
% ttGridAdmin dbStatus database1
Database database1 summary status as of Mon Nov 13 18:58:53 PST 2017
 
created,loaded,closed
Completely created elements: 4 (of 4)
Completely loaded elements: 4 (of 4)
Completely created replica sets: 0 (of 0)
Completely loaded replica sets: 0 (of 0)
 
Open elements: 0 (of 4)

ノート

  • データベースをロードする前に、-loadReadinessオプションを指定したdbStatusを実行して、すべてのレプリカ・セットをロードできることを確認することをお薦めします。

  • コマンドが完了すると、データベースはロードされていますが、クローズされています。(dbOpenを使用してオープンします。)

  • dbCreateによってデータベースが自動的にロードされるため、dbCreateの後にdbLoadを実行する必要はありません。

  • dbLoadを非同期に(待機しないで)実行する場合は、dbStatusコマンドを使用して、データベースがロードされているかどうかを確認できます。

データベースのオープン(dbOpen)

dbOpenコマンドは、データベースをオープンして、アプリケーションがそのデータベースに接続できるようにします。

ttGridAdmin dbOpen name 
                   [-nowait | -wait [timeout]]

オプション

dbOpenコマンドには、次のオプションがあります。

オプション 説明
name オープンするデータベースの名前。
-nowait | -wait [timeout] このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。

-nowaitオプションを指定すると、コマンドは状態の変更を待機しないですぐに戻ります。これは、デフォルトの動作です。

-waitオプションを指定すると、データベース要素がグリッド内の各インスタンスでオープンされている場合、コマンドは状態の変更が完了することを待機します。必要に応じて、待機をtimeout秒の制限の対象にできます。それ以外の場合、またはtimeoutが0に設定されている場合、制限はありません。

大規模なグリッドでは、一般的に、-waitを使用することはお薦めしません。そのようにする場合は、タイムアウトを設定することをお薦めします。(「データベース管理操作」を参照してください。)


この例では、すべてのインスタンスで要素がオープンされることを待機しないでデータベースをオープンし、ステータスをチェックします(データベースが正常にオープンされた後)。

% ttGridAdmin dbOpen database1
Database database1 open started
...
% ttGridAdmin dbStatus database1
Database database1 summary status as of Mon Nov 13 19:24:39 PST 2017
 
created,loaded-complete,open
Completely created elements: 4 (of 4)
Completely loaded elements: 4 (of 4)
Completely created replica sets: 2 (of 2)
Completely loaded replica sets: 2 (of 2)
 
Open elements: 4 (of 4)

ノート

  • データベースは、ロードされているか、またはロード中である必要があります(dbCreateによって自動的に実行されます)。

  • データベースには、分散マップが必要です(dbDistribute -apply)。

  • dbOpenを非同期に(待機しないで)実行する場合は、dbStatusコマンドを使用して、データベースがオープンされているかどうかを確認できます。

  • データベースをdbOpenでオープンしていた場合、それを再度オープンしようとすると、通常エラーが発生します。ただし、いずれかの要素が「open failed」状態の場合は、dbOpenを再試行できます。このようにすると、「open failed」状態の要素が「loaded」状態に変更され、その結果、TimesTen Scaleoutはそれ自体を再度オープンすることを試みます。

データベースのステータスの監視(dbStatus)

dbStatusコマンドは、アクティブ管理インスタンスからの情報を使用して、1つ以上のデータベースのステータス、または1つ以上のデータベースの指定されたコンポーネントのステータスをレポートします。これには、データベースを作成、破棄、ロード、アンロード、オープンまたはクローズするために保留中のコマンドのステータスも含まれています。また、追加詳細をリクエストしたり、各インスタンスの状態に関する情報をリクエストして要素をロードできるかどうかを確認することもできます。

ttGridAdmin dbStatus [name]
                     [-summary]
                     [-element]
                     [-replicaSet]
                     [-dataSpaceGroup]
                     [-all]
                     [-details]
                     [-loadReadiness]
                     [-epochs]
                     [-connections [-proxy] [-system]]

また、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』の障害からのリカバリに関する説明でdbStatusの説明と例を参照することもできます。

オプション

dbStatusコマンドには、次のオプションがあります。

オプション 説明
name ステータスを表示するデータベースの名前。デフォルトでは、グリッド内のすべてのデータベースのステータスが表示されます。
-summary データベース・ステータスのサマリー全体を示します。(これはデフォルトのモードです。)
-element データベースの各要素のステータスを示します。
-replicaSet データベースの各レプリカ・セットのステータスを示します。
-dataSpaceGroup データベースの各データ領域グループのステータスを示します。
-all サマリー、要素、レプリカ・セット、データ領域グループの各ステータスを示します(-summary -element -replicaSet -dataSpaceGroupに相当します)。
-details アクティブ管理インスタンスからのステータス情報に加えて、デーモンの状態情報を示します。前述のいずれかのオプションに加えて、このオプションを使用できます。
-loadReadiness 稼働中/停止ステータスなどの情報を表示して、各レプリカ・セットのインスタンスがその要素をロードできる状態になっているかどうかを示します。

データベースをロードする前に、このオプションを使用することをお薦めします。ロードが進行中のときに使用することもできます。

-epochs グリッドの各要素に使用可能な最新のエポックと、リカバリに使用可能な最新のエポックを示します。

エポックは、データベースのすべての要素でグローバルに一貫性のある時点をマークするトランザクションです。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のエポック・トランザクションに関する説明を参照してください。

-connections 指定したデータベースへの既存の接続の情報を表示します。-proxyまたは-systemサブオプションを指定しない場合、アプリケーション接続のみが表示されます。
-proxy -connectionsオプションとともに使用すると、既存のアプリケーション接続に関連付けられたすべてのプロキシ接続の情報も表示されます。

ノート: このオプションは、-connectionsオプションなしでは使用できません。

-system -connectionsオプションとともに使用すると、サブデーモンやTimesTenユーティリティで使用されるようなTimesTen内部接続も表示されます。

ノート: このオプションは、-connectionsオプションなしでは使用できません。


データベース全体のステータス

dbStatusコマンドは、データベース全体のステータスを示し、全体として作成/破棄、ロード/アンロード、オープン/クローズの状態にあるかどうかを示す行を表示します。(たとえば、created,loaded-complete,closedとなります。)

createdcreatingdestroyedloadingloadedunloadedunloadingopeningopenedclosingclosedの各状態は、前述のように、対応するデータベース管理コマンドが進行中か完了したかを示します。

さらに、次のような状態もあります。

  • created-partialまたはcreating-partial: データベースの一部の要素は作成中か正常に作成されましたが、作成できなかった要素もあります。

  • createFailed: データベースの作成に失敗しました。すべてのTimesTenインスタンスが停止しているときなど、要素を1つも作成できなかった場合に発生します。

  • loaded-partialまたはloading-partial: dbDistributeコマンドがデータベースに対してまだ実行されておらず(そのため、レプリカ・セットが定義されていません)、1つ以上の要素を作成またはロードできませんでした。

  • loaded-incompleteまたはloading-incomplete: 少なくとも1つのレプリカに、ロードを正常に終了した要素がありません。

  • loaded-functionalまたはloading-functional: 各レプリカ・セットから少なくとも1つの要素がロードされています。

  • loaded-completeまたはloading-complete: すべての要素が正常にロードされました。

  • notLoaded: データベースのロードに失敗しました。いずれの要素もロードされていないか、ロード中でありません。

これらの状態は、グリッドが完全には動作していなくても、グリッドが使用可能であるかどうかの判断に役立ちます。たとえば、すべての要素がロードされないうちに、dbOpenを実行できます。

要素のステータス値

dbStatusコマンドは、データベース要素の次のステータス値を返します。


ノート:

これらのステータス値に関する推奨事項は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』の分散トランザクションのトラブルシューティングに関する説明を参照してください。

ステータス 説明
close failed 要素をクローズしようとして失敗しました。
closing 要素はクローズ中です。
create failed 要素を作成しようとして失敗しました。
creating 要素を作成しています。
destroy failed 要素を破棄しようとして失敗しました。
destroyed 要素が破棄されました。
destroying 要素を破棄しています。
down この要素が配置されているデータ・インスタンスが実行されていません。
evicted 要素は、dbDistributeによって除外または削除され、RAMからアンロードされました。
evicted (loaded) 要素はdbDistributeによって除外または削除されましたが、RAMからのアンロードはまだ開始されていません。
evicted (unloading) 要素は、dbDistributeによって除外または削除され、RAMからアンロード中です。
load failed 要素をRAMにロードしようとして失敗しました。
loaded 要素はRAMにロードされています。
loading 要素はRAMにロード中です。
opened 要素はオープンされています。
open failed 要素をオープンしようとして失敗しました。
opening 要素はオープン中です。
uncreated 要素を作成する必要がありますが、作成はまだ開始されていません。
unloaded 要素はRAMからアンロードされました。
unloading 要素はRAMからアンロード中です。
waiting for seed 要素はRAMにロードされますが、そのレプリカ・セットの他の要素がロードされた後でロードされます。

接続ステータス

この項では、既存の接続を表示する-connections-proxyおよび-systemオプションにより表示される情報について説明します。

接続ステータス・アイテム 説明
Host 接続のターゲットの場合、データ・インスタンスが存在するホストのモデル内のホスト・オブジェクトの名前。
Instance 接続のターゲットの場合、データ・インスタンスのモデル内のインスタンス・オブジェクトの名前。
ConnId データ・インスタンスへの接続の接続ID。
Name TimesTen ConnectionName接続属性で示される接続の名前。(その属性の詳細は、ConnectionNameを参照してください。)
Pid 接続を確立したプロセスのオペレーティング・システム・プロセスID。

ダイレクト・モードのアプリケーションの場合、これはアプリケーションのプロセスIDです。クライアント/サーバー・アプリケーションの場合、これはアプリケーションにかわって動作するクライアント/サーバーttcserverプロセスのプロセスIDです。

Type 接続のタイプ。次のいずれか1つを使用します。
  • ダイレクト・モードのアプリケーションからの接続の場合はDirect

  • クライアント/サーバー・アプリケーションからの接続の場合はC/S

  • アプリケーション接続のかわりに動作するTimesTenにより作成される接続(一部のデータへにアクセスするために必要な別のグリッド要素への接続など)の場合はProxy

  • グリッド接続ワーカーからのTimesTen内部接続の場合はGCW

  • TimesTenサブデーモンからのTimesTen内部接続の場合はSubdaemon

  • 統計のコレクションに対するTimesTen内部接続の場合はTTStats

CHost クライアント/サーバー接続の場合、アプリケーションが実行されているクライアントのホスト名。

ノート: -proxyオプションが使用されている場合、このアイテムは表示されません。

CAddr クライアント・サーバー接続の場合、アプリケーションが実行されているクライアントのIPアドレス。

ノート: -proxyオプションが使用されている場合、このアイテムは表示されません。

CPid クライアント/サーバー接続の場合、アプリケーションのオペレーティング・システム・プロセスID。

ノート: -proxyオプションが使用されている場合、このアイテムは表示されません。

PHost プロキシ接続の場合、プロキシ接続が確立されるホストの名前。
PInstance プロキシ接続の場合、プロキシ接続が確立されるTimesTenインスタンスの名前。
PPid プロキシ接続の場合、接続を確立したプロセスのオペレーティング・システム・プロセスID。
PConnId プロキシ接続の場合、接続ID。

データベース・ステータスの例

これらの例のキーは次のとおりです。

  • RS: 各要素が属するレプリカ・セットの識別番号。

  • DS: 各要素が属するデータ領域グループの識別番号。

  • Elem: 各要素の要素番号。

  • Status: 各要素での操作のステータス。返される可能性のある要素状態のリストは、前述の「ステータス値」を参照してください。

この例では、データベースの分散が指定された後で、データベースはクローズされている状態でのdbStatusの完全な出力を示しています。

% ttGridAdmin dbStatus database1 -all
Database database1 summary status as of Thu Nov 17 13:28:16 PST 2016
 
created,loaded-complete,closed
Completely created elements: 4 (of 4)
Completely loaded elements: 4 (of 4)
Completely created replica sets: 2 (of 2)
Completely loaded replica sets: 2 (of 2)
 
Open elements: 0 (of 4)
 
Database database1 element level status as of Thu Nov 17 13:28:16 PST 2016
 
Host        Instance     Elem Status Date/Time of Event  Message
----------- ------------ ---- ------ ------------------- -------
 mysys3host griddata1       3 loaded 2016-11-16 17:36:39
 mysys4host griddata2       1 loaded 2016-11-16 17:36:40
 mysys5host griddata3       4 loaded 2016-11-16 17:36:39
 mysys6host griddata4       2 loaded 2016-11-16 17:36:41
 
Database database1 Replica Set status as of Thu Nov 17 13:28:16 PST 2016
 
RS DS Elem Host        Instance  Status Date/Time of Event  Message
-- -- ---- ----------- --------  ------ ------------------- -------
 1  1    3 mysys3host  griddata1 loaded 2016-11-16 17:36:39      
    2    1 mysys4host  griddata2 loaded 2016-11-16 17:36:40      
 2  1    4 mysys5host  griddata3 loaded 2016-11-16 17:36:39      
    2    2 mysys6host  griddata4 loaded 2016-11-16 17:36:41      
 
Database database1 Data Space Group status as of Thu Nov 17 13:28:16 PST 2016
 
DS RS Elem Host        Instance  Status Date/Time of Event  Message
-- -- ---- ----------- --------- ------ ------------------- -------
 1  1    3 mysys3host  griddata1 loaded 2016-11-16 17:36:39      
    2    4 mysys5host  griddata3 loaded 2016-11-16 17:36:39      
 2  1    1 mysys4host  griddata2 loaded 2016-11-16 17:36:40      
    2    2 mysys6host  griddata4 loaded 2016-11-16 17:36:41      

この例では、ロード準備状況を示しています。すべてのインスタンスが稼働していた後、レプリカ・セットの1つのインスタンスが停止し、その後、レプリカ・セットの両方のインスタンスが停止しています。レプリカ・セット内のすべてのインスタンスが停止している場合、データベースはロードできません。

% ttGridAdmin dbStatus database1 -loadReadiness
Data Elements:
RS DS Instance             State
-- -- -------------------- --------
 1  1 mysys3host.griddata1 Unloaded
 1  2 mysys4host.griddata2 Unloaded
 1                         Loadable
 2  1 mysys5host.griddata3 Unloaded
 2  2 mysys6host.griddata4 Unloaded
 2                         Loadable
 
database1 load state: Loadable
Total Elements Loaded:0/4
...

% ttGridAdmin dbStatus database1 -loadReadiness
Data Elements:
RS DS Instance             State
-- -- -------------------- --------
 1  1 mysys3host.griddata1 Down
 1  2 mysys4host.griddata2 Unloaded
 1                         Loadable
 2  1 mysys5host.griddata3 Unloaded
 2  2 mysys6host.griddata4 Unloaded
 2                         Loadable
 
database1 load state: Loadable
Total Elements Loaded:0/4
...

% ttGridAdmin dbStatus database1 -loadReadiness
Data Elements:
RS DS Instance             State
-- -- -------------------- -------------
 1  1 mysys3host.griddata1 Down
 1  2 mysys4host.griddata2 Down
 1                         Not Loadable
 2  1 mysys5host.griddata3 Unloaded
 2  2 mysys6host.griddata4 Unloaded
 2                         Loadable
 
database1 load state: Not Loadable
Total Elements Loaded:0/4

この例では、データベースのエポックを示しています。重要な点は、durability=0でリカバリ・エポックが示されない場合、データベースはリカバリ可能ではないことです。

% ttGridAdmin dbStatus database1 -epochs
Database database1 element level status as of Tue Jan  9 16:49:39 PST 2018
 
Host       Instance  Elem Status Recent Epochs
---------- --------- ---- ------ ------------------------------------------------------------
mysys4host griddata2    1 loaded 286.3 288.1 290.2 292.4 294.3 296.1 298.2 300.1 302.2 304.4
mysys6host griddata4    2 loaded 286.3 288.1 290.2 292.4 294.3 296.1 298.2 300.1 302.2 304.4
mysys3host griddata1    3 loaded 286.3 288.1 290.2 292.4 294.3 296.1 298.2 300.1 302.2 304.4
mysys5host griddata3    4 loaded 286.3 288.1 290.2 292.4 294.3 296.1 298.2 300.1 302.2 304.4
 
Most recent recovery epoch: 304.4

接続ステータスの例

-connectionsオプション単独、-proxyを使用した-connections-systemを使用した-connectionsおよび-proxy-systemの両方を使用した-connectionsの例を示しています。

% ttgridadmin dbstatus database1 -connections
Host   Instance  ConnId Name        Pid  Type   CHost  CAddr         CPid
------ --------- ------ ----------- ---- ------ ------ ------------- ----
mysys1 instance1      1 database1   8631 Direct                          
mysys1 instance1      2 con1        8631 Direct                          
mysys1 instance1      3 con2        8631 Direct                          
mysys2 instance2      1 database1cs 8653 C/S    mysys2 10.90.137.240 8637
mysys2 instance2      2 con1        8666 C/S    mysys2 10.90.137.240 8637

% ttgridadmin dbstatus database1 -connections -proxy
Host   Instance  ConnId Name        Pid  Type   PHost  PInstance PPid  PConnId
------ --------- ------ ----------- ---- ------ ------ --------- ----- -------
mysys1 instance1      1 database1   8631 Direct                               
mysys1 instance1      2 con1        8631 Direct                               
mysys1 instance1      2 con1        8631 Proxy  mysys2 instance2 31210       4
mysys1 instance1      3 con2        8631 Direct                               
mysys1 instance1      3 con2        8631 Proxy  mysys2 instance2 31210       3
mysys2 instance2      1 database1cs 8653 C/S                                  
mysys2 instance2      2 con1        8666 C/S                                  

% ttgridadmin dbstatus database1 -connections -system
Host   Instance  ConnId Name                       Pid   Type      CHost    CAddr         CPid
------ --------- ------ -------------------------- ----- --------- -------- ------------- ----
mysys1 instance1      1 database1                   8631 Direct                               
mysys1 instance1      2 con1                        8631 Direct                               
mysys1 instance1      3 con2                        8631 Direct                               
mysys1 instance1    128 Grid Epoch Generator(TM=2) 31183 GCW                                  
mysys1 instance1    129 ttStats Collector          31183 GCW                                  
mysys1 instance1    130 ttStats Collector          31871 TTStats                              
mysys1 instance1    131 Garbage Collector          30876 Subdaemon                            
mysys1 instance1    132 Grid Watch Remote TM       30876 Subdaemon                            
mysys1 instance1    133 Grid Rem Elem Mon          30876 Subdaemon                            
mysys1 instance1    134 XactId Rollback            30876 Subdaemon                            
mysys1 instance1    135 Grid Epoch Generator       30876 Subdaemon                            
mysys1 instance1    136 Grid Seq Batch             30876 Subdaemon                            
mysys1 instance1    137 GCW Watcher                30876 Subdaemon                            
mysys1 instance1    138 HistGC                     30876 Subdaemon                            
mysys1 instance1    139 Log Marker                 30876 Subdaemon                            
mysys1 instance1    140 IndexGC                    30876 Subdaemon                            
mysys1 instance1    141 Grid Task                  30876 Subdaemon                            
mysys1 instance1    142 Deadlock Detector          30876 Subdaemon                            
mysys1 instance1    143 Flusher                    30876 Subdaemon                            
mysys1 instance1    144 Monitor                    30876 Subdaemon                            
mysys1 instance1    145 Checkpoint                 30876 Subdaemon                            
mysys1 instance1    146 Rollback                   30876 Subdaemon                            
mysys1 instance1    147 Manager                    30876 Subdaemon                            
mysys2 instance2      1 database1cs                 8653 C/S       mysys2 10.90.137.240   8637
mysys2 instance2      2 con1                        8666 C/S       mysys2 10.90.137.240   8637
mysys2 instance2      3 con2                       31210 GCW                                  
mysys2 instance2      4 con1                       31210 GCW                                  
mysys2 instance2    128 Grid Epoch Generator(TM=1) 31210 GCW                                  
mysys2 instance2    129 ttStats Collector          31210 GCW                                  
mysys2 instance2    130 ttStats Collector          31878 TTStats                              
mysys2 instance2    131 Grid Watch Remote TM       30950 Subdaemon                            
mysys2 instance2    132 HistGC                     30950 Subdaemon                            
mysys2 instance2    133 GCW Watcher                30950 Subdaemon                            
mysys2 instance2    134 Grid Epoch Generator       30950 Subdaemon                            
mysys2 instance2    135 Grid Seq Batch             30950 Subdaemon                            
mysys2 instance2    136 XactId Rollback            30950 Subdaemon                            
mysys2 instance2    137 Garbage Collector          30950 Subdaemon                            
mysys2 instance2    138 Grid Task                  30950 Subdaemon                            
mysys2 instance2    139 Log Marker                 30950 Subdaemon                            
mysys2 instance2    140 Grid Rem Elem Mon          30950 Subdaemon                            
mysys2 instance2    141 Flusher                    30950 Subdaemon                            
mysys2 instance2    142 IndexGC                    30950 Subdaemon                            
mysys2 instance2    143 Checkpoint                 30950 Subdaemon                            
mysys2 instance2    144 Deadlock Detector          30950 Subdaemon                            
mysys2 instance2    145 Monitor                    30950 Subdaemon                            
mysys2 instance2    146 Rollback                   30950 Subdaemon                            
mysys2 instance2    147 Manager                    30950 Subdaemon                            

% ttgridadmin dbstatus database1 -connections -proxy -system
Host   Instance  ConnId Name                       Pid   Type      PHost  PInstance PPid  PConnId
------ --------- ------ -------------------------- ----- --------- ------ --------- ----- -------
mysys1 instance1      1 database1                   8631 Direct                                  
mysys1 instance1      2 con1                        8631 Direct                                  
mysys1 instance1      2 con1                        8631 Proxy     mysys2 instance2 31210       4
mysys1 instance1      3 con2                        8631 Direct                                  
mysys1 instance1      3 con2                        8631 Proxy     mysys2 instance2 31210       3
mysys1 instance1    128 Grid Epoch Generator(TM=2) 31183 GCW                                     
mysys1 instance1    129 ttStats Collector          31183 GCW                                     
mysys1 instance1    130 ttStats Collector          31871 TTStats                                 
mysys1 instance1    130 ttStats Collector          31871 Proxy     mysys2 instance2 31210     129
mysys1 instance1    131 Garbage Collector          30876 Subdaemon                               
mysys1 instance1    132 Grid Watch Remote TM       30876 Subdaemon                               
mysys1 instance1    133 Grid Rem Elem Mon          30876 Subdaemon                               
mysys1 instance1    134 XactId Rollback            30876 Subdaemon                               
mysys1 instance1    135 Grid Epoch Generator       30876 Subdaemon                               
mysys1 instance1    135 Grid Epoch Generator       30876 Proxy     mysys2 instance2 31210     128
mysys1 instance1    136 Grid Seq Batch             30876 Subdaemon                               
mysys1 instance1    137 GCW Watcher                30876 Subdaemon                               
mysys1 instance1    138 HistGC                     30876 Subdaemon                               
mysys1 instance1    139 Log Marker                 30876 Subdaemon                               
mysys1 instance1    140 IndexGC                    30876 Subdaemon                               
mysys1 instance1    141 Grid Task                  30876 Subdaemon                               
mysys1 instance1    142 Deadlock Detector          30876 Subdaemon                               
mysys1 instance1    143 Flusher                    30876 Subdaemon                               
mysys1 instance1    144 Monitor                    30876 Subdaemon                               
mysys1 instance1    145 Checkpoint                 30876 Subdaemon                               
mysys1 instance1    146 Rollback                   30876 Subdaemon                               
mysys1 instance1    147 Manager                    30876 Subdaemon                               
mysys2 instance2      1 database1cs                 8653 C/S                                     
mysys2 instance2      2 con1                        8666 C/S                                     
mysys2 instance2      3 con2                       31210 GCW                                     
mysys2 instance2      4 con1                       31210 GCW                                     
mysys2 instance2    128 Grid Epoch Generator(TM=1) 31210 GCW                                     
mysys2 instance2    129 ttStats Collector          31210 GCW                                     
mysys2 instance2    130 ttStats Collector          31878 TTStats                                 
mysys2 instance2    130 ttStats Collector          31878 Proxy     mysys1 instance1 31183     129
mysys2 instance2    131 Grid Watch Remote TM       30950 Subdaemon                               
mysys2 instance2    132 HistGC                     30950 Subdaemon                               
mysys2 instance2    133 GCW Watcher                30950 Subdaemon                               
mysys2 instance2    134 Grid Epoch Generator       30950 Subdaemon                               
mysys2 instance2    134 Grid Epoch Generator       30950 Proxy     mysys1 instance1 31183     128
mysys2 instance2    135 Grid Seq Batch             30950 Subdaemon                               
mysys2 instance2    136 XactId Rollback            30950 Subdaemon                               
mysys2 instance2    137 Garbage Collector          30950 Subdaemon                               
mysys2 instance2    138 Grid Task                  30950 Subdaemon                               
mysys2 instance2    139 Log Marker                 30950 Subdaemon                               
mysys2 instance2    140 Grid Rem Elem Mon          30950 Subdaemon                               
mysys2 instance2    141 Flusher                    30950 Subdaemon                               
mysys2 instance2    142 IndexGC                    30950 Subdaemon                               
mysys2 instance2    143 Checkpoint                 30950 Subdaemon                               
mysys2 instance2    144 Deadlock Detector          30950 Subdaemon                               
mysys2 instance2    145 Monitor                    30950 Subdaemon                               
mysys2 instance2    146 Rollback                   30950 Subdaemon                               
mysys2 instance2    147 Manager                    30950 Subdaemon                               

データベースのアンロード(dbUnload)

dbUnloadコマンドは、指定されたデータベースをメモリーからアンロードします。

ttGridAdmin dbUnload name 
                     [-nowait | -wait [timeout]]
                     [-force]

重要:

トランザクションの進行中にdbUnloadコマンドを発行した場合、このコマンドはトランザクションが完了することを待機しません。このため、データが失われる可能性があります。

オプション

dbUnloadコマンドには、次のオプションがあります。

オプション 説明
name アンロードするデータベースの名前。
-nowait | -wait [timeout] このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。

-nowaitオプションを指定すると、コマンドは状態の変更を待機しないですぐに戻ります。これは、デフォルトの動作です。

-waitオプションを指定すると、データベース要素がグリッド内の各インスタンスでアンロードされている場合、コマンドは状態の変更が完了することを待機します。必要に応じて、待機をtimeout秒の制限の対象にできます。それ以外の場合、またはtimeoutが0に設定されている場合、制限はありません。

大規模なグリッドでは、一般的に、-waitを使用することはお薦めしません。そのようにする場合は、タイムアウトを設定することをお薦めします。(「データベース管理操作」を参照してください。)

-force Durability=0で、少なくとも1つのレプリカ・セットが完全に停止している場合、このオプションにより、アンロードは続行します。

重要: このオプションを使用すると、データが失われる可能性があります。

(通常、データ損失を防ぐため、各レプリカ・セットから少なくとも1つの要素がロードされている場合を除き、Durability=0のデータベースはアンロードできません。)


この例では、すべてのインスタンスで要素がアンロードされることを待機しないでデータベースをアンロードし、ステータスをチェックします(データベースが正常にアンロードされた後)。

% ttGridAdmin dbUnload database1
Database database1 unload started
...
% ttGridAdmin dbStatus database1
Database database1 summary status as of Mon Nov 13 18:52:47 PST 2017
 
created,unloaded,closed
Completely created elements: 4 (of 4)
Completely loaded elements: 0 (of 4)
Completely created replica sets: 0 (of 0)
Completely loaded replica sets: 0 (of 0)
 
Open elements: 0 (of 4)

ノート

  • dbUnloadコマンドを発行した後で、トランザクションを開始しないでください。

  • データベースへのすべての接続をクローズする必要があります。

  • データベースがクローズされている必要があります。

  • dbUnloadを非同期に(待機しないで)実行する場合は、dbStatusコマンドを使用して、データベースがロードされているかどうかを確認できます。

グリッド操作

この項ではttGridAdminコマンドを使用して、モデルでのグリッドの作成、グリッドでのパスワードなしSSHの構成、グリッドに関する情報の収集、グリッドへの変更を行います。この他に、グリッドの外部にあるクライアントで使用されるsys.odbc.iniファイルを生成するためのコマンドもあります。

グリッド外部でのクライアント/サーバー接続のためのsys.odbc.iniのエクスポート(gridClientExport)

gridClientExportコマンドは、グリッドの一部ではないTimesTenインスタンスがグリッド内のデータベースにアクセスするために使用できるsys.odbc.iniファイルを生成します。

ttGridAdmin gridClientExport [filepath]

生成されるファイルには、グリッドで定義されているすべてのクライアント/サーバー接続可能オブジェクトの定義が含まれています。このファイルは、グリッドの外部にあってグリッド内のデータベースへの接続元とするTimesTenクライアント・インスタンスに手動でコピーする必要があります。

オプション

gridClientExportコマンドにはオプションがあります。

オプション 説明
filepath sys.odbc.iniエントリが書き込まれるファイルのパスと名前。

ファイルを指定しないと、エントリはstdoutに出力されます。


この例では、sys.odbc.iniエントリをファイルsys_export.odbc.iniにエクスポートし、そのファイルの内容を示しています。

% ttGridAdmin gridClientExport /sw/tten/grid/clients/sys_export.odbc.ini
% cd /sw/tten/grid/clients
% more sys_export.odbc.ini
[ODBC Data Sources]
database1client=TimesTen 18.1 Client Driver
 
[database1client]
TTC_SERVER_DSN=database1
# External address/port info for mysys3host.instance1
TTC_SERVER1=mysys3.example.com/21000
# External address/port info for mysys4host.instance1
TTC_SERVER2=mysys4.example.com/21000
ConnectionCharacterSet=AL32UTF8
UID=ttclient

ノート

このコマンドは、ホストの外部アドレスを使用します。

グリッドの作成(gridCreate)

gridCreateコマンドは、グリッドと、モデルの初期バージョンを作成します。

ttGridAdmin gridCreate name 
                        -k n
                        -membershipConfig filepath
                       [-address addr]
                       [-internalAddress addr]
                       [-externalAddress addr]
                       [-mgmtPort n]
                       [-host name]
                       [-retainDays numdays]
                       [-retainVersions n]
                       [-warnThresh percent]
                       [-noDataSpaceGroup]
                       [-walletDir path]

コマンドの実行元のインスタンスが、新しいグリッドの初期管理インスタンスになります。その後、追加のインスタンス(データ・インスタンスおよび2つ目の管理インスタンス)を作成し、後でグリッドに結合できます。

オプション

gridCreateコマンドには、次のオプションがあります。

オプション 説明
name モデル内のグリッドの名前を指定します。
-k n このグリッドが提供するK-safetyの程度を指定します。値として1または2を指定します。
-membershipConfig filepath 各メンバーシップ・サーバーのホスト名およびポートが含まれているメンバーシップ・クライアント構成ファイルのパスおよび名前。

このファイルの内容は、グリッド内のすべてのインスタンスに自動的にプロビジョニングされます。

次のような内容になります。

Servers zk1.example.com!2181,zk2.example.com!2181,
zk3.example.com!2181

ノート: ホストとポートの間にコロンまたは感嘆符を使用できます。(IPv6アドレスでは、それ自体にコロンが含まれているため、常に感嘆符を使用してください。)

また、メンバーシップ・クライアント構成ファイルのエクスポートまたはインポートの詳細は「メンバーシップ操作」を、追加情報は『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のメンバーシップ・サービス・クライアントとしてのグリッドの構成に関する説明を参照してください。

-internalAddress addr グリッド内部にある、内部通信用のローカル・システムのDNS名またはIPアドレス。これは、-externalAddressとともに使用してください。

このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

また、次の「ノート」および「アドレス形式」も参照してください。

-externalAddress addr クライアント/サーバー接続を対象とした、グリッドの外部にある、外部通信用のローカル・システムのDNS名またはIPアドレス。これは、-internalAddressとともに使用してください。

このオプションには1つの名前またはアドレスのみを指定しますが、1つの名前が1つ以上のIPアドレスに解決されることがあります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

また、次の「ノート」および「アドレス形式」も参照してください。

-address addr 外部通信と内部通信の両方用のローカル・システムのDNS名またはIPアドレス(単一のアドレスが使用されている場合)。-address xxxを設定することは、-internalAddress xxxおよび-externalAddress xxxを設定することとまったく同じです。

このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

ノート: 本番環境で単一のアドレスを使用することはお薦めしません。

また、次の「ノート」および「アドレス形式」も参照してください。

-mgmtPort n アクティブ管理インスタンスにある管理データがレプリケートされるときに、レプリケーションのために初期管理インスタンスが使用するポート番号。これは、管理インスタンスが2つある場合に必須です。デフォルトは3754です。
-host name グリッド内の初期ホストのためにモデル内のホスト・オブジェクトに付与される名前を指定します。指定しないと、オペレーティング・システム・ホスト名の最初のコンポーネントが使用されます(最初の「.」までのホスト名で「.」自体は含みません。たとえば、myhostとなります)。
-retainDays numdays モデルの古いバージョンがnumdays日間保持され、その後自動的に削除されることを指定します。numdays0の場合、モデルの古いバージョンは経過期間に基づいて自動的に削除されません。デフォルトは30です。

また、次の「ノート」も参照してください。

-retainVersions n モデルの古いバージョンをn個保持することを指定します。最新のn個のバージョンよりも古いものは削除されます。n0の場合、モデルの古いバージョンは、バージョンの数に基づいて自動的に削除されません。デフォルトは10です。

また、次の「ノート」も参照してください。

-warnThresh percent 管理インスタンスは、グリッドおよびモデルのメタデータを格納します。アクティブ管理インスタンス上のメタデータがこの容量率を超えて一杯になると、ttGridAdminコマンドは警告を発します。デフォルトは、90%で一杯になります。
-noDataSpaceGroup グリッド内の初期ホストがデータ領域グループに割り当てられていないことを指定します。このオプションを指定しない場合、初期ホストがデータ領域グループ1に割り当てられます。

初期ホストにデータ・インスタンスと管理インスタンスが含まれる場合には、このオプションを設定しないでください。

-walletDir path 作成されるグリッドの最初の管理インスタンスの場合、暗号化情報を含むOracle Walletが保存されるディレクトリへのパス。デフォルトは、timesten_home/infoです。

複数のインスタンスのウォレットを同じディレクトリに格納して、NFSを介するなどしてインスタンス間で共有できます。


% ttGridAdmin gridCreate grid1 -k 2 -membershipConfig 
/sw/tten/grid/zkcfg/membership.conf -internalAddress intmysys1.example.com 
-externalAddress extmysys1.example.com -host mysys1host
Grid grid1 created

ノート

  • 別のグリッドに属しているか、かつて属していたインスタンスからこのコマンドを実行することはできません。

  • 失敗した場合にgridCreateを再試行することはできません。ttInstanceDestroyおよびttInstanceCreateで管理インスタンスを削除してから再作成する必要があります。例は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のグリッドの破棄に関する説明および初期管理インスタンスの作成に関する説明を参照してください。リファレンス情報は、「ttInstanceDestroy」および「ttInstanceCreate」を参照してください。

  • グリッド内のホストは、システム・トポロジに応じて、1つまたは2つのネットワーク・アドレスで構成できます。2つのアドレスで構成した場合、1つはグリッド内にある(内部)システムとの通信に使用され、1つはグリッド外にある(外部)システムからグリッド内にあるデータベースへのクライアント/サーバー・アクセスに使用されます。1つのアドレスで構成した場合(本番環境にはお薦めしません)、そのアドレスは内部通信と外部通信の両方に使用されます。-addressを設定するか、-internalAddressおよび-externalAddressを設定する必要があります。

  • -retainDays-retainVersionsの両方を指定できます。その場合、モデルの古いバージョンは、numdays日よりも古く、かつ古いバージョンがn個よりも多くあれば、自動的に削除されます。一方のオプションを0に指定した場合は、他方のオプションのみが有効になります。両方が0の場合、モデルの古いバージョンは自動的に削除されません。

  • グリッドを作成すると、グリッド・モデルのバージョン1が作成されます。

グリッドに関する情報の表示(gridDisplay)

gridDisplayコマンドは、グリッドに関する情報を表示するために使用します。

ttGridAdmin gridDisplay

Grid name:                  grid1
Grid GUID:                  9D049059-1BF2-47E4-AEFA-D3ABA03F609E
Created:                    2017-10-30 19:05:47.000000
Major Release:              18.1
Created Release:            18.1.4.1.0
K:                          2
Admin Userid:               ttuser1
Admin UID:                  126
Admin Group:                timesten
Admin GID:                  59031
Retain Days:                30
Retain Versions:            10
Warn Threshold:             90
Perm In Use Pct:            8
Temp In Use Pct:            14

グリッドに関する診断情報の取得(gridDump)

gridDumpコマンドは、グリッドに関する診断情報を指定されたファイルに出力します。このコマンドは、非常に大量の情報を出力し、Oracle Supportによる使用を目的としています。

ttGridAdmin gridDump [filepath]

オプション

gridDumpコマンドにはオプションがあります。

オプション 説明
filepath 診断情報が書き込まれるファイルのパスと名前。

ファイルを指定しないと、情報はstdoutに書き込まれます。


この例では、ファイルgriddumpoutに出力します。(ダンプをファイルに書き込むと、このコマンドでは出力が表示されません。)

% ttGridAdmin gridDump /sw/tten/grid/misc/griddumpout

グリッドに関するログ情報の収集(gridLogCollect)

gridLogCollectコマンドは、グリッド内のすべてのインスタンスからTimesTen構成ファイルとともにデーモン・ログおよびその他の診断情報を収集します。これらすべての集計が収集されます。

ttGridAdmin gridLogCollect -repository reponame 
                           [collection]

オプション

gridLogCollectコマンドには、次のオプションがあります。

オプション 説明
-repository reponame ログ、診断情報および構成ファイルのコレクションが格納されているリポジトリの名前。

「リポジトリの作成(repositoryCreate)」を参照してください。

collection ログ、診断情報および構成ファイルを格納するために作成されたコレクションの名前。

指定しないと、名前はLyyyymmddhhmmssという形式のタイムスタンプになります。


この例では、リポジトリを作成し、そのリポジトリにログ、診断情報および構成ファイルのコレクションを作成します。(repositoryCreateコマンドの詳細は、「リポジトリの作成(repositoryCreate)」を参照してください。)

% ttGridAdmin repositoryCreate repocollection -path /repositories 
-method scp -address mysys1.example.com
Repository repocollection created

% ttGridAdmin gridLogCollect -repository repocollection mycollection 
Logs copied to collection mycollection in repository repocollection

repocollectionディレクトリのrepository.jsonファイルには、リポジトリに関する情報が含まれています。

mycollectionディレクトリには、インスタンスごとにログ・ファイルおよび構成ファイルが含まれています。(ログ・ファイルの詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のグリッド・ログの収集に関する説明を参照してください。)

ノート

これらは、コレクションに自動的に含まれます。

  • デーモン・ログやコア・ファイルなど、各インスタンスのdiagディレクトリ(またはtimesten.confsupportlogの設定に応じた他の診断ディレクトリ)の内容

  • 各インスタンスのconfディレクトリにあるTimesTen構成ファイル。

  • データベース定義に指定されている、各要素のDataStoreディレクトリのすべての.invalファイル

グリッド設定の変更(gridModify)

gridModifyコマンドは、グリッドの以前のモデルが保持される期間や、グリッドの以前のモデルが保持される数など、グリッドのプロパティを変更します。

ttGridAdmin gridModify [-retainDays numdays]
                       [-retainVersions n]
                       [-warnThresh percent]

オプション

gridModifyコマンドには、次のオプションがあります。

オプション 説明
-retainDays numdays モデルの古いバージョンがnumdays日間保持され、その後自動的に削除されることを指定します。numdays0の場合、モデルの古いバージョンは経過期間に基づいて自動的に削除されません。デフォルトは30です。

また、次の「ノート」も参照してください。

-retainVersions n モデルの古いバージョンをn個保持することを指定します。最新のn個のバージョンよりも古いものは削除されます。n0の場合、モデルの古いバージョンは、バージョンの数に基づいて自動的に削除されません。デフォルトは10です。

また、次の「ノート」も参照してください。

-warnThresh percent 管理インスタンスは、グリッドおよびモデルのメタデータを格納します。アクティブ管理インスタンス上のメタデータがこの容量率を超えて一杯になると、ttGridAdminコマンドは警告を発します。デフォルトは、90%で一杯になります。

この例では、gridModifyを実行してモデルの古いバージョンを保持する日数を変更する前後に、gridDisplayの出力の一部を示しています。

% ttGridAdmin gridDisplay
Grid name:                  grid1
...
Retain Days:                30
Retain Versions:            10
...

% ttGridAdmin gridModify -retainDays 20
Grid Definition modified.

% ttGridAdmin gridDisplay
Grid name:                  grid1
...
Retain Days:                20
Retain Versions:            10
...

ノート

-retainDays-retainVersionsの両方を指定できます。その場合、モデルの古いバージョンは、numdays日よりも古く、かつ古いバージョンがn個よりも多くあれば、自動的に削除されます。一方のオプションを0に指定した場合は、他方のオプションのみが有効になります。両方が0の場合、モデルの古いバージョンは自動的に削除されません。

SSHの構成(gridSshConfig)

必要に応じて、または指定されているとおり、gridSshConfigコマンドは、パスワードなしSSH接続用にTimesTen Scaleoutホストのセットを構成します。

ttGridAdmin gridSshConfig [ [-mgmtAddress addr1 [addr2]]
                          [-dataAddress addr1 [addr2 [addr3...]]]
                          [-repoAddress addr1 [addr2 [addr3...]]] ] |
                          [-internalAddress addr1 [addr2 [addr3...]]] 

-mgmtAddressオプション、-dataAddressオプションおよび-repoAddressオプション(該当する場合)を使用するか、他のオプションとともに使用できない-internalAddressオプションを使用します。各アドレスは、IPv4アドレス、IPv6アドレスまたはDNS名(通常)にできます。また、「アドレス形式」も参照してください。

その際、コマンドを実行するオペレーティング・システム・ユーザーのOSパスワードを入力するように求められます。そのユーザーは、構成するすべてのホストで同じパスワード、UIDおよびグループ・メンバーシップを持つ必要があります。

gridSshConfigコマンドで次のいずれかの処理モードを選択します。

  • -mgmtAddressオプション(管理インスタンス・ホストを指定するため)、-dataAddressオプション(データ・インスタンス・ホストを指定するため)および-repoAddressオプション(リポジトリ・ホストを指定するため)を使用して、TIMESTEN_HOMEが設定されていないTimesTenインスタンスの外部からttGridAdminを実行します。この場合、TimesTenインストール環境のbinディレクトリからttGridAdminを実行します。パスワードなしSSHは、TimesTen Scaleoutが機能するために必要な場合にのみホスト間で構成されます。

  • TIMESTEN_HOMEが設定されているTimesTenインスタンス内部からttGridAdminを実行します。この場合、オプションは一切不要です。TimesTenは、各ホストがどのように使用されるか(管理、データまたはリポジトリ)をグリッド・モデルから判断し、TimesTen Scaleoutが機能するために必要な場合にのみホスト間にパスワードなしSSHを構成します。

  • ホストの使用方法(管理、データまたはリポジトリ)に関係なく、-internalAddressオプションを使用して、指定したすべてのホスト間で網羅的なパスワードなしSSHを指定することにより、TIMESTEN_HOMEが設定されていないTimesTenインスタンス外からttGridAdminを実行します。この場合、TimesTenインストール環境のbinディレクトリからttGridAdminを実行しますが、セキュリティ上の理由から、このモードの処理はお薦めしません。

ユーザーがgridSshConfigコマンドを実行した後、そのユーザーはパスワードを指定することなく(管理ホスト間や管理ホストからデータ・ホストへなど)必要に応じてSSHを介してホスト間で接続できる必要があります。ttGridAdminユーティリティは、コマンドの実行後、出力でこのことを確認します。


ノート:

gridSshConfigを使用しないで、必要に応じてグリッドのホスト間にパスワードなしSSHを手動で構成することもできます。

オプション

gridSshConfigコマンドにはオプションがあります。

オプション 説明
-mgmtAddress addr1 [addr2 ] 管理インスタンスを持つホストのアドレスで、必要に応じてパスワードなしSSHアクセス用に構成します。
-dataAddress addr1 [addr2 [addr3...]] データ・インスタンスを持つホストのアドレスで、必要に応じてパスワードなしSSHアクセス用に構成します。
-repoAddress addr1 [addr2 [addr3...]] リポジトリを持つホストのアドレスで、必要に応じてパスワードなしSSHアクセス用に構成します。
-internalAddress addr1 [addr2 [addr3...]] 網羅的なパスワードなしSSHアクセス用に構成するホストのアドレス。

セキュリティ上の理由から、このオプションは使用しないことをお薦めします。

このオプションは、他のオプションと一緒には使用できません。


この例は、TimesTenインスタンスの外部のmysys1.example.com上で、インストール先にあるbinディレクトリから実行されます。4つのホスト(2つの管理と2つのデータ)に対して実行されます。

% ./ttGridAdmin gridSshConfig -mgmtAddress mysys1.example.com mysys2.example.com -dataAddress 
mysys3.example.com mysys4.example.com
Enter password:
Setup ssh configuration on local system.................................................OK
Setup ssh configuration on mysys1.example.com...........................................OK
Setup ssh configuration on mysys2.example.com...........................................OK
Setup ssh configuration on mysys3.example.com...........................................OK
Setup ssh configuration on mysys4.example.com...........................................OK
Setup passwordless ssh from local system to mysys1.example.com..........................OK
Setup passwordless ssh from local system to mysys2.example.com..........................OK
Setup passwordless ssh from local system to mysys3.example.com..........................OK
Setup passwordless ssh from local system to mysys4.example.com..........................OK
Setup passwordless ssh from mysys1.example.com to mysys1.example.com....................OK
Setup passwordless ssh from mysys1.example.com to mysys2.example.com....................OK
Setup passwordless ssh from mysys1.example.com to mysys3.example.com....................OK
Setup passwordless ssh from mysys1.example.com to mysys4.example.com....................OK
Setup passwordless ssh from mysys2.example.com to mysys1.example.com....................OK
Setup passwordless ssh from mysys2.example.com to mysys2.example.com....................OK
Setup passwordless ssh from mysys2.example.com to mysys3.example.com....................OK
Setup passwordless ssh from mysys2.example.com to mysys4.example.com....................OK

Passwordless ssh working between hosts:

From\To            mysys1.example.com mysys2.example.com mysys3.example.com mysys4.example.com
---------          ------------------ ------------------ ------------------ ------------------
*us*               Yes                Yes                Yes                Yes
mysys1.example.com Yes                Yes                Yes                Yes
mysys2.example.com Yes                Yes                Yes                Yes
mysys3.example.com N/A                N/A                N/A                N/A
mysys4.example.com N/A                N/A                N/A                N/A

ノート

  • ホスト・アドレスの指定においては、各ホストでhostCreate (またはgridCreate)コマンドの-internalAddressオプションまたは-addressオプションに使用されているものと同じ形式(完全修飾ドメイン名、単純なホスト名またはIPアドレス)を使用します。たとえば、gridSshConfigmysys1を指定している場合に、hostCreatemysys1.example.comを指定しないでください。

  • gridSshConfigは、問題を発生させることなく、複数回実行できます。後から追加したホストでパスワードなしSSHを有効にする必要がある場合に、再度それらのホストに対してコマンドを実行しても、構成済のホストへの影響はありません。

  • 実行中に障害が発生した場合でも、コマンドはできるかぎり多くのホストで構成を完了します。

  • エラー・ログのPermission deniedエラーは、指定したパスワードが正しくないか、コマンドが正常に完了しない別の権限の問題があることを示している可能性があります(たとえば、.sshディレクトリが配置されているユーザー・ホーム・ディレクトリに対する不適切な権限など)。

ホスト操作

この項ではttGridAdminコマンドを使用して、モデルでのホストの定義、ホストの変更、ホストの削除、すべてのホストでのコマンドの実行、またはすべてのホストのリストを行います。

ホストの作成(hostCreate)

hostCreateコマンドは、モデル内にホストを定義します。

ttGridAdmin hostCreate [name]
                       [-address addr]
                       [-internalAddress addr]
                       [-externalAddress addr]
                       [-dataspacegroup n]
                       [-nodataspacegroup]
                       [-physicalgroup group1 [group2 [group3 [...]]]]
                       [-nophysicalgroup]
                       [-like name [-cascade]]
                       [-comment comment]

オプション

hostCreateコマンドには、次のオプションがあります。

オプション 説明
name モデル内のホスト・オブジェクトの名前を指定します。デフォルトでは、オペレーティング・システム・ホスト名の最初のコンポーネントになります(最初の「.」までのホスト名で「.」自体は含みません。たとえば、myhostとなります)。

このオプションを省略する場合、hostCreateの実行時にパスワードなしSSHを介してホスト・システムにアクセスできる必要があります。

-internalAddress addr グリッド内部にある、内部通信用のホストのDNS名またはIPアドレス。これは、-externalAddressとともに使用してください。指定したアドレスでパスワードなしSSHを介してホストにアクセスできる必要があります。

このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

また、次の「ノート」および「アドレス形式」も参照してください。

-externalAddress addr クライアント/サーバー接続を対象とした、グリッドの外部にある、外部通信用のホストのDNS名またはIPアドレス。これは、-internalAddressとともに使用してください。指定したアドレスでパスワードなしSSHを介してホストにアクセスできる必要があります。

このオプションには1つの名前またはアドレスのみを指定しますが、1つの名前が1つ以上のIPアドレスに解決されることがあります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

また、次の「ノート」および「アドレス形式」も参照してください。

-address addr 外部通信と内部通信の両方用のホストのDNS名またはIPアドレス(単一のアドレスが使用されている場合)。指定したアドレスでパスワードなしSSHを介してホストにアクセスできる必要があります。

このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

ノート: 本番環境で単一のアドレスを使用することはお薦めしません。

また、次の「ノート」および「アドレス形式」も参照してください。

-dataspacegroup n このホストがデータ領域グループ番号nに属することを指定します。グリッドが保持するデータ領域グループの数は、グリッドに対して設定されたk値によって決まります。

データ・インスタンスがあるホストは、データ領域グループに属している必要があります。

また、-nodataspacegroupおよび次の「ノート」も参照してください。

ノート: ホストがデータ領域グループに割り当てられ、modelApplyが実行された後で、その割当てを変更することはできません。

-nodataspacegroup ホストがデータ領域グループに割り当てられないことを指定します。これはデフォルトです。

データ・インスタンスがあるホストは、データ領域グループに属している必要があります。

また、-dataspacegroupおよび次の「ノート」も参照してください。

-physicalgroup group1 [group2 [ group3 [...]]] このホストが関連付けられる物理グループのセットを指定します。

失敗した場合に備えて冗長性を確保するために、別々の物理グループ間にデータ・インスタンスを分散することをお薦めします。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータ領域グループへのホストの割当てに関する説明を参照してください。

また、-nophysicalgroupも参照してください。

ノート: 物理グループの割当ては、dataSpaceGroupSuggestコマンドによって考慮されます。次の「ノート」を参照してください。

-nophysicalgroup ホストがどの物理グループにも関連付けられないことを指定します。これはデフォルトです。

また、-physicalgroupも参照してください。

-like name 指定する他のオプションによって既存のホストの設定が上書きされる場合を除き、指定された既存のホストと同じ属性でこの新しいホストを作成する必要があることを指定します。

また、-cascadeも参照してください。

-cascade このオプションは、-likeオプションとともに使用して、作成するホストに対し、-likeホストに関連付けられたインストールおよびインスタンスも定義する必要があることを指定します。(これらのオブジェクトは、新しいホストに対して定義されますが、modelApplyを実行するまで実際には作成されません。)
-comment comment ホスト・オブジェクトにコメントを関連付けます。空白がある場合には、コメントを引用符で囲みます。コメントは、hostListコマンドの出力に格納され、含められます。

インストールとインスタンスのセットを既存のホストのもの(-likeオプションに指定されているもの)と同じにしてモデルに新しいホストを追加することで、2つ目の管理インスタンスを作成します。このコマンドは、最初のホストmysys1host (前に「グリッドの作成(gridCreate)」の例で定義したもの)にある最初の管理インスタンスから実行します。

% ttGridAdmin hostCreate mysys2host -internalAddress intmysys2.example.com 
-externalAddress extmysys2.example.com -like mysys1host -cascade 
Host mysys2host created in Model
Installation installation1 created in Model
Instance gridmgmt1 created in Model

これにより、mysys2hostgridmgmt1が定義され、mysys1hostgridmgmt1が複製されます。

データ・インスタンスのホストを作成し、データ領域グループを指定します。

% ttGridAdmin hostCreate mysyshost3 -internalAddress intmysys3.example.com 
-externalAddress extmysys3.example.com -dataSpaceGroup 1
Host mysyshost3 created in Model

ノート

  • ホスト・アドレスを指定する際には、各ホストでそのホストに対するgridSshConfigコマンドに使用されていたのと同じ形式(完全修飾ドメイン名、単純なホスト名またはIPアドレス)を使用します。たとえば、gridSshConfigmysys1.example.comを指定している場合に、hostCreatemysys1を指定しないでください。

  • 後でhostModifyを使用して一部の設定を変更できます。

  • ホストの作成中にデータ領域グループにホストを割り当てない場合は、後で、dataSpaceGroupSuggestコマンドを使用して、各ホストに関連付けられている物理グループに基づいて最適な割当てを決定したり、hostModifyコマンドを使用して、データ領域グループを手動で選択できます。

  • グリッド内のホストは、システム・トポロジに応じて、1つまたは2つのネットワーク・アドレスで構成できます。2つのアドレスで構成した場合、1つはグリッド内にある(内部)システムとの通信に使用され、1つはグリッド外にある(外部)システムからグリッド内にあるデータベースへのクライアント/サーバー・アクセスに使用されます。1つのアドレスで構成した場合(本番環境にはお薦めしません)、そのアドレスは内部通信と外部通信の両方に使用されます。-addressを設定するか、-internalAddressおよび-externalAddressを設定する必要があります。

ホストの削除(hostDelete)

hostDeleteコマンドは、モデルからホストを削除します。

ttGridAdmin hostDelete name 
                       [-cascade]

オプション

hostDeleteコマンドには、次のオプションがあります。

オプション 説明
name モデルから削除するホスト・オブジェクトの名前。
-cascade ホストに関連付けられているインストール・オブジェクトおよびインスタンス・オブジェクトもモデルから削除する必要があることを指定します。

これにより、「ホストの作成(hostCreate)」の例で作成したホストが削除されます。

% ttGridAdmin hostDelete mysys2host -cascade
Instance gridmgmt1 on Host mysys2host deleted from Model
Installation installation1 on Host mysys2host deleted from Model
Host mysys2host deleted from Model

ノート

  • ホストにインストールまたはインスタンスがある場合は、-cascadeを使用するか、またはinstallationDeleteinstanceDeleteを使用する必要があります。

  • インスタンスおよびインストールを削除すると、モデルからオブジェクトが削除されますが、物理インスタンスおよび物理インストールは削除されません。

グリッド・ホストでのコマンドまたはスクリプトの実行(hostExec)

hostExecコマンドは、指定に従い、グリッド内のホストで。コマンド(システム・コマンドやTimesTenコマンドなど)またはスクリプトを実行します。

ttGridAdmin hostExec [-only hostname]
                     [-exclude hostname]
                     [-parallel n]
                      command | -script filepath

オプション

hostExecコマンドには、次のオプションがあります。

オプション 説明
-only hostname コマンドまたはスクリプトは、指定したホストに対してのみ実行されます。-onlyでは1つのホストのみを指定しますが、コマンドラインで-onlyを複数回使用できます。

モデルに定義されているホスト名を使用します。

-only-excludeを指定しないと、コマンドまたはスクリプトはモデル内のすべてのホストで実行されます。

-exclude hostname コマンドまたはスクリプトは、ホストを指定した場合を除き、グリッド内のすべてのホストで実行されます。-excludeでは1つのホストのみを指定しますが、コマンドラインで-excludeを複数回使用できます。

モデルに定義されているホスト名を使用します。

-only-excludeを指定しないと、コマンドまたはスクリプトはモデル内のすべてのホストで実行されます。

-parallel n コマンドまたはスクリプトが最大n個のホストで同時に実行されることを指定します。デフォルトは10です。値が1の場合はシリアルに実行されます。
command | -script filepath commandには、実行するコマンドを指定します。

または:

-script filepathには、実行するシェル・スクリプトのパスと名前を指定します。スクリプトは、ローカル・システム上に存在する必要があり、各ホストにコピーされます。


この例では、まずグリッド内の既存のホストを示し、次に、各ホストでhostExecを使用してdf /コマンドを実行し(ディスク領域を表示するため)、このとき、mysys3hostおよびmysys4hostを除外します。そのため、mysys1hostおよびmysys2hostでコマンドを実行しています。

% ttGridAdmin hostList
Name        IntAddress             ExtAddress             DSG Comment
----------- ---------------------- ---------------------- --- -------
mysys1host  intmysys1.example.com  extmysys1.example.com    1
mysys2host  intmysys2.example.com  extmysys2.example.com    2
mysys3host  intmysys3.example.com  extmysys3.example.com    1
mysys4host  intmysys4.example.com  extmysys4.example.com    2

% ttGridAdmin hostExec -exclude mysys3host -exclude mysys4host df /
Commands executed on:
  mysys1host rc 0
  mysys2host rc 0
Return code from mysys1host: 0
Output from mysys1host:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           173483816  28416336 136254988  18% /
Return code from mysys2host: 0
Output from mysys2host:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           117144964  35319512  75874836  32% /

ノート

  • コマンドまたはスクリプトは、各ホストでパスワードなしSSHを介してインスタンス管理者として実行します。

  • 環境変数は、デフォルトでSSHによって設定されたものを除き、ホストに設定されていません。

  • 実行がタイムアウト前に完了しなかった場合、コマンドは2000を返します。

  • 実行中に、stdoutおよびstderrの出力が、hostExecコマンドからのstdoutおよびstderrの出力の一部として表示されます。出力はバッファに入れられるため、異なるコマンドからの出力が混在することはありません。

モデル内のすべてのホストのリスト(hostList)

hostListコマンドは、指定したバージョンのモデル内のホストに関する情報をリストします。

ttGridAdmin hostList [-latest|-current|-version n]

オプション

hostListコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)内のホストをリストします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)内のホストをリストします。
-version n 指定したバージョン番号のモデル内のホストをリストします。

次の2つの例は、「ホストの変更(hostModify)」および「モデルのバージョンのリスト(modelList)」に示した例に関連し、出力は同じになり、バージョン4が最新バージョン(モデルにまだ適用されていないバージョン)であることを示しています。

ホストごとに、ホスト名、内部アドレス、外部アドレスおよび関連するデータ領域グループがリストされます(必要に応じてコメントも含めることができます)。

% ttGridAdmin hostlist
Name        IntAddress             ExtAddress             DSG Comment
----------- ---------------------- ------------------     --- --------------------
mysys1host  intmysys1.example.com  extmysys1.example.com    1
mysys2host  intmysys2.example.com  extmysys2.example.com    1
mysys3host  intmysys3.example.com  extmysys3.example.com    1 Move from location1.
mysys4host  intmysys4.example.com  extmysys4.example.com    2

% ttGridAdmin hostlist -version 4
Name        IntAddress             ExtAddress             DSG Comment
----------- ---------------------- ------------------     --- --------------------
mysys1host  intmysys1.example.com  extmysys1.example.com    1
mysys2host  intmysys2.example.com  extmysys2.example.com    1
mysys3host  intmysys3.example.com  extmysys3.example.com    1 Move from location1.
mysys4host  intmysys4.example.com  extmysys4.example.com    2

ホストの変更(hostModify)

ttGridAdmin hostModifyコマンドは、モデル内のホスト・オブジェクトを変更します。

ttGridAdmin hostModify name
                       [-physicalgroup group1 [group2 [group3 [...]]]]
                       [-addphysicalgroup group1 [group2 [group3 [...]]]]
                       [-removephysicalgroup group1 [group2 [group3 [...]]]]
                       [-nophysicalgroup]
                       [-dataspacegroup n]
                       [-nodataspacegroup] 
                       [-comment comment]

オプション

hostModifyコマンドには、次のオプションがあります。

オプション 説明
name 変更する既存のホスト・オブジェクトの名前。
-physicalgroup group1 [group2 [group3 [...]]] このホストが関連付けられる物理グループの新しいセットを指定します。ホストに以前関連付けられていたすべての物理グループは、指定したグループに置き換えられます。

また、-addphysicalgroup-removephysicalgroupおよび-nophysicalgroupも参照してください。

-addphysicalgroup group1 [group2 [group3 [...]]] ホストが関連付けられているグループに指定した物理グループを追加します。

また、-physicalgroup-removephysicalgroupおよび-nophysicalgroupも参照してください。

-removephysicalgroup group1 [group2 [group3 [...]]] ホストが関連付けられているグループから指定した物理グループを削除します。

また、-physicalgroup-addphysicalgroupおよび-nophysicalgroupも参照してください。

-nophysicalgroup ホストがどの物理グループにも関連付けられず、以前の関連付けが削除されることを指定します。

また、-physicalgroup-addphysicalgroupおよび-removephysicalgroupも参照してください。

-dataspacegroup n このホストが属するデータ領域グループの数を指定します。グリッドが保持するデータ領域グループの数は、グリッドに対して設定されたk値によって決まります。

データ・インスタンスがあるホストは、常にデータ領域グループに属している必要があります。

-nodataspacegroup このホストがどのデータ領域グループにも属さない(デフォルト)ことを指定します
-comment comment ホスト・オブジェクトにコメントを関連付けるか、既存のコメントを変更します。空白がある場合には、コメントを引用符で囲みます。コメントは、hostListコマンドの出力に格納され、含められます。

% ttGridAdmin hostModify mysyshost2 -physicalGroup location3 
-comment "Move from location1."
Host mysyshost2 modified in Model

ノート

  • hostModifyの実行時にパスワードなしSSHを介してホスト・システムにアクセスできる必要があります。

  • このホストを含むモデルに対してmodelApplyがすでに実行されている場合、データ領域グループ割当てを変更することはできません。

インポートおよびエクスポート操作

この項ではttGridAdminコマンドを使用して、データベースをインポートおよびエクスポートしたり、それらの操作のステータスを表示したり、エクスポートを削除します。

また、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータの移行、バックアップおよびリストアに関する説明も参照してください。

データベースのエクスポート(dbExport)

dbExportコマンドは、指定されたデータベースから指定されたリポジトリにデータをエクスポートします。dbExportコマンドおよびdbImportコマンドは、たとえば、2つのグリッド間やパッチの互換性のないTimesTenのバージョン間でデータベースを移行するために使用します。詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータの移行、バックアップおよびリストアに関する説明を参照してください。

ttGridAdmin dbExport dbname 
                     -repository reponame 
                     [-name exportname]

エクスポートは、コレクションとしてリポジトリに格納されます。まずリポジトリを作成する必要があります。「リポジトリ操作」を参照してください。

オプション

dbExportコマンドには、次のオプションがあります。

オプション 説明
dbname エクスポートするデータベースの名前。
-repository reponame エクスポートを格納するリポジトリの名前。
-name exportname エクスポートの名前を指定します。デフォルトは文字Mで始まり、その後にバックアップの日付と時刻が続き、次の形式になります。
Myyyymmddhhmmss

% ttGridAdmin dbExport database1 -repository repo1 -name exp_db1
...
dbExport exp_db1 started

その後、「データベース・エクスポートのステータスの表示(dbExportStatus)」の例に示すように、dbExportStatusを使用して進行状況をチェックします。各要素とデータベース全体が完了と示されていると、エクスポートは終了です。

ノート

  • エクスポートは、非同期的に行われます。進行状況をチェックするには、dbExportStatusコマンドを使用します。

  • データベースの各レプリカ・セットは、サブコレクションとして格納されます。

  • dbExportを実行するときには、データベースはすべての接続がクローズされたクローズ済の状態である必要があります。

  • ある時点で1つのデータベースに対して実行できるdbExportコマンドは1つのみとなり、dbExportdbImportと同時に実行することはできません。

  • ディスク領域の要件は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータベースのエクスポートおよびインポートに関する説明を参照してください。

データベース・エクスポートの削除(dbExportDelete)

dbExportDeleteコマンドは、指定されたデータベース・エクスポートを削除します。

ttGridAdmin dbExportDelete -repository reponame
                           -name exportname

オプション

dbExportDeleteコマンドには、次のオプションがあります。

オプション 説明
-repository reponame エクスポートが格納されているリポジトリの名前。
-name exportname 削除するエクスポートの名前。

この例では、「データベースのエクスポート(dbExport)」で作成したエクスポートを削除します。

% ttGridAdmin dbExportDelete -repository repo1 -name exp_db1
Export exp_db1 deleted

ノート

このコマンドは、通常、古いエクスポートや失敗したエクスポートを削除するために使用します。

データベース・エクスポートのステータスの表示(dbExportStatus)

dbExportStatusコマンドは、以前に開始された1つ以上のデータベース・エクスポートのステータスを表示します。

ttGridAdmin dbExportStatus dbname 
                           [-name exportname]

オプション

dbExportStatusコマンドには、次のオプションがあります。

オプション 説明
dbname エクスポートするデータベースの名前。
-name exportname 確認するエクスポートの名前。デフォルトでは、指定したデータベースのすべてのエクスポートです。

この例では、「データベースのエクスポート(dbExport)」の例に示したエクスポートが完了したときにステータスを表示しています。(それが、リポジトリ内にあるdatabase1の唯一のエクスポートです。)

% ttGridAdmin dbExportStatus database1
Database  Export  Repository Host  Instance  Elem State     Started
--------- ------- ---------- ----- --------- ---- --------- ------------------------
database1 exp_db1 repo1                           Completed 2017-03-02T14:42:24.000Z
                             host3 instance1    1 Complete
                             host4 instance1    2 Complete
                             host5 instance1    3 Complete

ノート

エクスポートが完了したと思われる場合は、dbExportStatusの結果を参照して、エクスポート全体および各インスタンスに対してCompleteが示されていることを確認します。失敗があった場合は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベース・エクスポートのステータスのチェックに関する説明を参照してください。

データベースのインポート(dbImport)

dbImportコマンドは、指定された以前のエクスポートから指定されたデータベースにデータをインポートします。dbExportコマンドおよびdbImportコマンドは、たとえば、2つのグリッド間やパッチの互換性のないTimesTenのバージョン間でデータベースを移行するために使用します。

ttGridAdmin dbImport dbname 
                     -repository reponame 
                     -name exportname 
                     [-ckptFreq mb]
                     [-updateStats]
                     [-estimateStats pct]
                     [-numThreads num]

オプション

dbImportコマンドには、次のオプションがあります。

オプション 説明
dbname データをインポートするデータベースの名前。
-repository reponame エクスポートが配置されているリポジトリの名前。
-name exportname インポートに使用するエクスポートの名前。
-ckptFreq mb インポートされたMB数に基づくチェックポイント頻度。そのMB数がインポートされるたびに、チェックポイントが書き込まれます。デフォルトでは、インポート中にチェックポイントは書き込まれません。
-updateStats インポートされた各表の統計を更新します。

また、次の「ノート」も参照してください。

-estimateStats pct 各表の指定された割合の行を読み取ることによって、インポートされる各表の統計を見積もります。

また、次の「ノート」も参照してください。

-numThreads num 指定されたスレッド数を使用して、データベース・オブジェクトをパラレルでリストアします。

有効な値は1から32までです。デフォルト値は4です。


この例では、「データベースのエクスポート(dbExport)」の例で作成したエクスポートをデータベースimp_db1にインポートします。

% ttGridAdmin dbImport imp_db1 -repository repo1 -name exp_db1
dbImport exp_db1 started

その後、「データベース・インポートのステータスの表示(dbImportStatus)」の例に示すように、dbImportStatusを使用して進行状況をチェックします。各要素とデータベース全体が完了と示されていると、インポートは終了です。

ノート

  • dbImportを実行するときには、データベースはすでに作成されてロードされている必要があり、またデータベースには分散マップが必要ですが、データベースはクローズされてすべての接続がクローズされている必要があります。

  • -estimateStatsおよび-updateStatsの両方を指定した場合、インポートされた表の統計は更新されますが、見積もられません。

  • インポートは、非同期的に行われます。進行状況をチェックするには、dbImportStatusコマンドを使用します。

  • ある時点で1つのデータベースに対して実行できるdbImportコマンドは1つのみとなり、dbImportdbExportと同時に実行することはできません。

  • -ckptFreq-updateStats-estimateStatsの各オプションの機能は、ttMigrateユーティリティの同等のオプションのものと同じです。「ttMigrate」を参照してください。

  • ディスク領域の要件は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータベースのエクスポートおよびインポートに関する説明を参照してください。

データベース・インポートのステータスの表示(dbImportStatus)

dbImportStatusコマンドは、以前に開始された1つのデータベース・インポートのステータスを表示します。

ttGridAdmin dbImportStatus dbname
                           [-name exportname]

オプション

dbImportStatusコマンドには、次のオプションがあります。

オプション 説明
dbname インポートをチェックするデータベースの名前。
-name exportname データのインポート元となるエクスポートの名前。同じデータベースに対して複数のインポートがある、一般的でないシナリオでこのオプションを使用できます(使用しない場合、すべてのインポートのステータスが表示されます)。

この例では、「データベースのインポート(dbImport)」の例に示したインポートが完了したときにステータスを表示しています。

% ttGridAdmin dbImportStatus imp_db1 -name exp_db1
Database Import  Repository Host  Instance  Elem State                  Started
-------- ------- ---------- ----- --------- ---- ---------------------- ------------------------
imp_db1  exp_db1 repo1                           Import_Finale_Complete 2016-07-25T17:53:27.000Z
                            host1 instance1    1 Import_Rows_Complete
                            host3 instance1    3 Import_Rows_Complete

ノート

インポートが完了したと思われる場合は、dbImportStatusの結果を参照して、インポート全体および各インスタンスに対してCompleteが示されていることを確認します。失敗があった場合は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベース・インポートのステータスのチェックに関する説明を参照してください。

インストール操作

この項ではttGridAdminコマンドを使用して、モデルでのTimesTenインストールの定義、グリッド内のすべてのインストールのリスト、すべてのインストールのステータスの表示、インストールの削除、またはすべてのインストールでのコマンドの実行を行います。

インストールの作成(installationCreate)

installationCreateコマンドは、モデルにTimesTenインストールを定義します。

ttGridAdmin installationCreate hostname[.installname]
                               -location path
                               [-source where]
                               [-comment comment]

オプション

installationCreateコマンドには、次のオプションがあります。

オプション 説明
hostname[.installname] hostnameはインストールを作成するホストの名前で、必要に応じてinstallnameを指定してモデルでのインストールの名前を指定できます。デフォルトはinstallation1です。
-location path 指定したホストでの、インストールを作成するディレクトリへのパス。指定したディレクトリは、存在する必要はありませんが、存在する場合には空である必要があります。
-source where インストールのコピー元の場所。この場所は、グリッドの一部であるシステム上にある必要はありません。必要に応じて、次のいずれかの形式で指定できます。
/path
address:/path
address!/path
[address]:/path

pathがディレクトリの場合は、既存のTimesTenインストールの最上位のtt18.1.4.1.0ディレクトリである必要があります。ファイルの場合は、TimesTenインストールに展開される.zipファイルである必要があります。addressはDNS名またはIPアドレスです。

addressを指定した場合は、パスワードなしSSHを使用して、そのアドレスを持つシステムからインストール・ソースをフェッチします。IPv6アドレスのようにアドレス自体にコロンがある場合は、4つ目の形式を使用する必要があります。

デフォルトは、ttGridAdminの実行元であるアクティブ管理インスタンスに関連付けられたインストールの場所です。

また、「アドレス形式」も参照してください。

-comment comment インストール・オブジェクトにコメントを関連付けます。空白がある場合には、コメントを引用符で囲みます。コメントは、installationListコマンドの出力に格納され、含められます。

ホストmysys4hostのインストールを作成し、デフォルトのソースの場所を使用します。(この例は、mysys1から実行されました。)

% ttGridAdmin installationCreate mysys4host.installcreate 
-location /sw/tten/grid/ttinstls/installcreate
Installation installcreate on Host mysys4host created in Model

今回は、ソースの場所を指定します。

% ttGridAdmin installationCreate mysys4host.installcreate2
-location /sw/tten/grid/ttinstls/installcreate2 -source 
mysys1:/sw/tten/grid/ttinstls/myinstl/tt18.1.4.1.0
Installation installcreate2 on Host mysys4host created in Model

ノート

  • このコマンドは、物理インストールを作成しません。これは、モデルにインストール・オブジェクトを定義します。(modelApplyコマンドがインストールを作成します。)

  • 同じTimesTenリリースの複数のインストール・オブジェクトが、同じ物理インストールを指すことができます。ただし、異なるリリースからのインストールに対して同じホスト上の同じ場所を指定することはできません。

インストールの削除(installationDelete)

installationDeleteコマンドは、モデルからインストールを削除します。これは、指定されたホストで指定されたインストール(場合によっては唯一のインストール)を削除します。

ttGridAdmin installationDelete hostname[.installname]

オプション

installationDeleteコマンドにはオプションがあります。

オプション 説明
hostname[.installname] hostnameは、インストールを削除するホストの名前です。installnameは、削除するインストールの名前で、ホストにインストールが複数ある場合にのみ必須です。

この例では、installcreate2はホストにある唯一のインストールです。

% ttGridAdmin installationDelete mysys4host
Installation installcreate2 on Host mysys4host deleted from Model

ノート

  • 指定したホスト上のインスタンスによって引き続き使用されるインストールを削除することはできません。

  • このコマンドは、モデルからインストール・オブジェクトは削除しますが、物理インストールは削除しません。それらのファイルは、今後使用されることはないという確信がある場合に、手動で削除してください。

グリッド・インストールでのコマンドまたはスクリプトの実行(installationExec)

installationExecコマンドは、指定に従い、グリッド内のインストールで、コマンド(システム・コマンドやTimesTenコマンドなど)またはスクリプトを実行します。

ttGridAdmin installationExec [-only hostname[.installname]]
                             [-exclude hostname[.installname]]
                             [-parallel n]
                             command | -script filepath

コマンドまたはスクリプトを実行すると、TIMESTEN_INSTALL環境変数はモデルに定義されているインストールの完全修飾パス名を含めるように設定されます。

オプション

installationExecコマンドには、次のオプションがあります。

オプション 説明
-only hostname[.installname] コマンドまたはスクリプトは、指定したインストールに対してのみ実行されます。-onlyでは1つのインストールのみを指定しますが、コマンドラインで-onlyを複数回使用できます。

モデルに定義されているホスト名およびインストール名を使用します。それがホストにある唯一のインストールである場合は、インストール名を含める必要はありません。

-exclude hostname[.installname] コマンドまたはスクリプトは、インストールを指定した場合を除き、グリッド内のすべてのインストールで実行されます。-excludeでは1つのインストールのみを指定しますが、コマンドラインで-excludeを複数回使用できます。

モデルに定義されているホスト名およびインストール名を使用します。それがホストにある唯一のインストールである場合は、インストール名を含める必要はありません。

-parallel n コマンドまたはスクリプトが最大n個のインストールで同時に実行されることを指定します。デフォルトは10です。値が1の場合はシリアルに実行されます。
command | -script filepath commandには、実行するコマンドを指定します。

または:

-script filepathには、実行するシェル・スクリプトのパスと名前を指定します。スクリプトは、ローカル・システム上に存在する必要があり、各インストールにコピーされます。


この例では、各インストールのファイル・システム上のディスク領域使用量を確認します。

% ttGridAdmin installationExec df '$TIMESTEN_INSTALL'
Commands executed on:
  mysys2host.installation1 rc 0
  mysys4host.installadc rc 0
  mysys1host.installation1 rc 0
  mysys3host.installslc rc 0
Return code from mysys2host.installation1: 0
Output from mysys2host.installation1:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           117144964  42660228  68534120  39% /
Return code from mysys4host.installadc: 0
Output from mysys4host.installadc:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           117144964  42660228  68534120  39% /
Return code from mysys1host1.installation1: 0
Output from mysys1host.installation1:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           173483816  57971304 106700020  36% /
Return code from mysys3host.installslc: 0
Output from mysys3host.installslc:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           173483816  57971312 106700012  36% /

ノート

  • コマンドまたはスクリプトは、各インストールでパスワードなしSSHを介してインスタンス管理者として実行します。

  • 実行がタイムアウト前に完了しなかった場合、コマンドは2000を返します。

  • 実行中に、stdoutおよびstderrの出力が、installationExecコマンドからのstdoutおよびstderrの出力の一部として表示されます。出力はバッファに入れられるため、異なるコマンドからの出力が混在することはありません。

インストールのリスト(installationList)

installationListコマンドは、モデル内のすべてのTimesTenインストールをリストします。

ttGridAdmin installationList [-latest|-current|-version n]
                             [-instance]

オプション

installationListコマンドには、次のオプションがあります。

オプション 説明
-latest 最新の(進行中の)モデル内のインストールをリストします。これらはグリッドにまだ適用されていません。これはデフォルトです。
-current 現在のモデル(現時点でグリッドに適用されているモデル)内のインストールをリストします。
-version n 指定したバージョン番号のモデル内のインストールをリストします。
-instance 各インストールを使用しているインスタンスを表示します。インスタンスにまだ関連付けられていないインストールは表示されません。

この例では、最新の(進行中の)モデル内のインストールをリストします。

% ttGridAdmin installationList
Host        Install        Location                                      Comment
----------- -------------  -------------------------------------------   -------
mysys1host  installation1  /sw/tten/grid/ttinstls/myinstl/tt18.1.4.1.0/
mysys2host  installation1  /sw/tten/grid/ttinstls/myinstl/tt18.1.4.1.0/
mysys3host  installcreate1 /sw/tten/grid/ttinstls/installcreate1/
mysys4host  installcreate1 /sw/tten/grid/ttinstls/installcreate1/

この例では、インスタンスに関連付けられている最新モデル内のインストールをリストします。

% ttGridAdmin installationList -instance
Host        Install       Instance  Location                                     Comment
----------- ------------- --------  -------------------------------------------- -------
mysys1host  installation1 gridmgmt1 /sw/tten/grid/ttinstls/myinstl/tt18.1.4.1.0/
mysys2host  installation1 gridmgmt1 /sw/tten/grid/ttinstls/myinstl/tt18.1.4.1.0/

インストールのステータスの表示(installationStatus)

installationStatusコマンドは、グリッドに関連付けられているすべてのインストールのステータスを表示します。これは、モデル内のインストールのステータスではなく、物理インストールのステータスです。

ttGridAdmin installationStatus

% ttGridAdmin installationStatus
Host        Install           Usable DelPend Message When
----------- ----------------- ----   ------- ------- -------------------
mysys1host  installation1     Yes    N               2016-11-01 14:49:31
mysys2host  installation1     Yes    N               2016-11-01 14:49:31
mysys3host  installcreate2slc Yes    N               2016-11-01 14:49:31
mysys4host  installcreate2adc Yes    N               2016-11-01 14:49:31

DelPendエントリは、削除が保留中かどうかを示します。その場合、installationDeleteは実行されたものの、更新されたモデルがまだ適用されず、物理インストールは削除されていません。

インスタンス操作

この項ではttGridAdminコマンドを使用して、モデルでのTimesTen Scaleoutインスタンスの定義、インスタンスの変更、インスタンスの削除、グリッド内のインスタンスのリスト、グリッド内のインスタンスのステータスの表示、インスタンスの構成ファイルのインポートまたはエクスポート、またはグリッド内のインスタンスでのコマンドの実行を行います。

インスタンス構成属性のエクスポート(instanceConfigExport)

instanceConfigExportコマンドは、指定したバージョンのモデルから、instanceConfigImportを使用して以前にインポートした構成属性設定をエクスポートします。

ttGridAdmin instanceConfigExport [-latest|-current|-version n]
                                 [filepath]

オプション

instanceConfigExportコマンドには、次のオプションがあります。

オプション 説明
-latest グリッドにまだ適用されていない最新モデルにインポートされた構成属性設定をエクスポートします。これはデフォルトです。
-current 現在のモデル(現時点でグリッドに適用されているモデル)にインポートされた構成属性設定をエクスポートします。
-version n 指定したバージョンのモデルにインポートされた構成属性設定をエクスポートします。
filepath 構成属性設定のエクスポート先ファイルのパスと名前。ファイルを指定しないと、情報はstdoutに書き込まれます。

この例では、次の項のインスタンス構成属性のインポート(instanceConfigImport)に示されているインポートの後に、モデルの現在のバージョンおよび最新の(デフォルトの)バージョンのモデルから構成属性設定をエクスポートします。エクスポート・ファイルの内容も表示されます。

% ttGridAdmin instanceConfigExport -current /tmp/instanceconfigexp1
% more /tmp/instanceconfigexp1
max_conns_per_server=500
% ttGridAdmin instanceConfigExport /tmp/instanceconfigexp2
% more /tmp/instanceconfigexp2
max_conns_per_server=1000

ノート

このコマンドは、以前にインポートされた設定のみをエクスポートし、timesten.confファイルのそれ以外の設定はエクスポートしません。

インスタンス構成属性のインポート(instanceConfigImport)

instanceConfigImportコマンドは、グリッド内のすべてのインスタンスで使用されるように、構成属性設定を最新バージョンのモデルにインポートします。

ttGridAdmin instanceConfigImport [filepath]

modelApplyを実行すると、各インスタンスの構成ファイルはインポートした属性を含むように更新されます。変更を有効にするには、各インスタンスでTimesTenデーモンを再起動する必要があります。

インポートできない属性のリストは、次の「ノート」を参照してください。

オプション

instanceConfigImportコマンドにはオプションがあります。

オプション 説明
filepath 構成属性設定のインポート元であるファイルのパスと名前。ファイルを指定しないと、情報はstdinから読み込まれます。

このファイルからインポートします。

% more /tmp/instanceconfigimp1
# Set maximum number of connections.
max_conns_per_server=500
% ttGridAdmin instanceConfigImport /tmp/instanceconfigimp1
Instance configuration file /tmp/instanceconfigimp1 imported

モデルを適用します(出力は表示されません)。

% ttGridAdmin modelApply
...
ttGridAdmin modelApply complete

今度はこのファイルからインポートします。

% more /tmp/instanceconfigimp2
# Set maximum number of connections.
max_conns_per_server=1000
% ttGridAdmin instanceConfigImport /tmp/instanceconfigimp2
Instance configuration file /tmp/instanceconfigimp2 imported

これらのステップの後、最新バージョンのモデルの最大接続設定数は500で、モデルの現在のバージョンは1000の設定になります。これは、前の項インスタンス構成属性のエクスポート(instanceConfigExport)の例に示されています。

ノート

  • 例に示すように、インポートされる各エントリはname=valueという形式になっています。また、#で示されるコメントを含めることもできます。

  • timesten.confファイルは、modelApplyの実行時に更新されます。

  • 次の属性は、modelApplyコマンドがインスタンスを作成または構成すると自動的に設定され、インポートすることはできません。

    admin_uid
    admin_user
    client_only
    daemon_port
    grid_external_addr
    grid_guid
    grid_host
    grid_instance
    grid_internal_addr
    grid_name
    guid
    hostname
    instance_guid
    instance_name
    listen_addr
    server_port
    timesten_release
    tns_admin
    
  • TimesTen構成属性の詳細は、第1章「TimesTenインスタンスの構成ファイル」を参照してください。

インスタンスの作成(instanceCreate)

instanceCreateコマンドは、モデルにインスタンスを定義します。

ttGridAdmin instanceCreate  hostname[.instancename]
                            -location path
                            [-type management|data]
                            [-installation name]
                            [-daemonport n]
                            [-csport n]  
                            [-mgmtport n] 
                            [-comment comment]
                            [-walletDir path]

オプション

instanceCreateコマンドには、次のオプションがあります。

オプション 説明
hostname[.instancename] hostnameはインスタンスを作成するホストの名前で、必要に応じてinstancenameを指定してモデルでのインスタンスの名前を指定できます。デフォルトはinstance1です。
-location path 指定したホストでの、インスタンスを作成するディレクトリへのパス。指定されたディレクトリが存在する必要はありません。
-type management|data どのタイプのインスタンスを定義するかを指定します。デフォルトはデータ・インスタンスです。
-installation name インスタンスが使用するインストールの名前。このオプションは、ホストにインストールが1つのみ存在する場合には必要ありません。
-daemonport n インスタンスのTimesTenメイン・デーモンがリスニングするポート番号。デフォルトは6624です。

重要: システムに複数のインスタンス(管理インスタンスやデータ・インスタンスなど)を作成する場合は、一意のポート番号を指定する必要があります。

-csport n TimesTenクライアント/サーバーのサーバーがリスニングするポート番号。デフォルトは6625です。

重要: システムに複数のインスタンス(管理インスタンスやデータ・インスタンスなど)を作成する場合は、一意のポート番号を指定する必要があります。

-mgmtport n 管理インスタンスの場合、アクティブ管理インスタンス上の管理データがレプリケートされるときにレプリケーションによって使用されるポート番号。デフォルトは3754です。
-comment comment インスタンス・オブジェクトにコメントを関連付けます。空白がある場合には、コメントを引用符で囲みます。コメントは、instanceListコマンドの出力に格納され、含められます。
-walletDir path 作成されるインスタンスの場合は、このインスタンスの暗号化情報を含むOracle Walletが保存されるディレクトリへのパス。デフォルトは、timesten_home/infoです。

複数のインスタンスのウォレットを同じディレクトリに格納して、NFSを介するなどしてインスタンス間で共有できます。


% ttGridAdmin instanceCreate mysys3host.griddata1
-location /sw/tten/grid/ttinstances -daemonPort 20000 -csPort 21000
Instance griddata1 on Host mysys3host created in Model

ノート

  • このコマンドは、物理インスタンスを作成しません。これは、モデルにインスタンス・オブジェクトを定義します。modelApplyコマンドが物理インスタンスを作成します。

  • 次の前提条件に注意してください。

    • ホストにインストール・オブジェクトが関連付けられている必要があります。installationCreateコマンドを使用します。

    • データ・インスタンスの場合、ホストがデータ領域グループに存在する必要があります。そうでない場合は、モデルの適用時に物理インスタンスを作成できません。

      hostListコマンドを使用して、ホストがデータ領域グループに属しているかどうかを確認できます。また、必要に応じてhostModifyコマンドを使用して、データ領域グループを割り当てることができます。

  • timesten_homeディレクトリは、location/nameになります。この例では、場所は/sw/tten/ttinstancesで、インスタンス名はgriddata1で、timesten_home/sw/tten/ttinstances/griddata1になります。

  • 一部のインスタンス設定は、後で必要に応じてinstanceModifyコマンドを介して変更できます。

インスタンスの削除(instanceDelete)

instanceDeleteコマンドは、モデルからインスタンスを削除します。

ttGridAdmin instanceDelete hostname[.instancename]

オプション

instanceDeleteコマンドにはオプションがあります。

オプション 説明
hostname[.instancename] hostnameは、インスタンスを削除するホストの名前です。instancenameは、削除するインスタンスの名前で、ホストにインスタンスが複数ある場合にのみ必須です。

この例では、griddata1はホストにある唯一のインスタンスです。

% ttGridAdmin instanceDelete mysys3host
Instance griddata1 on Host mysys3host deleted from Model

ノート

  • このコマンドは、まずインスタンスがまだ停止していない場合には停止します。

  • このコマンドは、モデルからインスタンス・オブジェクトを削除します。これは、物理インスタンスは削除しません。(modelApplyコマンドがインスタンスを削除します。)

  • モデル内の他のオブジェクトで引き続き使用されるインスタンスは削除できません。

  • データベース要素が含まれているインスタンスは削除できません。

グリッド・インスタンスでのコマンドまたはスクリプトの実行(instanceExec)

instanceExecコマンドは、指定に従い、グリッド内のインスタンスで、コマンド(システム・コマンドやTimesTenコマンドなど)またはスクリプトを実行します。

ttGridAdmin instanceExec [-only hostname[.instancename]]
                         [-exclude hostname[.instancename]]
                         [-parallel n]
                         [-type all|management|data]
                         [-up]
                          command | -script filepath

オプション

instanceExecコマンドには、次のオプションがあります。

オプション 説明
-only hostname[.instancename] コマンドまたはスクリプトは、指定したインスタンスに対してのみ実行されます。-onlyでは1つのインスタンスのみを指定しますが、コマンドラインで-onlyを複数回使用できます。

モデルに定義されているインスタンス名およびインストール名を使用します。それがホストにある唯一のインスタンスである場合は、インスタンス名を含める必要はありません。

-exclude hostname[.instancename] コマンドまたはスクリプトは、インスタンスを指定した場合を除き、グリッド内のすべてのインスタンスで実行されます。-excludeでは1つのインスタンスのみを指定しますが、コマンドラインで-excludeを複数回使用できます。

モデルに定義されているインスタンス名およびインストール名を使用します。それがホストにある唯一のインスタンスである場合は、インスタンス名を含める必要はありません。

-parallel n コマンドまたはスクリプトが最大n個のインスタンスで同時に実行されることを指定します。デフォルトは10です。値が1の場合はシリアルに実行されます。
-type all|management|data コマンドまたはスクリプトが、すべてのインスタンス(デフォルト)、管理インスタンスのみ、またはデータ・インスタンスのみのいずれに対して実行されるかを指定します。

これは、-only-excludeと組み合せて使用できます。

-up コマンドまたはスクリプトが現在のメンバーシップに属するインスタンスでのみ実行されることを指定します。デフォルトでは、すべてのインスタンスで(それらが実行されているかどうかに関係なく)コマンドを実行します。
command | -script filepath commandには、実行するコマンドを指定します。

または:

-script filepathには、実行するシェル・スクリプトのパスと名前を指定します。スクリプトは、ローカル・システム上に存在する必要があり、各インスタンスにコピーされます。


各データ・インスタンスで、この例では/dataの下にディレクトリdatabasesおよびlogsを作成しています(これらのディレクトリがすでに存在しても、エラーは発生しません)。

% ttGridAdmin instanceExec -type data mkdir -p /data/{databases,logs}
Overall return code: 0
Commands executed on:
  mysys6host.griddata4 rc 0
  mysys5host.griddata3 rc 0
  mysys3host.griddata1 rc 0
  mysys4host.griddata2 rc 0
Return code from mysys6host.griddata4: 0
Output from mysys6host.griddata4:
Return code from mysys5host.griddata3: 0
Output from mysys5host.griddata3:
Return code from mysys3host.griddata1: 0
Output from mysys3host.griddata1:
Return code from mysys4host.griddata2: 0
Output from mysys4host.griddata2:

この例では、mysys5host.griddata3でTimesTenデーモンを起動します(そのインスタンス上の要素が停止した場合などに役立ちます)。

% ttGridAdmin instanceExec -only mysys5host.griddata3 ttDaemonAdmin -start
Overall return code: 0
Commands executed on:
  mysys5host.griddata3 rc 0
Return code from mysys5host.griddata3: 0
Output from mysys5host.griddata3:
TimesTen Daemon (PID: 7586, port: 6624) startup OK.

この例では、データ・インスタンスごとにttIsql monitorコマンドを実行してからttIsqlを終了します。(ttIsql接続出力およびモニタリング出力の選択した部分のみが表示されます。)

% ttGridAdmin instanceExec -type data 'ttIsql -e "monitor;quit" -dsn database1'
Overall return code: 0
Commands executed on:
  mysys4host.griddata2 rc 0
  mysys5host.griddata3 rc 0
  mysys6host.griddata4 rc 0
  mysys3host.griddata1 rc 0
Return code from mysys4host.griddata2: 0
Output from mysys4host.griddata2:
 
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
 
connect "DSN=database1";
Connection successful: DSN=database1;...
 
monitor;
 
  TIME_OF_1ST_CONNECT:         Fri Aug  3 13:47:42 2018
  ...
  PERM_ALLOCATED_SIZE:         262144
  PERM_IN_USE_SIZE:            29997
  PERM_IN_USE_HIGH_WATER:      29997
  TEMP_ALLOCATED_SIZE:         131072
  TEMP_IN_USE_SIZE:            19146
  TEMP_IN_USE_HIGH_WATER:      22352
  ...
 
quit;
Disconnecting...
Done.
Return code from mysys5host.griddata3: 0
Output from mysys5host.griddata3:
 
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
 
connect "DSN=database1";
Connection successful: DSN=database1;...
 
monitor;
 
  TIME_OF_1ST_CONNECT:         Fri Aug  3 13:47:41 2018
  ...
  PERM_ALLOCATED_SIZE:         262144
  PERM_IN_USE_SIZE:            29916
  PERM_IN_USE_HIGH_WATER:      29932
  TEMP_ALLOCATED_SIZE:         131072
  TEMP_IN_USE_SIZE:            19613
  TEMP_IN_USE_HIGH_WATER:      22819
  ...
 
quit;
Disconnecting...
Done.
Return code from mysys6host.griddata4: 0
Output from mysys6host.griddata4:
 
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
 
connect "DSN=database1";
Connection successful: DSN=database1;...
 
monitor;
 
  TIME_OF_1ST_CONNECT:         Fri Aug  3 13:47:41 2018
  ...
  PERM_ALLOCATED_SIZE:         262144
  PERM_IN_USE_SIZE:            29981
  PERM_IN_USE_HIGH_WATER:      29981
  TEMP_ALLOCATED_SIZE:         131072
  TEMP_IN_USE_SIZE:            19344
  TEMP_IN_USE_HIGH_WATER:      22550
  ...
 
quit;
Disconnecting...
Done.
Return code from mysys3host.griddata1: 0
Output from mysys3host.griddata1:
 
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
 
connect "DSN=database1";
Connection successful: DSN=database1;...
 
monitor;
 
  TIME_OF_1ST_CONNECT:         Fri Aug  3 13:47:40 2018
  ...
  PERM_ALLOCATED_SIZE:         262144
  PERM_IN_USE_SIZE:            29965
  PERM_IN_USE_HIGH_WATER:      29965
  TEMP_ALLOCATED_SIZE:         131072
  TEMP_IN_USE_SIZE:            19281
  TEMP_IN_USE_HIGH_WATER:      22486
  ...
 
quit;
Disconnecting...
Done.

ノート

  • コマンドまたはスクリプトは、各インスタンスでパスワードなしSSHを介してインスタンス管理者として実行します。

  • 環境変数(TIMESTEN_HOMECLASSPATHPATHLD_LIBRARY_PATHなど)は、インスタンスごとに適切に設定されています。

  • 実行がタイムアウト前に完了しなかった場合、コマンドは2000を返します。

  • 実行中に、stdoutおよびstderrの出力が、instanceExecコマンドからのstdoutおよびstderrの出力の一部として表示されます。出力はバッファに入れられるため、異なるコマンドからの出力が混在することはありません。

インスタンスのリスト(instanceList)

instanceListコマンドは、指定したバージョンのモデル内のインスタンスに関する情報をリストします。

ttGridAdmin instanceList [-latest|-current|-version n]
                         [-type all|management|data]
                         [-install]

オプション

instanceListコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)内のインスタンスをリストします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)内のインスタンスをリストします。
-version n 指定したバージョン番号のモデル内のインスタンスをリストします。
-type all|management|data リスト対象を、すべてのインスタンス(デフォルト)、管理インスタンスのみ、またはデータ・インスタンスのみのいずれにするかを指定します。
-install 各インスタンスに関連付けられたインストール・オブジェクトを表示します。

この例は、2つのシステムのそれぞれに2つのホストがあるグリッド用です。各システムで、1つのホストには管理インスタンスがあり、もう1つのホストにはデータ・インスタンスがあります。デフォルトでは、最新のモデル(変更中であり、まだ適用されていないモデル)内にあるデータ・インスタンスと管理インスタンスがリストされます。

% ttGridAdmin instanceList
Host        Instance  Type Instance Home                        Port  CSPort MgmtPort Comment
----------- --------- ---- -----------------------------------  ----- ------ -------- -------
mysys1host  gridmgmt1 Mgmt /sw/tten/grid/ttinstances/gridmgmt1/ 10000  11000    3754
mysys2host  gridmgmt1 Mgmt /sw/tten/grid/ttinstances/gridmgmt1/ 10000  11000    3754
mysys3host  griddata1 Data /sw/tten/grid/ttinstances/griddata1/ 20000  21000
mysys4host  griddata2 Data /sw/tten/grid/ttinstances/griddata2/ 20000  21000

また、この例では、関連するインストール・オブジェクトも表示しています(「Comment」列は省略)。

% ttGridAdmin -instanceList -install
Host        Instance  Installation  Type  Instance Home                       Port  CSPort MgmtPort
----------- --------- ------------- ----  ----------------------------------- ----- ------ -------- 
mysys1host  gridmgmt1 installation1 Mgmt /sw/tten/grid/ttinstances/gridmgmt1/ 10000  11000    3754
mysys2host  gridmgmt1 installation1 Mgmt /sw/tten/grid/ttinstances/gridmgmt1/ 10000  11000    3754
mysys3host  griddata1 installation1 Data /sw/tten/grid/ttinstances/griddata1/ 20000  21000
mysys4host  griddata2 installation1 Data /sw/tten/grid/ttinstances/griddata2/ 20000  21000

インスタンスの変更(instanceModify)

instanceModifyコマンドは、モデル内の既存のインスタンス・オブジェクトを変更します。

ttGridAdmin instanceModify hostname[.instancename]
                           [-installation name]
                           [-mgmtPort n]
                           [-comment comment]

オプション

instanceModifyコマンドには、次のオプションがあります。

オプション 説明
hostname[.instancename.] hostnameは、インスタンスを変更するホストの名前です。instancenameは、変更するインスタンスの名前で、ホストにインスタンスが複数ある場合にのみ必須です。
-installation name モデル内のインストールの名前で指定されている、ホスト上の別のインストールにインスタンスを関連付けます。
-mgmtPort n 管理インスタンスの場合、アクティブ管理インスタンス上の管理データがレプリケートされるときにレプリケーションで使用される新しいポート番号。これに対する変更は、コマンドの発行時点で管理インスタンスが1つである場合にのみ可能ですが、この変更が重要になるのは、管理インスタンスを2つにする予定がある場合のみです。
-comment comment インスタンス・オブジェクトにコメントを関連付けるか、既存のコメントを変更します。空白がある場合には、コメントを引用符で囲みます。コメントは、instanceListコマンドの出力に格納され、含められます。

この例では、griddata1はホストにある唯一のインスタンスです。

% ttGridAdmin instanceModify mysys3host -installation altinstall -comment 
Change_from_installcreate1
Instance griddata1 on Host mysys3host modified in Model

(複数語のコメントがある場合は、コメントを引用符で囲まなくてもよいように、空白ではなくアンダースコアを使用してください。)

ノート

  • このコマンドは、目的のリリースのインストールを指すことで、TimesTenのバージョンにパッチを適用したり、バージョンをアップグレードするためによく使用されます。

  • 後続のmodelApplyコマンドでinstanceModifyの更新を適用した場合、その時点ではインスタンスは停止せず、再構成されません。かわりに、次回インスタンスが起動したときに、TimesTen Scaleoutはインスタンス構成がモデルに一致しないことを検出して、適切に再構成します。

インスタンスのステータスの表示(instanceStatus)

instanceStatusコマンドは、グリッド内のインスタンスのステータスに関する情報をJSON形式で表示します。

ttGridAdmin instanceStatus [-type all|management|data]

オプション

instanceStatusコマンドにはオプションがあります。

オプション 説明
-type all|management|data 表示対象を、すべてのインスタンス(デフォルト)、管理インスタンスのみ、またはデータ・インスタンスのみのいずれにするかを指定します。

管理インスタンス操作

この項ではttGridAdminコマンドを使用して、1つ以上の管理インスタンスの起動、停止、切替え、調査、またはステータスのチェックを行います。適切な管理インスタンスからコマンドを実行します。


ノート:

通常、アクティブとスタンバイという2つの管理インスタンスがあります。グリッド管理機能を実行するには、管理インスタンスをアクティブ・インスタンスとして起動する必要があり、これはttGridAdminから実行できます。(当初、グリッドの作成元のインスタンスがアクティブ管理インスタンスになります。)

『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のグリッドの構成に関する説明を参照してください。


関連情報は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』の管理インスタンスのフェイルオーバーの管理に関する説明を参照してください。

アクティブ管理インスタンスの起動(mgmtActiveStart)

mgmtActiveStartコマンドは、現在の管理インスタンス(コマンドの実行元)をアクティブ管理インスタンスとして起動します。

ttGridAdmin mgmtActiveStart

% ttGridAdmin mgmtActiveStart
This management instance is now the active

ノート

  • 現在の管理インスタンスは、前もって停止しておく必要があります。

  • アクティブ・インスタンスとして起動されている別の管理インスタンスにすることはできません。

アクティブ管理インスタンスの停止(mgmtActiveStop)

mgmtActiveStopコマンドは、アクティブ管理インスタンスを停止します。

ttGridAdmin mgmtActiveStop

このコマンドは、通常、グリッドの停止における最後のステップとして使用します。そうではなく、管理インスタンスが2つある場合は、かわりにmgmtActiveSwitchを使用することをお薦めします。

% ttGridAdmin mgmtActiveStop
Active management instance stopped 

ノート

  • このコマンドを2つの管理インスタンスがあるグリッドで使用する場合(グリッドを停止していないかぎり、お薦めしません)、それはアクティブ管理インスタンスまたはスタンバイ管理インスタンスから実行できます。スタンバイ管理インスタンスをアクティブ管理インスタンスに昇格させるために自動的に行われることは何もありません。(「mgmtActiveSwitch」を参照してください。)

  • データ・インスタンスが実行されている場合、現時点でそのインスタンスにロードされているデータベース要素は動作を継続します。

  • アクティブ管理インスタンスを再起動するまで、管理操作は実行できません。

  • データ・インスタンスが停止または失敗した場合、そのインスタンスはアクティブ管理インスタンスを再起動するまで再起動できません。

アクティブ管理インスタンスの切替え(mgmtActiveSwitch)

mgmtActiveSwitchコマンドは、現在のスタンバイ管理インスタンスから実行され、そのインスタンスがアクティブ管理インスタンスになります。元のアクティブ管理インスタンスは、到達可能であれば停止します。

ttGridAdmin mgmtActiveSwitch [-force]

オプション

mgmtActiveSwitchコマンドにはオプションがあります。

オプション 説明
-force このコマンドの実行元の管理インスタンスがスタンバイ管理インスタンスとして明確に識別できない場合や、アクティブ管理インスタンスになるには不適格である場合にも、このコマンドが有効になることを指定します。

重要: -forceを使用すると、データが著しく失われる可能性があります。最後の手段としてのみ使用してください。


% ttGridAdmin mgmtActiveSwitch
This is now the active management instance

ノート

  • このコマンドは、通常、アクティブ管理インスタンスに障害が発生した場合に使用します。

  • 元のアクティブ管理インスタンスがバックアップされている場合、mgmtStandbyStartを使用してスタンバイとして起動できます。

  • グリッド内のすべてのデータ・インスタンスが、以前のアクティブ管理インスタンスから新しいアクティブ管理インスタンスに自動的にフェイルオーバーされます。

管理インスタンスの調査(mgmtExamine)

mgmtExamineコマンドは、管理インスタンスを調べて、必要な修正処理を推奨します。推奨されたコマンドを実行します。

ttGridAdmin mgmtExamine

この例では、両方の管理インスタンスが稼働している場合の出力を示しています。どちらも稼働していることを示す行が冒頭にある以外は、出力はmgmtStatusコマンドの場合と同じです。列の詳細は、「管理インスタンスのステータスの表示(mgmtStatus)」を参照してください。(この例では、簡略にするため、エントリのなかったMessage列は表示していません。)

% ttGridAdmin mgmtExamine
Both active and standby management instances are up. No action required.
 
Host        Instance  Reachable RepRole(Self) Role(Self) Seq RepAgent RepActive
----------- --------- --------- ------------- ---------- --- -------- ---------
mysys1host  gridmgmt1 Yes       Active        Active     554 Up       Yes
mysys2host  gridmgmt1 Yes       Standby       Standby    554 Up       No

この例では、推奨された処理や実行するコマンドなど、アクティブ管理インスタンスが停止している場合の出力を示しています。

% ttGridAdmin mgmtExamine
Standby management instance is up, but active is down
Promote the standby to active

Host        Instance  Reachable RepRole(Self) Role(Self) Seq RepAgent RepActive Message
----------- --------- --------- ------------- ---------- --- -------- --------- -------------------
----------------
mysys1host  gridmgmt1 No        Unknown       Unknown        Down     No        Management database 
is not available
mysys2host  gridmgmt1 Yes       Standby       Standby    557 Up       No            
Recommended commands:
ssh -o StrictHostKeyChecking=yes -o PasswordAuthentication=no -x host1.example.com 
/sw/tten/gridsetup/ttinstances/gridmgmt1/bin/ttenv ttGridAdmin mgmtActiveSwitch

ノート

1つの使用例として、両方の管理インスタンスに障害が発生し、どちらの管理インスタンスがアクティブであったかが明確でない場合をあげることができます。このコマンドを実行して両方を調べ、どちらが「現在」または「最新」の管理インスタンスであるかを判別し、その管理インスタンスをアクティブ管理インスタンスとして起動します。

スタンバイ管理インスタンスの起動(mgmtStandbyStart)

mgmtStandbyStartコマンドは、現在の管理インスタンス(コマンドの実行元)をスタンバイ管理インスタンスとして起動します。

ttGridAdmin mgmtStandbyStart

アクティブ管理インスタンスに障害が発生し、スタンバイをアクティブに昇格させた後、このコマンドを実行して元のアクティブ管理インスタンスが新しいスタンバイ管理インスタンスになるようにするなどのシナリオが一般的です。

% ttGridAdmin mgmtStandbyStart
Standby management instance started

ノート

  • インスタンスは、前もって停止しておく必要があります。

  • アクティブ管理インスタンスとして以前に起動されていた別の管理インスタンスが存在する必要があります。

  • このコマンドは、アクティブ管理インスタンスとスタンバイ管理インスタンスの間でレプリケーションを開始して、それらの間で管理データを同期します。

スタンバイ管理インスタンスの停止(mgmtStandbyStop)

mgmtStandbyStopコマンドは、スタンバイ管理インスタンスを停止します。

ttGridAdmin mgmtStandbyStop

% ttGridAdmin mgmtStandbyStop
Standby management instance stopped

ノート

  • このコマンドは、アクティブ管理インスタンスとスタンバイ管理インスタンスの両方が動作している場合には、どちらからでも実行できます。

  • 使用方法のシナリオは次のとおりです。

    • スタンバイに障害が発生した場合

    • 再起動やメンテナンスの実施などなんらかの理由でスタンバイを停止する場合

  • コマンドは、実行されたときに動作しているスタンバイ・インスタンスがないと、エラーで失敗します。

管理インスタンスのステータスの表示(mgmtStatus)

mgmtStatusコマンドは、管理インスタンスのステータス情報を表示します。

ttGridAdmin mgmtStatus

(また、「管理インスタンスの調査(mgmtExamine)」も参照してください。mgmtExamineコマンドは、レポートされた管理インスタンスの問題を修復するための処理を推奨します。)

% ttGridAdmin mgmtStatus
Host        Instance  Reachable RepRole(Self) Role(Self) Seq RepAgent RepActive
----------- --------- --------- ------------- ---------- --- -------- ---------
mysys1host  gridmgmt1 Yes       Active        Active     554 Up       Yes
mysys2host  gridmgmt1 Yes       Standby       Standby    554 Up       No

インスタンスごとに次が表示されます。

  • HostおよびInstanceは、インスタンスの名前およびそのインスタンスが存在するホストの名前を示します。

  • Reachableは、インスタンスの状態を判別するためにコマンドがインスタンスに正常に到達できたかどうかを示します。

  • RepRole(Self)は、管理インスタンス間でデータをレプリケートする際に記録されたインスタンスのロール(ある場合)を示します。

  • Role(Self)は、記録されたインスタンスのロール(ある場合)を示します。

  • Seqは、インスタンスに対する最新の変更の順序番号です。Seq値が同じ場合、2つの管理インスタンスは同期されます。それ以外の場合、Seq値の大きい方が最新のデータを保持します。

  • RepAgentは、レプリケーション・エージェントがインスタンスで実行されているかどうかを示します。

  • RepActiveは、mgmtStatusコマンドがインスタンス上の管理データに加えた変更が正常に完了したかどうかを示します。mgmtStatusコマンドは、各管理インスタンスの管理データを変更することを試みますが、このことは、スタンバイ管理インスタンスでは機能しません(読取り専用であるため)。

  • Messageには、インスタンスに関する追加の情報があります。(この例では、簡略にするため、この列は表示していません。)

メンバーシップ操作

この項ではttGridAdminコマンドを使用して、メンバーシップ・クライアント構成ファイルをエクスポートまたはインポートします。このファイルに変更を加えるというシナリオが一般的です。


ノート:

メンバーシップ構成ファイルはまず、グリッドを作成するときに、gridCreate -membershipConfigオプションに従って指定します。「グリッドの作成(gridCreate)」を参照してください。

メンバーシップ構成ファイルのエクスポート(membershipConfigExport)

membershipConfigExportコマンドは、指定されたバージョンのグリッド・モデルから指定されたファイルにメンバーシップ・クライアント構成ファイルの内容をエクスポートします。

ttGridAdmin membershipConfigExport [-latest|-current|-version n] 
                                   [filepath] 

オプション

membershipConfigExportコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)から構成ファイルをエクスポートします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)から構成ファイルをエクスポートします。
-version n 指定したバージョン番号のモデルから構成ファイルをエクスポートします。
filepath メンバーシップ・クライアント構成ファイルの内容を書き込むファイルのパスと名前。ファイルを指定しないと、構成はstdoutに書き込まれます。

% ttGridAdmin membershipConfigExport -latest /sw/tten/grid/zkcfg/membership2.conf

% cd /sw/tten/grid/zkcfg
% more membership2.conf
Servers zk1.example.com!2181,zk2.example.com!2181,zk3.example.com!2181

次の項の例では、このファイルをインポートします。

メンバーシップ構成ファイルのインポート(membershipConfigImport)

membershipConfigImportコマンドは、グリッドの最新モデルにあるメンバーシップ・クライアント構成ファイルを指定されたファイルに置き換えます。

ttGridAdmin membershipConfigImport filepath

また、「グリッドの作成(gridCreate)」gridCreate -membershipConfigオプションの情報も参照してください。

オプション

membershipConfigImportコマンドにはオプションがあります。

オプション 説明
filepath 新しいメンバーシップ構成が含まれているファイルのパスとファイル名。

この例では、前の項の例(次に再度示します)で作成したファイルをインポートします。

% cd /sw/tten/grid/zkcfg
% more membership2.conf
Servers zk1.example.com!2181,zk2.example.com!2181,zk3.example.com!2181

コマンドを実行します。

% ttGridAdmin membershipConfigImport /sw/tten/grid/zkcfg/membership2.conf
Membership configuration file /sw/tten/grid/zkcfg/membership2.conf imported

ノート

  • 新しいファイルに従ってメンバーシップ・クライアント構成に加えた変更は、modelApplyコマンドを実行するまで適用されません。

  • modelApplyを実行すると、指定されたファイルがグリッドの各インスタンスにコピーされ、各インスタンスでは次回インスタンスが再起動されたときにその設定が有効になります。

モデル操作

この項ではttGridAdminコマンドを使用して、グリッドへの最新バージョンのモデルの適用、モデルのバージョンの削除、JSONファイルへのモデルのバージョンのエクスポート、JSONファイルからのモデルのバージョンのインポート(最新のバージョンになります)、モデルの2つのバージョンの比較、またはモデルのすべてのバージョンに関する情報のリストを行います。


ノート:

モデルの最新バージョンとは、編集および更新のために保留中のバージョンです。これは、モデルにまだ適用されていません。モデルの現在のバージョンとは、モデルに適用された最新バージョンです。最新バージョンのモデルのみを編集できます。他のすべてのバージョンは読取り専用です。最新バージョンを適用すると、それが現在のバージョンになり、コピーが作成されて初期最新バージョンとして機能するようになります。

最新バージョンのモデルの適用(modelApply)

modelApplyコマンドは、グリッドにモデルの最新バージョンを適用して、以前の操作を実装します。これには、モデルに定義されているインストール・オブジェクトおよびインスタンス・オブジェクトに従って物理インストールおよび物理インスタンスを作成するなどのアクションがあります。

ttGridAdmin modelApply [-nostart]
                       [-details]

オプション

modelApplyコマンドには、次のオプションがあります。

オプション 説明
-nostart デフォルトでは、グリッドに新しいTimesTen Scaleoutインスタンスが作成されると、modelApplyコマンドが自動的に起動されます。-nostartを指定した場合、インスタンスは作成されますが起動されません。
-details コマンドによって実行されている操作に関する追加情報を表示します。

この例では、一般的な出力を示しています。

% ttGridAdmin modelApply
Creating new model version............................................OK
Exporting current model (version 1)...................................OK
Identifying any deleted objects.......................................OK
Verifying installations...............................................OK
Creating new installations............................................OK
Verifying instances...................................................OK
Creating new instances................................................OK
Updating grid state...................................................OK
Configuring instance authentication...................................OK
Pushing new configuration files to each instance......................OK
Making model version 1 current, version 2 writable....................OK
Checking ssh connectivity of new instances............................OK
Starting new management instance......................................OK
Configuring standby management instance...............................OK
ttGridAdmin modelApply complete

(出力は、モデルにインストールまたはインスタンスがすでに存在するかどうか、手動で作成されたものか、一部正常に完了した以前のmodelApplyコマンドからのものかなどの状況によって異なります。)

ノート

  • グリッドを作成すると、モデルのバージョン1が自動的に作成されます。modelApplyをグリッドで初めて実行すると、モデルのバージョン1が読取り専用になり、バージョン2が作成されます。バージョン2はバージョン1の正確なコピーとなり、読取り/書込みが可能です。その後、バージョン1がグリッドに適用されます。その後、モデルに変更を加えると、それがバージョン2になり、modelApplyが再度実行されると、バージョン3が作成されるというような処理が繰り返されます。モデルの書込み可能なバージョンが使用可能な状態で常に存在します。

  • ある時点において、グリッドにまだ適用されていない、モデルの書込み可能なバージョンは、最新のバージョンと呼ばれます。すでに適用されて、グリッドで動作しているバージョンは、現在のバージョンと呼ばれます。(現在のバージョンと以前のすべてのバージョンは読取り専用です。)

  • modelApplyコマンドは、グリッド内の各インスタンスと通信し、必要に応じて各インスタンスで構成ファイル(timesten.confを含む)を作成または更新します。コマンドは、これらの操作をできるかぎりパラレルで実行しますが、それでも、完了までに長い時間がかかる場合があります。モデルを適用する前に、ある目的の構成から別の目的の構成にするためのすべてのステップを完了してください。

  • ホストが停止している場合などもあるため、modelApplyが常にそのすべての操作を完了できるとはかぎりません。問題がある場合、modelApplyは管理インスタンスのdiagディレクトリにエラー・ログを作成し、それらのログの名前を示します。次回modelApplyを実行すると、新しい操作を完了することに加えて、前に失敗した操作を再度完了することが試みられます。

  • 詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のモデルに加えた変更の適用に関する説明を参照してください。

モデルの比較(modelCompare)

modelCompareコマンドは、モデルの2つのバージョンを比較し、両者間の変更のサマリーを表示します。

ttGridAdmin modelCompare -latest|-current|-version n
                         [-latest|-current|-version m]

オプション

modelCompareコマンドには、次のオプションがあります。

オプション 説明
-latest モデルの最新バージョン(変更されているものの、グリッドにまだ適用されていないモデル)が比較するバージョンの1つであることを指定します。

コマンドラインに1つのバージョンのみを指定した場合、デフォルトではそのバージョンが最新バージョンと比較されます。

-current モデルの現在のバージョン(グリッドに最近適用されたモデル)が比較するバージョンの1つであることを指定します。
-version n モデルのバージョンnが比較するバージョンの1つであることを指定します。
-version m モデルのバージョンmが比較するバージョンの1つであることを指定します。

この例では、現在のモデルと最新のモデルの間に物理グループlocation4が追加されたことを示しています。(他にはメタデータの違いが示されています。)

% ttGridAdmin modelCompare -current -latest
6,9c6,8
<   "version"     : 8,
<   "whenCreated" : "2016-12-02T13:13:05.000Z",
<   "applied" : true,
<   "whenApplied" : "2016-12-13T14:57:41.000Z",
---
>   "version"     : 9,
>   "whenCreated" : "2016-12-13T14:57:19.000Z",
>   "applied" : false,
11c10
<   "current" : true,
---
>   "current" : false,
31a31,33
>     },
>     {"type" : "physicalGroup" ,
>      "name" : "location4"

ノート

変更のサマリーは、UNIX diff形式で表示されます。

モデルのバージョンのエクスポート(modelExport)

modelExportコマンドは、指定されたモデルのバージョンのグリッドに関する情報を、通常は指定されたファイルにJSON形式でエクスポートします。

ttGridAdmin modelExport [-latest|-current|-version n] 
                        [filepath]

グリッド内での出力の階層は次のとおりです。

SQLNet
TNSNames
DataSpaceGroups
Hosts
   PhysicalGroups
   Installations
      Instances
Databases
   Connectables

オプション

modelExportコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)をエクスポートします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)をエクスポートします。
-version n 指定したバージョン番号のモデル内のデータベース定義オブジェクトをリストします。
filepath モデルのJSON表現が書き込まれるファイルのパスと名前。ファイルを指定しないと、エクスポートはstdoutに移動します。

モデルの現在のバージョン(バージョン4)をエクスポートします。これは、管理インスタンスから実行されます。

% pwd
/sw/tten/grid/ttinstances/gridmgmt1/bin
% ttGridAdmin modelExport -current /sw/tten/grid/models/model4export.json
Model version 4 exported to /sw/tten/grid/models/model4export.json

モデルの最新バージョン(バージョン5)をエクスポートします。これがエクスポートするデフォルト・バージョンです。これは、データ・インスタンスから実行されます。

% pwd
/sw/tten/grid/ttinstances/instance1/bin
% ttGridAdmin modelExport /sw/tten/grid/models/model5export.json
Model version 5 exported to /sw/tten/grid/models/model5export.json

出力ファイルは次のとおりです。

% pwd
/sw/tten/grid/models
% ls
model4export.json  model5export.json

ノート

  • メトリックとログはエクスポートされません。これらは、アクティブ管理インスタンスに存在しますが、このモデルの一部ではありません。

  • このコマンドは、管理インスタンスまたはデータ・インスタンスから実行できます。

  • modelExportを使用して、モデルのバックアップを作成できます。

モデルのバージョンのインポート(modelImport)

modelImportコマンドは、JSONファイル(多くの場合、modelExportコマンドを使用して以前にエクスポートされたもの)からモデルをインポートしてモデルの最新バージョンを更新したり、後でモデルを更新するために使用できるスクリプトを作成します。

ttGridAdmin modelImport [-script scriptpath] 
                        [filepath]

オプション

modelImportコマンドには、次のオプションがあります。

オプション 説明
-script scriptpath 指定した名前とパスでスクリプトを作成します。modelImportを実行しても、モデルは更新されません。かわりに、このようにして生成したスクリプトを後で実行して、インポートしたバージョンに準拠するようにモデルの最新バージョンを変更できます。これにより、事前に変更をレビューできます。

-scriptを指定しないと、最新モデルがただちに更新されます。

filepath モデルの表現の読取り元のJSONファイルのパスと名前。

filepathを指定しないと、入力はstdinから読み取られます。


モデルの最新バージョン(バージョン5)をエクスポートした後、モデルの最新バージョンに変更を加えたもののそれらの変更を適用せず、最終的にそれらの変更は必要ないと判断したというシナリオを考えてみます。変更を元に戻すには、以前にエクスポートしたファイルをインポートします。

% ttGridAdmin modelImport /sw/tten/grid/models/model5export.json
Model imported

-scriptオプションを指定しないと、モデルはすぐにインポートされます。

スクリプト・オプションを指定すると、スクリプトを作成して後で実行できます。

% ttGridAdmin modelImport /sw/tten/grid/models/model5export.json -script 
/sw/tten/grid/models/modelmodscript
Script /sw/tten/grid/models/modelmodscript created.

次に、生成したスクリプトの例を示します。

% pwd
/sw/tten/grid/models
% more modelmodscript
#!/bin/sh
# Created by ttGridAdmin -modelImport
TIMESTEN_HOME=/sw/tten/grid/ttinstances/gridmgmt
if [ -e $TIMESTEN_HOME/bin/ttenv.sh ]; then
 . $TIMESTEN_HOME/bin/ttenv.sh >/dev/null 2>&1
fi
# TNSNames unchanged
#Host mysys5host...
ttGridAdmin -hostCreate  mysys5host -internalAddress mysys5.example.com -externalAddress mysys5.example.com -physicalGroup location2
ttGridAdmin installationCreate mysys5host.installslc -location 
/sw/tten/grid/ttinstallations/installadc/
ttGridAdmin instanceCreate mysys5host.instance1 -installation installslc 
-location /sw/tten/grid/ttinstances/ -daemonPort 20000 -csPort 21000
#Host mysys3host...
#Host mysys1host...
#Host mysys2host...
#Host mysys4host...
#Dbdef database1
#Connectable unchanged!
#Connectable unchanged!
#DbDef unchanged!
#Dbdef TTGRIDADMIN
#Connectable unchanged!
#Connectable unchanged!
#DbDef unchanged!

ノート

  • modelImportコマンドは、モデルの最新バージョンをインポート対象のモデルと比較します。

  • モデルの最新バージョンに対する変更は、アトミック・トランザクションで行われません。各変更が個別のトランザクションで行われるため、ひとたび障害が発生すると、面倒な問題がもたらされます。

モデルのバージョンのリスト(modelList)

modelListコマンドは、モデルのバージョンをリストして、それぞれがいつ定義され、適用され、削除されたか(該当する場合)を示します。

ttGridAdmin modelList

% ttGridAdmin modelList
Version Created             Applied             Deleted
------- ------------------- ------------------- -------------------
      1 2016-10-06 12:59:26 2016-10-14 13:45:24 N/A
      2 2016-10-14 13:44:45 2016-10-14 14:33:47 N/A
      3 2016-10-14 14:33:05 2016-10-14 14:46:33 N/A
      4 2016-10-14 14:46:20 N/A                 N/A

Oracleデータベース操作

この項ではttGridAdminコマンドを使用して、Oracleデータベースに接続するためのsqlnet.ora構成またはTNS名のエントリをインポートまたはエクスポートします。

これらは、TimesTen ScaleoutのアプリケーションがttLoadFromOracleユーティリティ、OCIまたはPro*C/C++を使用してOracleデータベースと対話できるようにするOracle Database機能です。


ノート:

  • これらのコマンドは、TimesTen ScaleoutデータベースへのOCI接続またはPro*C/C++接続に使用しないでください。tnsnamesおよびsqlnetのエントリは、TimesTen Scaleoutによって自動的に作成されます。

  • ttLoadFromOracle組込みプロシージャは、OracleデータベースからTimesTen ClassicまたはTimesTen Scaleoutにデータをロードするためのものです。

  • TNS名およびsqlnet.oraのサマリーは、『Oracle TimesTen In-Memory Database C開発者ガイド』のOCIからTimesTenデータベースへの接続に関する説明を参照してください。


sqlnetファイルのエクスポート(SQLNetExport)

このSQLNetExportコマンドは、モデルの指定されたバージョンからsqlnet.ora構成(以前にインポートされたもの)を、通常は指定されたファイルにエクスポートします。

ttGridAdmin SQLNetExport [-latest|-current|-version n] [filepath]

オプション

SQLNetExportコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)からsqlnet.ora構成をエクスポートします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)からsqlnet.ora構成をエクスポートします。
-version n 指定したバージョン番号のモデルからsqlnet.ora構成をエクスポートします。
filepath エクスポートしたsqlnet.ora構成が含められるファイルのパスと名前。ファイルを指定しないと、エクスポートはstdoutに移動します。

この例では、モデルの最新バージョン(デフォルト)からsqlnet.oraをエクスポートし、そのファイルの内容を表示しています。

% ttGridAdmin SQLNetExport /sw/tten/grid/misc/sqlnet.ora
% cd /sw/tten/grid/misc
% more sqlnet.ora
# To use ezconnect syntax or tnsnames, the following entries must be
# included in the sqlnet.ora configuration.
#
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

sqlnetファイルのインポート(SQLNetImport)

SQLNetImportコマンドは、指定されたファイルからsqlnet.ora構成(ttLoadFromOracle、OCI、Pro*C/C++またはODP.NETを介したOracleデータベースとの通信に使用されたもの)をモデルの最新バージョンのsqlnet.oraファイルにインポートします。これは、既存のsqlnet.ora構成に代わるものとなります。

ttGridAdmin SQLNetImport filepath

ノート:

以前のインポートは上書きされます。

オプション

SQLNetImportコマンドにはオプションがあります。

オプション 説明
filepath インポートするsqlnet.ora構成が含まれているファイルのパスと名前。

% ttGridAdmin SQLNetImport /tmp/sqlnet.ora
SQLNet configuration file /tmp/sqlnet.ora imported

ノート

  • これは、sqlnet.ora構成をグリッドに表示する唯一の方法です。構成ファイルを手動で追加したり、操作しないでください。

  • このようにして生成されたsqlnet.oraファイルは、modelApplyを実行するとグリッドのすべてのインスタンスで使用可能になります。

TNS名のエクスポート(TNSNamesExport)

TNSNamesExportコマンドは、モデルの指定されたバージョンからTNS名エントリ(以前にインポートされたもの)を、通常は指定されたファイルにエクスポートします。

ttGridAdmin TNSNamesExport [-latest|-current|-version n] [filepath]

オプション

TNSNamesExportコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)からTNS名エントリをエクスポートします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)からTNS名エントリをエクスポートします。
-version n 指定したバージョン番号のモデルからTNS名エントリをエクスポートします。
filepath エクスポートしたTNS名エントリが含められるファイルのパスと名前。ファイルを指定しないと、エクスポートはstdoutに移動します。

この例では、モデルの最新バージョン(デフォルト)からtnsnames.oraをエクスポートし、そのファイルの内容を表示しています。

% ttGridAdmin TNSNamesExport /sw/tten/grid/misc/tnsnames.ora
% cd /sw/tten/grid/misc
% more tnsnames.ora
...
  ORCL =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = www.example.com)(PORT=1630))
      (CONNECT_DATA =
        (SERVICE_NAME = orcl)
      )
    )
...

TNS名のインポート(TNSNamesImport)

TNSNamesImportコマンドは、指定されたファイルからTNS名エントリ(ttLoadFromOracle、OCI、Pro*C/C++またはODP.NETを介したOracleデータベースとの通信に使用されたもの)をモデルの最新バージョンのtnsnames.oraファイルにインポートします。これは、以前にインポートしたTNS名エントリを置き換えます。

ttGridAdmin TNSNamesImport filepath

オプション

TNSNamesImportコマンドにはオプションがあります。

オプション 説明
filepath インポートするTNS名エントリが含まれているファイルのパスと名前。

% ttGridAdmin TNSNamesImport /tmp/tnsnames.ora
TNSNames configuration file /tmp/tnsnames.ora imported

ノート

  • これは、TNS名の構成をグリッドに表示する唯一の方法です。構成ファイルを手動で追加したり、操作しないでください。

  • このようにして生成されたtnsnames.oraファイルは、modelApplyを実行するとグリッドのすべてのインスタンスで使用可能になります。

  • グリッド内のtnsnames.oraファイルには、常に、すべての接続可能オブジェクトのエントリが含まれています。TNSNamesImportを介して追加することはできますが、以前にインポートしたもの以外のエントリを削除することはできません。

物理グループ操作

この項ではttGridAdminコマンドを使用して、モデル内で物理グループを定義または削除したり、モデル内の物理グループをリストします。

物理グループの作成(physicalCreate)

physicalCreateコマンドは、モデルに物理グループを定義します。

ttGridAdmin physicalCreate name
                           [-comment comment]

オプション

physicalCreateコマンドには、次のオプションがあります。

オプション 説明
name モデルでの物理グループの名前を指定します。
-comment comment 物理グループ・オブジェクトにコメントを関連付けます。空白がある場合には、コメントを引用符で囲みます。コメントは、physicalListコマンドの出力に格納され、含められます。

% ttGridAdmin physicalCreate location1
PhysicalGroup location1 created.
% ttGridAdmin physicalCreate location2
PhysicalGroup location2 created.

また、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』の物理グループへのホストの割当てに関する説明も参照してください。

物理グループの削除(physicalDelete)

physicalDeleteコマンドは、モデルから物理グループを削除します。

ttGridAdmin physicalDelete name

オプション

physicalDeleteコマンドにはオプションがあります。

オプション 説明
name 削除する物理グループの名前。

% ttGridAdmin physicalDelete location1
PhysicalGroup location1 deleted.
% ttGridAdmin physicalDelete location2
PhysicalGroup location2 deleted.

ノート

ホストに関連付けられている物理グループは削除できません。

物理グループのリスト(physicalList)

physicalListコマンドは、モデルの指定されたバージョンに定義されているすべての物理グループをリストします。

ttGridAdmin physicalList [-latest|-current|-version n]

オプション

physicalListコマンドには、次のオプションがあります。

オプション 説明
-latest 最新モデル(変更されているものの、まだグリッドに適用されていないモデル)内の物理グループをリストします。これはデフォルトです。
-current 現在のモデル(グリッドに最近適用されたモデル)内の物理グループをリストします。
-version n 指定したバージョン番号のモデル内の物理グループをリストします。

この例では、モデルの現在のバージョンにある物理グループをリストし、別の物理グループを追加し、最新バージョン(デフォルト)の物理グループをリストします。

% ttGridAdmin physicalList -current
PhysicalGroup Comment
------------- -------
location1
location2
location3
% ttGridAdmin physicalCreate location4
PhysicalGroup location4 created.
% ttGridAdmin physicalList
PhysicalGroup Comment
------------- -------
location1
location2
location3
location4

リポジトリ操作

この項ではttGridAdminコマンドを使用して、リポジトリを作成、アタッチ、デタッチまたはリストします。

TimesTen Scaleoutでは、リポジトリはデータベース・バックアップ、データベース・エクスポート、またはデーモン・ログのコレクションに使用されるファイル・システム・ディレクトリ・ツリーです。リポジトリを作成するときは、最上位ディレクトリを指定します。リポジトリのディレクトリおよびサブディレクトリの内容はバックアップ、エクスポートまたはデーモン・ログで構成され、これがコレクションを構成しています。

リポジトリは、グリッドの各ホスト(NFSや同等のものを使用)でマウントされるか、または単一のホスト(必要に応じてグリッド内にあるもの)でマウントされ、scp (SSHコピー)を使用して他のホストからアクセスされます。

詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータの移行、バックアップおよびリストアに関する説明を参照してください。

リポジトリのアタッチ(repositoryAttach)

repositoryAttachコマンドは、グリッドに既存のリポジトリをアタッチして使用できるようにします。

ttGridAdmin repositoryAttach name
                             -path path
                             -method mount|scp
                             [-address internalAddress]

オプション

repositoryAttachコマンドには、次のオプションがあります。

オプション 説明
name アタッチするリポジトリの名前。
-path path リポジトリが配置されている親ディレクトリへの完全修飾パス。

-method mountの場合、これは/net/mysys2/repositoriesなどの完全NFSパスです。

-method scpの場合、これは-addressで示されているシステム上にある/repositoriesなどのフルパスです。

-method mount|scp グリッド・インスタンスがリポジトリにアクセスする方法を示します。サポートされているオプションは、mountまたはscpです。
  • mount: リポジトリは、各グリッド・ホスト上のNFSマウントを介してアクセスされます。

  • scp: リポジトリは、パスワードなしSSHを介してscpを使用する各グリッド・ホストによってアクセスされます。

ノート: repositoryAttach-method設定は、リポジトリの作成時にrepositoryCreateに使用された設定に一致する必要があります。

-address internalAddress scpを介してアクセスするリポジトリの場合、このオプションは必須であり、リポジトリが配置されているシステムのDNS名またはIPアドレスを指定します。

また、「アドレス形式」も参照してください。


この例では、-method scpを使用して、システムmysys2上にあるリポジトリ/repositories/repo1をアタッチします。

% ttGridAdmin repositoryAttach repo1 -path /repositories -method scp 
-address mysys2.example.com
Repository repo1 attached

ノート

このコマンドは、通常、グリッド間でデータベースのバックアップをリストアできるように、別のグリッドから作成されたリポジトリをアタッチするために使用します。また、リポジトリをデタッチした場合に、その作成元のグリッドにリポジトリを再アタッチするためにも使用できます。

リポジトリの作成(repositoryCreate)

repositoryCreateコマンドは、グリッドに使用可能な新しいリポジトリを作成します。

ttGridAdmin repositoryCreate name 
                             -path path 
                             -method mount|scp
                             [-address internalAddress]

オプション

repositoryCreateコマンドには、次のオプションがあります。

オプション 説明
name リポジトリの名前を指定します。これは、-pathによって指定された親ディレクトリの下に作成されるディレクトリの名前です。
-path path リポジトリを作成する親ディレクトリへの完全修飾パス。このディレクトリは、リポジトリが配置されるシステムにすでに存在し、インスタンス管理者によって読取りおよび書込み可能である必要があります。

-method mountの場合、これは/net/mysys2/repositoriesなどの完全NFSパスです。

-method scpの場合、これは-addressで示されているシステム上にある/repositoriesなどのフルパスです。

-method mount|scp グリッド・インスタンスがリポジトリにアクセスする方法を示します。サポートされているオプションは、mountまたはscpです。
  • mount: リポジトリは、各グリッド・ホスト上のNFSマウントを介してアクセスされます。

  • scp: リポジトリは、パスワードなしSSHを介してscpを使用する各グリッド・ホストによってアクセスされます。

ノート: 作成しているリポジトリに後でrepositoryAttachを使用する場合は、repositoryAttach-method設定がrepositoryCreateに使用している設定に一致する必要があります。

-address internalAddress scpを介してアクセスするリポジトリの場合、このオプションは必須であり、リポジトリが作成されているシステムのDNS名またはIPアドレスを指定します。

また、「アドレス形式」も参照してください。


この例では、scpを使用して、システムmysys2上にリポジトリ/repositories/repo1を作成します。インスタンス管理者は、/repositoriesに対する書込み権限を持っている必要があります。

% ttGridAdmin repositoryCreate repo1 -path /repositories -method scp 
-address mysys2.example.com
Repository repo1 created

この例では、mountを使用してリポジトリを作成します。

% ttGridAdmin repositoryCreate repo1 -path /repositories -method mount
Repository repo1 created

repository.jsonファイルには、リポジトリに関する情報が含まれています。

ノート

  • リポジトリ・ディレクトリは、同期的に作成され、700の権限が設定されています。NFSマウントを介してアクセスするリポジトリの場合、リポジトリ・ディレクトリはpath/nameです。scpを介してアクセスするリポジトリの場合、リポジトリ・ディレクトリは@address:path/nameです。

  • リポジトリは、作成したらすぐに使用できます。

  • repositoryCreateでリポジトリを作成したら、repositoryAttachを使用して他のグリッドからアクセスできます。

リポジトリのデタッチ(repositoryDetach)

repositoryDetachコマンドは、グリッドからリポジトリをデタッチ(関連付け解除)して、グリッドから使用できなくなるようにします。

ttGridAdmin repositoryDetach name

オプション

repositoryDetachコマンドにはオプションがあります。

オプション 説明
name デタッチするリポジトリの名前(アタッチまたは作成時に確立されたもの)。

% ttGridAdmin repositoryDetach repo1
Repository repo1 detached

ノート

グリッドに作成されたリポジトリ、より一般的にはグリッドにアタッチされたリポジトリをデタッチできます。

リポジトリのリスト(repositoryList)

repositoryListコマンドは、グリッド内でアクセス(作成またはアタッチ)できるリポジトリをリストし、その際に必要に応じてリポジトリの内容に関する情報(データベース・バックアップ、データベース・エクスポート、デーモン・ログのコレクションとその他の情報)を含めます。

ttGridAdmin repositoryList [name]
                           [-contents [-details]]

オプション

repositoryListコマンドには、次のオプションがあります。

オプション 説明
name リストするリポジトリの名前。名前を指定しないと、グリッドにアクセス可能なすべてのリポジトリがリストされます。
-contents リストされた各リポジトリの内容を表示します。
-details リストされた各リポジトリの内容に関する詳細を表示します(-contentsとともに使用)。

この例では、グリッドにアクセス可能なすべてのリポジトリ(1つのみ存在)をリストし、内容は表示しません。

% ttGridAdmin repositoryList
Repository Method Location            Address
---------- ------ ------------------- ------------------
repo1      scp    /repositories/repo1 mysys2.example.com

この例では、内容を示しています。

% ttGridAdmin repositoryList -contents
Repository Collection      Type   Date                     Details  
---------- --------------- ------ ------------------------ ------------------
repo1      B20170222145544 Backup 2017-02-22T14:55:48.000Z Database database1

ttGridRollout

説明

ttGridRolloutユーティリティは、TimesTenインストールのinstallation_dir/tt18.1.4.1.0/binディレクトリから実行され、1つのデータベース定義を伴う新しいグリッドを作成します。データベースは作成およびロードされ、その分散が構成された後、オープンされます。

このユーティリティは、作成するグリッドのユーザー定義パラメータおよび属性が含まれている構成ファイルを読み取ります。TimesTenに付属する構成テンプレートをコピーして変更できます。

グリッドの形状、使用するホスト、管理インスタンスの数(1つまたは2つ)、データ・インスタンスの数などの設定を指定できます。デフォルトでは、ホスト、管理インスタンスおよびデータ・インスタンスを指定しない場合、指定した形状に適した単一の管理インスタンスと数多くのデータ・インスタンスがローカル・ホストに作成されます。

必要に応じて、指定した他のホストにttGridRolloutの実行元のインストールをコピーして、追加のデータ・インスタンスと、1つのスタンバイ管理インスタンスを作成できます。2つの管理インスタンスを指定する場合は、最初のものがローカル・ホストに存在する必要があります。

ttGridRolloutユーティリティは、ttGridAdminユーティリティ(同じく、最初の管理インスタンスにttInstanceCreateを使用)のラッパーであり、ttGridRolloutによって実行されたアクションをttGridAdminで必要に応じて直接実行できます。ttGridRolloutでグリッドを作成したら、ttGridAdminを使用してそれを保守し、変更を加えます。

ttGridRolloutユーティリティは、通常、サンプル・グリッドや、製品の設計および評価中に使用されるグリッドを作成するために使用します。


重要:

  • このユーティリティは、正確にttGridRolloutとして実行してください(たとえば、ttgridrolloutなどとしないでください)。

  • ttGridRolloutユーティリティは、物理グループをサポートしていません。


必要な権限

このユーティリティを実行するユーザーは作成されたすべてのインスタンスのインスタンス管理者になり、ユーザーのプライマリ・ユーザー・グループはTimesTenユーザー・グループになります。

どこにインストールおよびインスタンスを作成する場合でも、ファイル・システムへの書込み権限が必要です。

TimesTen Scaleoutでの使用

このユーティリティは、TimesTen Scaleoutで特に使用されます。

構文

ttGridRollout [-h | -help | -?]
ttGridRollout [-n | -dry-run] [-wait n] [-timeout n] conf_file

オプション

ttGridRolloutには次のオプションがあります。

オプション 説明
-h

-help

-?

ヘルプ情報を表示します。
conf_file グリッドおよびデータベースを作成するためのパラメータが含まれている構成ファイルを指定します。

読取り専用のテンプレート(ttgrid.conf.example)は、installation_dir/tt18.1.4.1.0/grid/confディレクトリにあります。このファイルをコピーおよび変更して、構成を設定できます。

-n | -dry-run 実行するコマンドが表示されますが、実行はされません。他のオプションを指定すると、実行するコマンドの表示にそれが反映されます。

ノート: コマンドを実行する前にこれを行うことをお薦めします。

-wait n ttGridRolloutが戻る前に、データベースの状態が完了に変化することを待機する時間を指定します。デフォルトでは、待機時間に制限はありません。

(作成、ロード、オープンなどTimesTen Scaleoutのデータベース操作によって状態の変更が開始され、それがグリッドのアクティブ管理インスタンスに記録されます。グリッドの各インスタンスでデータベース操作が完了すると、状態の変更が完了します。)

-timeout n 実行時間の長い操作の完了を待機する最大秒数。デフォルトは600です。


ノート:

-waitオプションは、データベース操作にのみ適用されます。-timeoutオプションは、任意の操作に適用されます。これらのオプションは、ttGridAdminに渡されます。

また、「コマンドのタイムアウトと待機」も参照してください。


構成ファイル・パラメータ

次の表では、ttGridRollout構成ファイル(慣例によりttgrid.confという名前)でサポートされている構成パラメータについて説明します。


重要:

これらのパラメータは、構成ファイルで必須です。
  • grid_name

  • dbdef_file

  • shape (必要に応じてdata_hostsとともに)またはdata_instances

  • instance_location

  • zoo_conf (すべてのTimesTenインスタンスおよびメンバーシップ・サーバーがローカル・ホスト上にある場合を除く)


パラメータ 説明
cs_connect_files 必要に応じて、クライアント/サーバー接続可能オブジェクトの接続可能オブジェクト・ファイル(.connect)。複数の.connectファイルをカンマで区切って指定できます。次に例を示します。
cs_connect_files = client1.connect, client2.connect

接続可能オブジェクト・ファイルの詳細は、「接続可能オブジェクトの作成(connectableCreate)」を参照してください。

data_hosts データ・インスタンスに使用されるホストのエントリのリスト(JSON形式)。

必要に応じてこれをshapeとともに使用します(またshapeなしでは使用できない場合もあります)。

data_hostsdata_instancesを一緒に使用しないでください。

NxKグリッドに十分なホストを指定しない場合(shapeの説明を参照)、ttGridRolloutは指定したホスト・リストの先頭にループ・バックし、必要な数のホストに追加のインスタンスを配置します。指定したホストの数が多すぎる場合は、最初のNxKホストのみが使用されます。

このパラメータは、addressexternalAddressinternalAddressinstallation_locationinstance_locationの各属性をサポートしています。デフォルト値に関する情報などは、「構成ファイル・パラメータの属性」を参照してください。

アドレスの指定は必須です。addressを指定するか、externalAddressinternalAddressを指定します。

:

data_hosts = [
{ "internalAddress":"tthost1-priv", 
"externalAddress":"tthost1.example.com", 
"installation_location":"/u01/tthost1/TimesTen" }, 
{ "internalAddress":"tthost2-priv", 
"externalAddress":"tthost2.example.com", 
"installation_location":"/u01/tthost2/TimesTen" }, 
{ "internalAddress":"tthost3-priv", 
"externalAddress":"tthost3.example.com", 
"installation_location":"/u01/tthost3/TimesTen" }, 
{ "internalAddress":"tthost4-priv", 
"externalAddress":"tthost4.example.com", 
"installation_location":"/u01/tthost4/TimesTen" } 
]

ノート: shapeに関するノートを参照してください。

data_instances データ・インスタンスのエントリのリスト(JSON形式)。このパラメータでは、データ領域グループ、ホスト名、インスタンス名、デーモン・ポート番号およびクライアント/サーバー・ポート番号を指定できます。

data_instancesshapeまたはdata_hostsと一緒に使用することはできません。(shapedata_hostsとともにまたはなしで指定するか、data_instancesを指定します。)

このパラメータは、addressexternalAddressinternalAddresshostinstancedataSpaceGroupdaemonportcsportinstallation_locationinstance_locationの各属性をサポートしています。デフォルト値に関する情報などは、「構成ファイル・パラメータの属性」を参照してください。

グリッドの形状は、dataSpaceGroup設定によって決まります。データ領域グループを指定しない場合、グリッドはデータ領域グループが1つのNx1になります。

アドレスの指定は必須です。addressを指定するか、externalAddressinternalAddressを指定します。

:

data_instances = [
{ "internalAddress":"tthost1-priv", 
"externalAddress":"tthost1.example.com", 
"dataspacegroup":1, "daemonport":50001, "csport":50002 }, 
{ "internalAddress":"tthost2-priv", 
"externalAddress":"tthost2.example.com", 
"dataspacegroup":1, "daemonport":50001, "csport":50002 }, 
{ "internalAddress":"tthost3-priv", 
"externalAddress":"tthost3.example.com", 
"dataspacegroup":2, "daemonport":50001, "csport":50002 }, 
{ "internalAddress":"tthost4-priv", 
"externalAddress":"tthost4.example.com", 
"dataspacegroup":2, "daemonport":50001, "csport":50002 } 
]

ノート:

  • ホスト・オブジェクトは、インスタンスごとに作成されます。ただし、2つのデータ・インスタンスを同じシステムおよび同じデータ領域グループに指定した場合を除きます。その場合、これらは同じホスト・オブジェクトを共有します。

  • インストール・オブジェクトは、ホスト・オブジェクトごとに作成されます。複数のインストール・オブジェクトが同じ物理インストールを指すことができます。

dbdef_file データベース定義ファイル(.dbdef)。これは必須です。

ディレクトリは、各ホストで必要に応じてDataStoreの場所およびLogDirの場所に対して作成されます。

データベース定義ファイルの詳細は、「データベース定義の作成(dbdefCreate)」を参照してください。

direct_connect_files 必要に応じて追加する直接接続可能オブジェクトの接続可能オブジェクト・ファイル(.connect)。ただし、データベースの作成時に自動的に作成される接続可能オブジェクトを除きます。複数の.connectファイルをカンマで区切って指定できます。次に例を示します。
direct_connect_files = mydbcfg1.connect, mydbcfg2.connect

接続可能オブジェクト・ファイルの詳細は、「接続可能オブジェクトの作成(connectableCreate)」を参照してください。

grid_name グリッドの目的の名前。これは必須です。
init_script グリッドのロールアウト(最初に作成したデータ・インスタンスを使用)後にttGridRolloutがデータベースに対して実行するSQLスクリプト(ttIsqlスクリプト)。たとえば、スクリプトにはデータベースのユーザーおよびスキーマを作成するためのSQL文が含まれる場合があります。
installation_location スタンバイ管理インスタンス(該当する場合)およびデータ・インスタンスがあるシステム上でTimesTenインストールを配置する親ディレクトリへのパス。tt18.1.4.1.0ディレクトリは、この場所の直下にあります。このディレクトリは、必要に応じて各ホストに作成されます。既存の場所を指定する場合、ディレクトリは空である必要があります。

デフォルトでは、ttGridRolloutの実行元であるローカル・ホスト上のインストールと同じ場所が使用されます。

この場所は、data_hostsdata_instancesまたはmgmt_instancesパラメータのinstallation_location属性を設定して特定のホストまたはインスタンス用に上書きした場合を除き、グリッド全体で使用されます。

instance_config インスタンス構成に追加する設定のname=valueのペアで構成される、データ・インスタンスのカスタム構成用のファイル。

これを行うには、ttGridAdmin instanceConfigImportコマンドを使用します。また、「インスタンス構成属性のインポート(instanceConfigImport)」も参照してください。

instance_location TimesTenインスタンス(データおよび管理)の親ディレクトリへのパス。これは必須です。インスタンスごとに、timesten_homeディレクトリはこの場所の下にあるinstancenameという名前になります。このディレクトリは、必要に応じて各ホストに作成されます。

この場所は、data_hostsdata_instancesまたはmgmt_instancesパラメータのinstance_location属性を設定して特定のホストまたはインスタンス用に上書きした場合を除き、グリッド全体で使用されます。

mgmt_instances 管理インスタンスのエントリのリスト(JSON形式)。最初のエントリはローカル・ホスト上にある必要があり、これがアクティブ管理インスタンスになります。2つ目のエントリ(該当する場合)は別のシステムに存在する必要があり、これがスタンバイ管理インスタンスになります。

mgmt_instancesを設定しない場合、ttGridRolloutはローカル・ホストに1つの管理インスタンスを作成します。

このパラメータは、addressexternalAddressinternalAddresshostinstancedaemonportcsportmgmtportinstallation_locationinstance_locationの各属性をサポートしています。デフォルト値に関する情報などは、「構成ファイル・パラメータの属性」を参照してください。

アドレスの指定は必須です。addressを指定するか、externalAddressinternalAddressを指定します。

:

mgmt_instances = [
{ "internalAddress":"tthost1-priv", 
"externalAddress":"tthost1.example.com" }, 
{ "internalAddress":"tthost2-priv", 
"externalAddress":"tthost2.example.com" } 
]

ノート:

  • ホスト・オブジェクトとインストール・オブジェクトはインスタンスごとに作成されます。

shape グリッドの目的の形状NxK。それぞれの意味は次のとおりです。
  • Nは、各データ領域グループ内のインスタンスの数です。

  • Kは、グリッドのKファクタ(レプリケーション・ファクタ)であり、データ領域グループの数(1または2)と定義されています。

shapedata_hostsとともにまたはなしで指定するか、data_instancesを指定します。data_hostsなしでshapeを使用すると、すべてのTimesTenインスタンスがローカル・ホストに配置されます。

NxKグリッドのshapeを指定した場合、NxKインスタンスが作成されます(4x2グリッドの8個のインスタンスなど)。最初のN個のインスタンスがデータ領域グループ1に属し、k=2の場合、次のN個のデータ・インスタンスがデータ領域グループ2に属します。

ノート:

  • ホスト・オブジェクトは、インスタンスごとに作成されます。ただし、2つのデータ・インスタンスが同じシステムおよび同じデータ領域グループにある場合を除きます。その場合、これらは同じホスト・オブジェクトを共有します。

  • DNS名としてホスト・アドレスを指定した場合、デフォルトのホスト・オブジェクト名はアドレスに従ったものになります(たとえば、アドレスmysys1.example.comの場合はmysys1で、同じシステムに2つ目のホスト・オブジェクトがある場合にはこれに_2が付加されます。管理インスタンスのホストの場合はmysys1_mgmtになります)。IPアドレスとしてアドレスを指定した場合、デフォルトのホスト・オブジェクト名は順次host_nになります。

  • インストール・オブジェクトは、ホスト・オブジェクトごとに作成されます。複数のインストール・オブジェクトが同じ物理インストールを指すことができます。

  • ttGridRolloutがインスタンスを作成すると、名前はinstance1instance2instance3というようになります。

sqlnet_config SQL*Net構成ファイル(ttLoadFromOracle、OCI、Pro*C/C++またはODP.NETを介したOracleデータベースとの通信に使用)。

ttGridAdmin SQLNetImportコマンドを介して、ttGridRolloutはすべてのデータ・インスタンスで指定されたSQL*Net構成を適用します。また、「sqlnetファイルのエクスポート(SQLNetExport)」も参照してください。

tnsnames_config TNS名構成ファイル(ttLoadFromOracle、OCI、Pro*C/C++またはODP.NETを介したOracleデータベースとの通信に使用)。

ttGridAdmin TNSNamesImportコマンドを介して、ttGridRolloutはすべてのデータ・インスタンスで指定されたTNS名構成を適用します。また、「TNS名のインポート(TNSNamesImport)」も参照してください。

zoo_conf Apache ZooKeeperメンバーシップ・サービス・クライアント構成ファイル。すべての管理インスタンス、データ・インスタンスおよびZooKeeperメンバーシップ・サーバーがローカル・ホスト上にある場合を除き、このパラメータは必須です。

ZooKeeperクライアント構成ファイルの例は、「メンバーシップ操作」を参照してください。ZooKeeperをメンバーシップ・サービスとして構成する方法の詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のメンバーシップ・サービスとしてのApache ZooKeeperの使用に関する説明を参照してください。

このパラメータを指定しない場合、ttGridRolloutでは、ZooKeeperサーバーが、デフォルトのクライアント・ポート設定2181を使用して、ローカル・ホストですでに実行されていると想定します。


構成ファイル・パラメータの属性

ttGridRollout構成パラメータは、次の属性をサポートしています。各パラメータでサポートされている属性を確認するには、前にあげたパラメータの表を参照してください。

属性 説明
address 外部通信と内部通信の両方用のシステムのDNS名またはIPアドレス(単一のアドレスが使用されている場合)。addressを使用するか、internalAddressおよびexternalAddressを使用します。-address xxxを設定することは、-internalAddress xxxおよび-externalAddress xxxを設定することとまったく同じです。

このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

ノート: 本番環境で単一のアドレスを使用することはお薦めしません。

また、「アドレス形式」も参照してください。

csport クライアント/サーバー接続用のポート。

これをデータ・インスタンスに対して指定しなかった場合、ttGridRolloutは46337から46997の範囲の使用可能なポートを使用します。

これを管理インスタンスに対して指定しなかった場合、ttGridRolloutはTimesTenのデフォルトのクライアント/サーバー・ポート6625を使用することを試みます。

daemonport TimesTenデーモン通信用のポート。

これをデータ・インスタンスに対して指定しなかった場合、ttGridRolloutは46337から46997の範囲の使用可能なポートを使用します。

これを管理インスタンスに対して指定しなかった場合、ttGridRolloutはTimesTenのデフォルトのデーモン・ポート6624を使用することを試みます。

dataSpaceGroup 目的のデータ領域グループ(1または2)。デフォルトはデータ領域グループ1です。

data_instancesパラメータを使用する場合は、この属性を使用して、インスタンスのデータ領域グループを指定します。

externalAddress クライアント/サーバー接続を対象とした、グリッドの外部にある、外部通信用のシステムのDNS名またはIPアドレス。addressを使用するか、internalAddressおよびexternalAddressを使用します。-internalAddress xxxおよび-externalAddress xxxを設定することは、-address xxxを設定することとまったく同じです。

このオプションには1つの名前またはアドレスのみを指定しますが、1つの名前が1つ以上のIPアドレスに解決されることがあります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

また、「アドレス形式」も参照してください。

host グリッド・モデルのホスト・オブジェクトの目的の名前。

ノート: DNS名としてホスト・アドレスを指定した場合、デフォルトのホスト・オブジェクト名はアドレスに従ったものになります(たとえば、アドレスmysys1.example.comの場合はmysys1で、同じシステムに2つ目のホスト・オブジェクトがある場合にはこれに_2が付加されます。管理インスタンスのホストの場合はmysys1_mgmtになります)。IPアドレスとしてアドレスを指定した場合、デフォルトのホスト・オブジェクト名は順次host_nになります。

installation_location ホストまたはインスタンスのグリッド全体のinstallation_location設定を上書きします。詳細は、「構成ファイル・パラメータ」installation_locationを参照してください。
instance data_instancesまたはmgmt_instancesパラメータを(必要に応じて)使用する場合は、この属性を使用してインスタンス名を指定できます。

あるいは、データ・インスタンスの場合、ttGridRolloutはインスタンスにinstance1instance2instance3というように名前を付けます。

あるいは、管理インスタンスの場合、ttGridRolloutはインスタンスにgridname_mgmtおよびgridname_mgmt2 (2つ目の管理インスタンスがある場合)という名前を付けます。

instance_location ホストまたはインスタンスのグリッド全体のinstance_location設定を上書きします。詳細は、「構成ファイル・パラメータ」instance_locationを参照してください。
internalAddress 内部通信用のDNS名またはIPアドレス(グリッド内)。addressを使用するか、internalAddressおよびexternalAddressを使用します。-internalAddress xxxおよび-externalAddress xxxを設定することは、-address xxxを設定することとまったく同じです。

このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。

/etc/hostsからホスト名を使用する場合、グリッド内のすべてのインスタンスにある/etc/hostsファイルでは、グリッド内のすべてのホストに対するエントリが同じ内容である必要があります。

また、「アドレス形式」も参照してください。

mgmtport 管理インスタンス通信用のポート。

これを指定しなかった場合、ttGridRolloutはTimesTenのデフォルトの管理ポート3754を使用することを試みます。


この項では、様々なタイプの構成にしたttGridRolloutの3つの例を示します。

  • data_hostsを指定しないshapeパラメータ。管理インスタンスが1つの2x2グリッドを構成します。すべてがローカル・ホストにあります

  • data_hostsを指定したshapeパラメータ。管理インスタンスが1つある2x2グリッドを4つのシステムに構成します。その管理インスタンスと1つのデータ・インスタンスがローカル・ホストにあります

  • data_instancesパラメータ。管理インスタンスが2つの3x2グリッドを8つのシステムに構成します。最初の管理インスタンスがローカル・ホストにあります

各例には、構成、実行されるttGridAdminコマンドを示すテスト実行出力、実行出力の一部などが含まれています。各例では、mysys1がローカル・ホストです。テスト実行出力は、読みやすいように編集されています。(最初の管理インスタンスを作成するためのttInstanceCreateユーティリティは、インストール先のbinディレクトリへのフルパスを介して実行されます。ttGridAdminは、最初の管理インスタンスのbinディレクトリにあるTimesTen ttenv環境設定スクリプトへのフルパスを介して実行されます。)

追加の例が『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のグリッドおよびデータベースのデプロイに関する説明にあります。

data_hostsを指定しないshape: このシナリオは、スタンドアロン開発に便利です。

構成:

dbdef_file = /sw/tten/dbdef/database1.dbdef
shape = 2x2
zoo_conf = /sw/tten/zkconfig/membership.conf
grid_name = grid1
instance_location = /sw/tten/grid1/ttinstances

テスト実行:

% ./ttGridRollout -dry-run /sw/tten/gridconfig/ttgrid1.conf
ttInstanceCreate -grid -location /sw/tten/grid1/ttinstances -name grid1_mgmt
ttGridAdmin gridCreate grid1 -k 2 -host mysys1_mgmt -address mysys1
 -membershipConfig /sw/tten/zkconfig/membership.conf
ttGridAdmin hostCreate mysys1 -address mysys1 -dataspacegroup 1
ttGridAdmin installationCreate mysys1 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys1_2 -address mysys1 -dataspacegroup 2
ttGridAdmin installationCreate mysys1_2 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin instanceCreate mysys1.instance1 -location /sw/tten/grid1/ttinstances
 -daemonport 46337 -csport 46338
ttGridAdmin instanceCreate mysys1.instance2 -location /sw/tten/grid1/ttinstances
 -daemonport 46339 -csport 46340
ttGridAdmin instanceCreate mysys1_2.instance3 -location /sw/tten/grid1/ttinstances
 -daemonport 46341 -csport 46342
ttGridAdmin instanceCreate mysys1_2.instance4 -location /sw/tten/grid1/ttinstances
 -daemonport 46343 -csport 46344
ttGridAdmin dbdefCreate /sw/tten/dbdef/database1.dbdef
ttGridAdmin modelApply
ttGridAdmin dbCreate -wait database1
ttGridAdmin dbDistribute database1 -add all -apply
ttGridAdmin dbOpen -wait database1

実行:

% ./ttGridRollout /sw/tten/gridconfig/ttgrid1.conf
INFO: Generating data_instances for 2x2 Grid
data_instances = [
 { "address":"mysys1", "dataspacegroup":1 },
 { "address":"mysys1", "dataspacegroup":1 },
 { "address":"mysys1", "dataspacegroup":2 },
 { "address":"mysys1", "dataspacegroup":2 }
]
INFO: Checking Zookeeper on zk1!2181 -- OK
INFO: Checking Zookeeper on zk2!2181 -- OK
INFO: Checking Zookeeper on zk3!2181 -- OK
INFO: Checking the address for the management database -- OK
INFO: Checking connectivity to mysys1 -- OK
 
================================================================================
 
...
 
================================================================================
4-instance (2x2) grid successfully created.
 
Management Instance Location
----------------------------
- mysys1:/sw/tten/grid1/ttinstances/grid1_mgmt
 
...
 
Data Instance Locations
-----------------------
- mysys1.instance1 ==> mysys1:/sw/tten/grid1/ttinstances/instance1
- mysys1.instance2 ==> mysys1:/sw/tten/grid1/ttinstances/instance2
- mysys1_2.instance3 ==> mysys1:/sw/tten/grid1/ttinstances/instance3
- mysys1_2.instance4 ==> mysys1:/sw/tten/grid1/ttinstances/instance4
 
...

data_hostsを指定したshape: このシナリオは、複数のシステムで初期テストを実行する場合に役立ちます。

構成:

dbdef_file = /sw/tten/dbdef/database1.dbdef
shape = 2x2
zoo_conf = /sw/tten/zkconfig/membership.conf
grid_name = grid1
instance_location = /sw/tten/grid1/ttinstances
data_hosts = [
  { "internalAddress":"mysys1-i", "externalAddress":"mysys1.example.com" },
  { "internalAddress":"mysys2-i", "externalAddress":"mysys2.example.com" },
  { "internalAddress":"mysys3-i", "externalAddress":"mysys3.example.com" },
  { "internalAddress":"mysys4-i", "externalAddress":"mysys4.example.com" }
]

テスト実行:

% ./ttGridRollout -dry-run /sw/tten/gridconfig/ttgrid1.conf
ttInstanceCreate -grid -location /sw/tten/grid1/ttinstances -name grid1_mgmt
ttGridAdmin gridCreate grid1 -k 2 -host mysys1_mgmt -address mysys1
 -membershipConfig /sw/tten/zkconfig/membership.conf
ttGridAdmin hostCreate mysys1 -externaladdress mysys1.example.com
 -internaladdress mysys1-i -dataspacegroup 1
ttGridAdmin installationCreate mysys1 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys2 -externaladdress mysys2.example.com
 -internaladdress mysys2-i -dataspacegroup 1
ttGridAdmin installationCreate mysys2 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys3 -externaladdress mysys3.example.com
 -internaladdress mysys3-i -dataspacegroup 2
ttGridAdmin installationCreate mysys3 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys4 -externaladdress mysys4.example.com
 -internaladdress mysys4-i -dataspacegroup 2
ttGridAdmin installationCreate mysys4 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin instanceCreate mysys1.instance1 -location /sw/tten/grid1/ttinstances
 -daemonport 46337 -csport 46338
ttGridAdmin instanceCreate mysys2.instance2 -location /sw/tten/grid1/ttinstances
 -daemonport 46339 -csport 46340
ttGridAdmin instanceCreate mysys3.instance3 -location /sw/tten/grid1/ttinstances
 -daemonport 46341 -csport 46342
ttGridAdmin instanceCreate mysys4.instance4 -location /sw/tten/grid1/ttinstances
 -daemonport 46343 -csport 46344
ttGridAdmin dbdefCreate /sw/tten/dbdef/database1.dbdef
ttGridAdmin modelApply
ttGridAdmin dbCreate -wait database1
ttGridAdmin dbDistribute database1 -add all -apply
ttGridAdmin dbOpen -wait database1

実行:

% ./ttGridRollout /sw/tten/gridconfig/ttgrid1.conf
INFO: Generating data_instances for 2x2 Grid
data_instances = [
 { "externaladdress":"mysys1.example.com", "internaladdress":"mysys1-i",
 "dataspacegroup":1 },
 { "externaladdress":"mysys2.example.com", "internaladdress":"mysys2-i",
 "dataspacegroup":1 },
 { "externaladdress":"mysys3.example.com", "internaladdress":"mysys3-i",
 "dataspacegroup":2 },
 { "externaladdress":"mysys4.example.com", "internaladdress":"mysys4-i",
 "dataspacegroup":2 }

]
INFO: Checking Zookeeper on zk1!2181 -- OK
INFO: Checking Zookeeper on zk2!2181 -- OK
INFO: Checking Zookeeper on zk3!2181 -- OK
INFO: Checking the address for the management database -- OK
INFO: Checking connectivity to mysys1 -- OK
INFO: Checking connectivity to mysys1-i -- OK
INFO: Checking connectivity to mysys2-i -- OK
INFO: Checking connectivity to mysys3-i -- OK
INFO: Checking connectivity to mysys4-i -- OK
 
================================================================================
 
...
 
================================================================================
4-instance (2x2) grid successfully created.
 
Management Instance Location
----------------------------
- mysys1:/sw/tten/grid1/ttinstances/grid1_mgmt
 
...
 
Data Instance Locations
-----------------------
- mysys1.instance1 ==> mysys1-i:/sw/tten/grid1/ttinstances/instance1
- mysys2.instance2 ==> mysys2-i:/sw/tten/grid1/ttinstances/instance2
- mysys3.instance3 ==> mysys3-i:/sw/tten/grid1/ttinstances/instance3
- mysys4.instance4 ==> mysys4-i:/sw/tten/grid1/ttinstances/instance4
 
...

data_instances: このシナリオは、より現実的な概念実証テストに役立ちます。

構成:

dbdef_file = /sw/tten/dbdef/database1.dbdef
zoo_conf = /sw/tten/zkconfig/membership.conf
grid_name = grid1
instance_location = /sw/tten/grid1/ttinstances
data_instances = [
  { "internalAddress":"mysys3-i", "externalAddress":"mysys3.example.com",
 "dataspacegroup":1, "daemonport":50001, "csport":50002 },
  { "internalAddress":"mysys4-i", "externalAddress":"mysys4.example.com",
 "dataspacegroup":1, "daemonport":50001, "csport":50002 },
  { "internalAddress":"mysys5-i", "externalAddress":"mysys5.example.com",
 "dataspacegroup":1, "daemonport":50001, "csport":50002 },
  { "internalAddress":"mysys6-i", "externalAddress":"mysys6.example.com",
 "dataspacegroup":2, "daemonport":50001, "csport":50002 },
  { "internalAddress":"mysys7-i", "externalAddress":"mysys7.example.com",
 "dataspacegroup":2, "daemonport":50001, "csport":50002 },
  { "internalAddress":"mysys8-i", "externalAddress":"mysys8.example.com",
 "dataspacegroup":2, "daemonport":50001, "csport":50002 }
]
mgmt_instances = [
  { "internalAddress":"mysys1-i", "externalAddress":"mysys1.example.com" },
  { "internalAddress":"mysys2-i", "externalAddress":"mysys2.example.com" }
]

テスト実行:

% ./ttGridRollout -dry-run /sw/tten/gridconfig/ttgrid1.conf
ttInstanceCreate -grid -location /sw/tten/grid1/ttinstances -name grid1_mgmt
ttGridAdmin gridCreate grid1 -k 2 -host mysys1-i_mgmt -internalAddress mysys1-i
 -externalAddress mysys1.example.com -membershipConfig
 /sw/tten/zkconfig/membership.conf
ttGridAdmin hostCreate mysys2-i_mgmt -internalAddress mysys2-i -externalAddress
 mysys2.example.com
ttGridAdmin installationCreate mysys2-i_mgmt -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin instanceCreate mysys2-i_mgmt.grid1_mgmt2 -location
 /sw/tten/grid1/ttinstances -type management
ttGridAdmin hostCreate mysys3 -externaladdress mysys3.example.com
 -internaladdress mysys3-i -dataspacegroup 1
ttGridAdmin installationCreate mysys3 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys4 -externaladdress mysys4.example.com
 -internaladdress mysys4-i -dataspacegroup 1
ttGridAdmin installationCreate mysys4 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys5 -externaladdress mysys5.example.com
 -internaladdress mysys5-i -dataspacegroup 1
ttGridAdmin installationCreate mysys5 -location /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys6 -externaladdress mysys6.example.com -internaladdress
 mysys6-i -dataspacegroup 2
ttGridAdmin installationCreate mysys6 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys7 -externaladdress mysys7.example.com
 -internaladdress mysys7-i -dataspacegroup 2
ttGridAdmin installationCreate mysys7 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin hostCreate mysys8 -externaladdress mysys8.example.com
 -internaladdress mysys8-i -dataspacegroup 2
ttGridAdmin installationCreate mysys8 -location
 /sw/tten/grid1/ttinstall/installation1
ttGridAdmin instanceCreate mysys3.instance1 -location /sw/tten/grid1/ttinstances
 -daemonport 50001 -csport 50002
ttGridAdmin instanceCreate mysys4.instance2 -location /sw/tten/grid1/ttinstances
 -daemonport 50001 -csport 50002
ttGridAdmin instanceCreate mysys5.instance3 -location /sw/tten/grid1/ttinstances
 -daemonport 50001 -csport 50002
ttGridAdmin instanceCreate mysys6.instance4 -location /sw/tten/grid1/ttinstances
 -daemonport 50001 -csport 50002
ttGridAdmin instanceCreate mysys7.instance5 -location /sw/tten/grid1/ttinstances
 -daemonport 50001 -csport 50002
ttGridAdmin instanceCreate mysys8.instance6 -location /sw/tten/grid1/ttinstances
 -daemonport 50001 -csport 50002
ttGridAdmin dbdefCreate /sw/tten/dbdef/database1.dbdef
ttGridAdmin modelApply
ttGridAdmin dbCreate -wait database1
ttGridAdmin dbDistribute database1 -add all -apply
ttGridAdmin dbOpen -wait database1

実行:

% ./ttGridRollout /sw/tten/gridconfig/ttgrid1.conf
INFO: Checking Zookeeper on zk1!2181 -- OK
INFO: Checking Zookeeper on zk2!2181 -- OK
INFO: Checking Zookeeper on zk3!2181 -- OK
INFO: Checking the address for the management database -- OK
INFO: Checking connectivity to mysys1-i -- OK
INFO: Checking connectivity to mysys2-i -- OK
INFO: Checking connectivity to mysys3-i -- OK
INFO: Checking connectivity to mysys4-i -- OK
INFO: Checking connectivity to mysys5-i -- OK
INFO: Checking connectivity to mysys6-i -- OK
INFO: Checking connectivity to mysys7-i -- OK
INFO: Checking connectivity to mysys8-i -- OK
 
================================================================================
 
...
 
================================================================================
6-instance (3x2) grid successfully created.
 
Management Instance Locations
-----------------------------
- mysys1-i:/sw/tten/grid1/ttinstances/grid1_mgmt
- mysys2-i:/sw/tten/grid1/ttinstances/grid1_mgmt2
 
...
 
Data Instance Locations
-----------------------
- mysys3.instance1 ==> mysys3-i:/sw/tten/grid1/ttinstances/instance1
- mysys4.instance2 ==> mysys4-i:/sw/tten/grid1/ttinstances/instance2
- mysys5.instance3 ==> mysys5-i:/sw/tten/grid1/ttinstances/instance3
- mysys6.instance4 ==> mysys6-i:/sw/tten/grid1/ttinstances/instance4
- mysys7.instance5 ==> mysys7-i:/sw/tten/grid1/ttinstances/instance5
- mysys8.instance6 ==> mysys8-i:/sw/tten/grid1/ttinstances/instance6
 
...