この章では、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でのみサポートされているユーティリティの説明
| 名前 | 説明 |
|---|---|
|
|
TimesTen Scaleoutグリッドを管理します。 |
|
|
新規グリッドおよびデータベースを作成します。 |
表4-2 TimesTen ScaleoutとTimesTen Classicの両方でサポートされているユーティリティの説明
| 名前 | 説明 |
|---|---|
|
|
TimesTenのインストールに含まれるすべてのファイルを調べ、インストールのシグネチャを生成します。 |
|
|
指定された入力ファイルにリストされている1つ以上のエントリに対して、WindowsクライアントDSNを生成して、ODBCパネルにシステムDSNとしてインストールします。 |
|
|
新しいTimesTenインスタンスを作成します。 |
|
|
既存のTimesTenインスタンスを破棄します。 |
|
|
インスタンスの特定の属性を変更します。 |
|
|
SQL文を対話型で実行します。 |
|
|
TimesTenオブジェクトを保存およびリストアします。 |
|
|
データベースのスキーマまたは選択されたオブジェクトを出力します。 |
|
|
指定した表(データベース内のビューを含む)に指定された数の行が追加されて、サイズが大きくなったときの領域の消費量を見積もります。 |
|
|
データベース・メトリックを監視するか、メトリックのスナップショットを取得して比較します。 |
|
|
TimesTenリリース情報をリストします。 |
説明
ttGridAdminユーティリティは、グリッドの作成、データ・インスタンスまたは管理インスタンスの追加または削除、データベースの作成、新しいデータ・インスタンスへのデータの再分散など、グリッド管理のあらゆる側面に使用します。これらの操作の結果となるグリッドおよびデータベース構成は、グリッド・モデルに格納され、それがグリッドのインスタンスに分散されます。(モデルの概要は、「グリッド・モデル」を参照してください。)
|
重要: TimesTen Scaleoutでは、構成ファイル(timesten.conf、sys.odbc.ini、tnsnames.oraなど)を手動で更新しないでください。 |
構文
一般的な構文(ヘルプ・オプションや、すべてのコマンドに適用されるオプション)は、「ヘルプ・オプションおよび一般オプション」を参照してください。個々のコマンドの構文は、「ttGridAdmin操作」の関連する項を参照してください。
TimesTen Scaleoutでは、グリッドの目的の構造を説明するモデル内にグリッドの中央構成を維持します。モデルはグリッドの目的の論理トポロジを表し、これにはインストール、ホスト、インスタンス、データベース定義など、グリッドのコンポーネントを表すオブジェクトが含まれています。ttGridAdminを使用してグリッド・コンポーネントを追加するたびに、対応するオブジェクトがモデルに追加されます。
ttGridAdminを使用してモデルを適用すると、TimesTen Scaleoutでは、目的の物理インストールと物理インスタンスを作成することなどによって、それを操作グリッドに実装することを試みます。
グリッドの各エンティティ(各ホスト、インスタンス、インストール、物理グループ、リポジトリなど)は、名前付きオブジェクトとして定義されています。
このようなタイプのエンティティを表す各オブジェクト・タイプには、それぞれ独自のネームスペースがあります。たとえば、xyzという名前のホストとxyzという名前の物理グループを競合することなく保持できます。また、インスタンス・ネームスペースおよびインストール・ネームスペースがホストごとに設定されます。たとえば、host1上にinstance1という名前のインスタンスと、host2上にinstance1という名前のインスタンスを競合することなく保持できます。
このようなオブジェクト・ネーミング階層は、toplevelobject.nextlevelobectという完全修飾名を使用して、ttGridAdmin構文で表現できます。たとえば、host1.instance1やhost2.instance1です。ホストにインスタンスまたはインストール(必要に応じて)が1つのみ存在する場合、ttGridAdmin構文でインスタンスまたはインストールを指定するには、hostnameを指定することのみが必要です(hostname.instancenameやhostname.installnameのように指定する必要はありません)。
グリッド・エンティティに対する、ttGridAdminによるインスタンスやインストールの作成や削除などの操作は、モデル内の対応するオブジェクトを介して管理されます。物理エンティティ自体は、モデルがttGridAdmin modelApplyコマンドによって適用されるまで、作成されることも削除されることもありません。たとえば、host1.instance1という名前のインスタンスを削除する場合、instanceDeleteコマンドがモデルからhost1.instance1という名前のオブジェクトを削除し、modelApplyコマンドが物理インスタンス(インスタンス・ホーム・ディレクトリおよびその下にあるすべてのもの)を削除します。
グリッド・モデルでのオブジェクト・ネーミングでは次の制限に注意してください。
名前には、ASCII文字のみを使用する必要があります。
使用できる文字は、アルファベット、数字、ハイフン(-)およびアンダースコア(_)です。
データベース定義名および接続可能オブジェクト名は、32文字に制限されます(ODBCの制限事項による)。
他のすべてのオブジェクト名は256文字に制限されます。
オブジェクト名は、大/小文字が区別されません(このため、同じホスト上にインスタンスinstanceとインスタンスInstanceを保持することはできません)が、ttGridAdminコマンドで指定されたとおりに表示されます。instanceCreateコマンドにMyInstanceを指定した場合は、そのように表示されます。
AllやDefaultなど予約された名前を付けることはできません。
gridCreateやhostCreateなど一部の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/dbDestroy、dbLoad/dbUnload、dbOpen/dbClose)はデフォルトでは非同期に実行されます。一般的には、このようにすることをお薦めします。これは、このような操作はアトミックでなく、時間がかかる場合があるためです。大規模なグリッドでは、データベースをロードする場合、多くのホストではただちに正常に完了するものの、一部のホストでは少し時間がかかり、また別のホストではかなり時間がかかることもあります。実際、操作が実行されたときにホストが停止していて、そのためにそのホストがバックアップされるまで操作を実行できないことがあります。
デフォルトでは、これらのデータベース操作のコマンドは、操作の完了を待機しないで戻りますが、タイムアウトあり、またはなしで、必要に応じて待機することもできます。タイムアウトを設定して待機する場合、コマンドはすべてのインスタンスで完了するか、タイムアウトに達するまで戻りません。タイムアウトなしで待機する場合、インスタンスが停止していると、コマンドは戻りません。各方法には、グリッドの大きさなどの要因によってそれぞれ長所と短所があります。大規模なグリッドではすべてのインスタンスで操作が完了する前に処理を進めることを選択する場合がある一方、小規模なグリッドではすべてのインスタンスで完了するまで待機した方が合理的な場合があります。
データベースの各要素などのデータベースの状態はTimesTen Scaleoutによって追跡されますが、操作のステータスをチェック(dbStatusコマンドを使用、また必要に応じて-allオプションを使用して詳細情報をチェック)して、操作を完了したインスタンスの数を確認することはユーザーに任されています。特に、データベースをロードした後、データベースをオープンしてユーザーがアクセスを開始できるだけの十分なインスタンスにロードされたかどうかを判断するために、ステータス情報を使用できます。
いずれか、またはすべてのインスタンスで操作を取り消すコマンドはありません。
ttGridAdminは、コマンドを実行する場合と同じく、オペレーティング・システム・コマンドも実行する場合があることに注意してください。最上位の-timeoutオプションを使用すると、ttGridAdminが指定した秒数だけ操作の完了を待機することを指定できます。操作が指定した秒数内に完了しないと、実行中のttGridAdminコマンドは失敗します。
また、ttGridAdminデータベース管理コマンドdbCreate、dbDestroy、dbload、dbUnload、dbOpenおよびdbCloseには、-nowait/-waitオプションが用意されています。これらの各コマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。–nowait (デフォルト)を設定すると、コマンドは状態の変更が完了することを待機しないで、すぐに戻ります。-waitにタイムアウト値nを指定した場合、ttGridAdminは状態の変更が完了することを最大n秒待機します。-waitにタイムアウトを指定しない場合、ttGridAdminは状態の変更が完了することを制限なしで待機します。
これらのオプションは、すべてのttGridAdminコマンドで機能する以外に、ヘルプの場合はコマンドなしの最上位で機能します。
ttGridAdmin [-h | -help | -?] [command] ttGridAdmin [-o json] [-timeout n] command [-command_option] ...
オプション
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コマンドは、指定されたデータベースのバックアップを開始します。
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です。
デフォルトでは、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を使用して進行状況をチェックします。各要素とデータベース全体が完了と示されていると、バックアップは終了です。
dbBackupDeleteコマンドは、指定されたデータベース・バックアップを削除します。
ttGridAdmin dbBackupDelete -repository reponame -name backupname
オプション
dbBackupDeleteコマンドにはオプションがあります。
| オプション | 説明 |
|---|---|
-repository reponame |
バックアップが配置されているリポジトリの名前。 |
-name backupname |
削除するバックアップの名前。 |
例
この例では、「データベースのバックアップ(dbBackup)」の例で作成したバックアップを削除します。
% ttGridAdmin dbBackupDelete -repository repo1 -name B20170222145544 Backup B20170222145544 deleted
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コマンドは、データベース・バックアップを新しいデータベースにリストアします。
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コマンドは、以前に開始された1つ以上のデータベース・リストアのステータスを表示します。
ttGridAdmin 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コマンドは、モデルに接続可能オブジェクトを作成して、接続属性設定を定義します。
ttGridAdmin connectableCreate -dbdef name
[-cs [-only hostname[.instancename]]]
filepath
オプション
connectableCreateコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-dbdef name |
接続可能オブジェクトが参照するデータベース定義オブジェクトの名前(接続先のデータベースの名前)。 |
-cs |
接続可能オブジェクトがデータベースへのクライアント/サーバー・アクセス向けであることを指定します。これを指定しないと、接続可能オブジェクトはダイレクト・モード・アクセス向けになります。 |
-only hostname[.instancename] |
クライアント/サーバー接続の場合、必要に応じて、この接続可能オブジェクトを介して接続するアプリケーションは指定されたインスタンスに接続する必要があることを指定します。デフォルトでは、グリッド内のすべてのデータ・インスタンスが使用可能であり、接続はそれらの間で分散されます。
ホストに複数のインスタンスがある場合にのみ、インスタンス名を指定する必要があります。(「グリッド・オブジェクトとオブジェクト・ネーミング」を参照してください。) 複数の |
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_SERVER、TTC_SERVER_DSN、TCP_PORTの設定は無視されます。グリッド・トポロジに適切な値が自動的に使用されます。
定義されている接続可能オブジェクトは、TimesTenでサポートされているすべてのAPIを介して使用できます。
connectableDeleteコマンドは、モデルから既存の接続可能オブジェクトを削除します。
ttGridAdmin connectableDelete name
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コマンドは、モデルの指定されたバージョンで作成された接続可能オブジェクトをリストします。
ttGridAdmin connectableList [-latest|-current|-version n]
[-dbdef]
connectableModifyコマンドは、接続可能オブジェクトを変更します。
ttGridAdmin connectableModify [-only hostname[.instancename]] filepath
オプション
connectableModifyコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-only hostname[.instancename] |
クライアント/サーバー接続用に作成される接続可能オブジェクト(connectableCreateの-csオプションによって決定されます)の場合、必要に応じて、この接続可能オブジェクトを介して接続するアプリケーションは指定されたインスタンスに接続する必要があることを指定します。デフォルトでは、グリッド内のすべてのデータ・インスタンスが使用可能であり、接続はそれらの間で分散されます。
ホストに複数のインスタンスがある場合にのみ、インスタンス名を指定する必要があります。 複数の ノート: |
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コマンドは、モデルに定義されているグリッドの物理トポロジに基づいて、ホストのデータ領域グループ割当てを推奨します。適切なhostModifyコマンドという形で推奨事項がシェル・スクリプト(またはstdout)に出力されます。
ttGridAdmin dataSpaceGroupSuggest [filepath]
オプション
dataSpaceGroupSuggestコマンドにはオプションがあります。
| オプション | 説明 |
|---|---|
filepath |
推奨されるアクションを含めるスクリプトのパスおよび名前。
ファイルを指定しないと、スクリプトは |
例
この例では、推奨事項を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コマンドは、モデル内にデータベース定義オブジェクトを作成して、指定したファイルの属性設定に応じてデータベースの特性を定義します。また、直接接続の場合、直接接続可能オブジェクトをデータベースと同じ名前で作成します。
ttGridAdmin dbdefCreate filepath
データベース定義をモデルに追加した後は、データベースを作成するために使用できます。
オプション
dbdefCreateコマンドにはオプションがあります。
| オプション | 説明 |
|---|---|
filepath |
データベース定義ファイルのパスおよび名前で、このファイルにはデータベース定義の属性設定が含まれています。
ファイル名は |
例
この例では、データベース定義ファイル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.
データストア属性と初期接続属性は、作成されるデータベース定義に設定されます。この例では、これはDataStore、LogDir、DatabaseCharacterSet、PermSizeおよび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およびPWDをdbdefファイルに指定することはできません。
データベース定義の作成後にモデルを適用すると、必要なすべての構成ファイルの新しいバージョンが各データ・インスタンスに書き込まれ、dbdefの設定に従ってエントリが追加されます。(構成ファイルを手動で編集しないでください。モデルを適用するたびに上書きされます。)
dbdefDeleteコマンドは、モデルからデータベース定義オブジェクトを削除します。
ttGridAdmin dbdefDelete name
[-cascade|-nocascade]
オプション
dbdefDeleteコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
削除するデータベース定義オブジェクトの名前。 |
-cascade |
また、このデータベース用に追加で作成した接続可能オブジェクトも削除します。これはデフォルトです。 |
-nocascade |
接続可能オブジェクトは削除しないでください。 |
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
dbdefListコマンドは、モデルの指定されたバージョンに存在するデータベース定義オブジェクトをリストします。
ttGridAdmin dbdefList [-latest|-current|-version n]
オプション
dbdefListコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-latest |
最新モデル(変更されているものの、まだグリッドに適用されていないモデル)内のデータベース定義オブジェクトをリストします。これはデフォルトです。 |
-current |
現在のモデル(グリッドに最近適用されたモデル)内のデータベース定義オブジェクトをリストします。 |
-version n |
指定したバージョン番号のモデル内のデータベース定義オブジェクトをリストします。 |
例
database1データベース定義オブジェクトの作成(「データベース定義の作成(dbdefCreate)」を参照)後に、最新モデル内のデータベース定義オブジェクトをリストします(デフォルト)。
% ttGridAdmin dbdefList database1
dbdefModifyコマンドは、モデル内の既存のデータベース定義オブジェクトを変更して、指定したファイルの属性設定に応じてデータベースの特性を定義します。
ttGridAdmin dbdefModify filepath
オプション
dbdefModifyコマンドにはオプションがあります。
| オプション | 説明 |
|---|---|
filepath |
データベース定義オブジェクトを変更するデータベース定義が含まれているファイルのパスおよび名前。
ファイル名は |
例
この例では、「データベース定義の作成(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に示すようなデータ・ストア属性(たとえば、DataStore、DatabaseCharacterSet、LogDir、Durability)は固定されます。dbdefModifyを使用してそれらを変更しようとしても、データベースに影響を与えません。
データベースが存在し、ロードされている場合、dbdefModifyコマンドで初期接続属性を変更しても、データベースをいったんアンロード(dbUnload)してからロードする(dbLoad)までその変更は有効になりません。
このコマンドは、データベース自体は変更せず、データベース定義オブジェクトのみを変更します。
データベース定義オブジェクトを作成したときに自動的に作成された接続可能オブジェクトも、適切に変更されます。
データベース定義の変更後にモデルを適用すると、必要なすべての構成ファイルの新しいバージョンが各データ・インスタンスに書き込まれ、dbdefの設定に従って該当するエントリが変更されます。(構成ファイルを手動で編集しないでください。モデルを適用するたびに上書きされます。)
指定した定義は、以前の定義と完全に置き換わり、データベース定義および接続可能オブジェクト定義の以前の属性設定を削除します。以前に設定されていたものの、新しい定義に設定されていない属性は、デフォルト値に設定されます。
この項ではttGridAdminコマンドを使用して、データベースの作成、破棄、ロード、アンロード、オープン、クローズ、インポートおよびエクスポート、データベースの分散スキームの設定、データベースのステータスの判別、データベースへの接続の強制終了など、データベースに対する操作を実行します。
dbCloseコマンドは、データベースをクローズして、アプリケーションがそのデータベースに接続できなくなるようにします。
ttGridAdmin dbClose name [-nowait | -wait [timeout]]
オプション
dbCloseコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
クローズするデータベースの名前。 |
-nowait | -wait [timeout] |
このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。
大規模なグリッドでは、一般的に、 |
例
この例では、すべてのインスタンスで要素がクローズされることを待機しないでデータベースをクローズし、ステータスをチェックします(データベースが正常にクローズされた後)。
% 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コマンドは、指定されたデータベース定義に従ってグリッド内にデータベースを作成します。
ttGridAdmin dbCreate name [-instance hostname[.instancename]] [-nowait | -wait [timeout]]
オプション
dbCreateコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
データベースの作成に使用するデータベース定義の名前。これがデータベースの名前になります。 |
-instance hostname[.instancename] |
指定した場合、データベース要素は、グリッドのすべてのインスタンスではなく、指定したインスタンスにのみ作成されます。指定したインスタンスのいずれかに以前に正常に作成した要素がある場合は、まずそれを破棄する必要があります。
通常、グリッドで障害が発生した後や、
このオプションを1回のみ使用して、1つのコマンドに1つのインスタンスを指定できます。 |
-nowait | -wait [timeout] |
このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。
大規模なグリッドでは、一般的に、 |
例
この例では、要素がすべてのインスタンスで作成されることを待機しないでデータベースを作成し、ステータスをチェックします。最初はまだデータベース作成が進行中ですが、その後、完了します。
% 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コマンドは、指定されたデータベースを破棄します。データベースに含まれているすべてのデータおよびスキーマが失われ、元に戻すことはできません。
ttGridAdmin dbDestroy name [-instance hostname[.instancename]] [-nowait | -wait [timeout]]
オプション
dbDestroyコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
破棄するデータベースの名前。 |
-instance hostname[.instancename] |
指定した場合、データベース要素は指定したインスタンスでのみ破棄され、グリッドのそれ以外のすべてのインスタンスではそのまま残ります。破棄する要素は、以前にデータベース分散マップから除外または削除されたか、分散マップにまだ追加されていない必要があります。
このオプションを1回のみ使用して、1つのコマンドに1つのインスタンスを指定できます。 |
-nowait | -wait [timeout] |
このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。
大規模なグリッドでは、一般的に、 |
例
この例では、要素がすべてのインスタンスで破棄されることを待機しないでデータベースを破棄します。その後、ステータスをチェックしようとすると、データベースが正常に破棄されたことが示されます。
% 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
dbDisconnectコマンドは、指定されたデータベースへのすべてのユーザー接続を強制的に切断します。これはメンテナンス操作の前に行うと便利です。スムーズに停止してデータ損失がないようにするには、接続を閉じる必要があります。
ttGridAdmin dbDisconnect name -transactional|-immediate|-abort [-nowait | -wait [timeout]]
コマンドが完了するまで、新しいトランザクションは許可されません。
切断リクエストがグリッド内の各データ・インスタンスに送信されます。
関連情報については、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのメモリーからのデータベースのアンロードを参照してください。
|
ノート: dbDisconnectコマンドはサブデーモン接続には影響しません。 |
オプション
dbDisconnectコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
データベースの名前。 |
-transactional|-immediate|-abort |
切断処理のモードを指定します。次のいずれかのモードを指定する必要があります(デフォルトはありません)。
推奨されるベスト・プラクティスは、必要に応じて abortモードは、transactionalレベルおよびimmediateレベルですべての接続が閉じられない場合に、最後の手段としてのみ使用します。中断するとデータが失われる可能性があります。突然中断すると、データベースに接続されているすべてのユーザーおよび ノート: 即時モードで実行すると、アイドル接続も切断されます。transactionalモードでの実行では切断されません。 |
-nowait | -wait [timeout] |
コマンドがすぐに戻るようにするか(デフォルト)、すべての切断が終了するまで待機するかを指定します。-waitを使用すると、必要に応じて待機時間をtimeout秒に制限できます。
データベース管理コマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。具体的には、
多数の接続がある場合は、 ノート: |
例
次に例を示します。
dbStatusを使用して既存の接続を表示します。
データベースをクローズして確認します。
transactionalモード(待機なし)で切断します。
dbDisconnectStatusでdbDisconnectコマンドのステータス、およびdbStatusで接続のステータスを確認します。(dbDisconnectコマンドが進行中であり、接続がまだ存在します。)
接続が閉じられるように、immediateモード(待機なし)で切断します。
dbDisconnectStatusでdbDisconnectコマンドのステータス、および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
---- -------- ------ ---- --- ---- ----- ----- ----
%
dbDisconnectStatusコマンドは、実行中または最後に実行されたdbDisconnectコマンドのステータスを報告します。
ttGridAdmin dbDisconnectStatus name
次のいずれかの状態が、dbDisconnectコマンドの全体的なステータスについて報告されることがあります。
Defined: 切断がリクエストされましたが、まだ開始されていません。
Disconnecting: 少なくとも1つの要素で切断が進行中です。
Failed: 少なくとも1つの要素で切断に失敗しました。
Complete: すべての要素で切断が正常に完了しました。
次のいずれかの状態が、指定されたインスタンスの切断のステータスについて報告されることがあります。
Disconnecting: インスタンスで切断が進行中です。
Failed: インスタンスで切断に失敗しました。
Disconnected: インスタンスで切断が正常に完了しました。
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つのインスタンスを指定しますが、 追加が適用されると、データはグリッド全体に均等に分散されます。 ノート:
また、このオプションと、 |
-remove hostname[.instancename] |
このオプションは、古いホスト・システムを新しいものと置き換えるなど、要素を削除し、必要に応じて置換する場合に使用します。また、次の「ノート」も参照してください。
用途ごとに1つのインスタンスを指定しますが、 通常は、
ノート: Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータベースのデータの再分散を参照してください。 |
-evict hostname[.instancename] |
このオプションは、レプリカ・セットのすべての要素(k=1の場合は1つの要素、k=2の場合は2つの要素)にリカバリ不能な障害があり、修復できない場合に使用します。
重要: 用途ごとに1つのインスタンスを指定しますが、
ノート:
詳細は、次の「ノート」も参照してください。 詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベースのデータの再分散に関する項を参照してください。 |
-replaceWith hostname[.instancename] |
必要に応じて、指定した置換に同じデータを含めるには、これを-evictまたは-removeとともに使用します。置換後のインスタンスの要素は、以前に分散に追加されていない必要があります。
|
-list |
データベースの現在および保留中の分散マップを表示します(それぞれ「Holds Data」および「Will Hold Data」)。 |
-apply |
データベースに新しい分散を適用します。このオプションを単独で使用して、以前のコマンドから設定を適用したり、同じコマンドラインにその設定を指定できます。 |
-reset |
まだ適用されていないすべての分散設定を破棄します。このオプションは他のオプションと組み合せることはできません。
ノート: |
-resync |
dbDistribute -applyコマンドの状態が不明な場合に、アクティブな管理インスタンスのメタデータでユーザー・データベース内のメタデータを再同期化することが試みられます。たとえば、ユーザー・データベースと管理インスタンスは、通信の失敗または損失が原因で状態が一致していない可能性があります。場合によっては、管理インスタンスがデータ・インスタンスに対するdbDistribute操作の成功または失敗を認識できず、中間状態のままになることがあります。
このオプションは他の 関連情報については、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータ分散エラーからのリカバリを参照してください。 ノート: |
例
この例では、分散マップにグリッド内のすべての要素を追加し、要素間でデータを分散します。
% 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コマンドは、グリッドに作成されたデータベースをリストし、それらがロードされているか、オープンされているかを示します。
ttGridAdmin dbList
ttGridAdmin dbLoadコマンドは、指定されたデータベースをメモリーにロードします。データベースをアプリケーションで使用するには、そのデータベースをロードしてオープンしておく必要があります。
ttGridAdmin dbLoad name [-nowait | -wait [timeout]]
オプション
dbLoadコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
ロードするデータベースの名前。 |
-nowait | -wait [timeout] |
このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。
大規模なグリッドでは、一般的に、 |
例
この例では、すべてのインスタンスに要素がロードされることを待機しないでデータベースをロードし、ステータスをチェックします(データベースが正常にロードされた後)。
% 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)
dbOpenコマンドは、データベースをオープンして、アプリケーションがそのデータベースに接続できるようにします。
ttGridAdmin dbOpen name [-nowait | -wait [timeout]]
オプション
dbOpenコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
オープンするデータベースの名前。 |
-nowait | -wait [timeout] |
このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。
大規模なグリッドでは、一般的に、 |
例
この例では、すべてのインスタンスで要素がオープンされることを待機しないでデータベースをオープンし、ステータスをチェックします(データベースが正常にオープンされた後)。
% 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コマンドは、アクティブ管理インスタンスからの情報を使用して、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オプションとともに使用すると、既存のアプリケーション接続に関連付けられたすべてのプロキシ接続の情報も表示されます。
ノート: このオプションは、 |
-system |
-connectionsオプションとともに使用すると、サブデーモンやTimesTenユーティリティで使用されるようなTimesTen内部接続も表示されます。
ノート: このオプションは、 |
データベース全体のステータス
dbStatusコマンドは、データベース全体のステータスを示し、全体として作成/破棄、ロード/アンロード、オープン/クローズの状態にあるかどうかを示す行を表示します。(たとえば、created,loaded-complete,closedとなります。)
created、creating、destroyed、loading、loaded、unloaded、unloading、opening、opened、closing、closedの各状態は、前述のように、対応するデータベース管理コマンドが進行中か完了したかを示します。
さらに、次のような状態もあります。
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です。クライアント/サーバー・アプリケーションの場合、これはアプリケーションにかわって動作するクライアント/サーバー |
Type |
接続のタイプ。次のいずれか1つを使用します。
|
CHost |
クライアント/サーバー接続の場合、アプリケーションが実行されているクライアントのホスト名。
ノート: |
CAddr |
クライアント・サーバー接続の場合、アプリケーションが実行されているクライアントのIPアドレス。
ノート: |
CPid |
クライアント/サーバー接続の場合、アプリケーションのオペレーティング・システム・プロセスID。
ノート: |
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コマンドは、指定されたデータベースをメモリーからアンロードします。
ttGridAdmin dbUnload name [-nowait | -wait [timeout]] [-force]
|
重要: トランザクションの進行中にdbUnloadコマンドを発行した場合、このコマンドはトランザクションが完了することを待機しません。このため、データが失われる可能性があります。 |
オプション
dbUnloadコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
アンロードするデータベースの名前。 |
-nowait | -wait [timeout] |
このコマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。
大規模なグリッドでは、一般的に、 |
-force |
Durability=0で、少なくとも1つのレプリカ・セットが完全に停止している場合、このオプションにより、アンロードは続行します。
重要: このオプションを使用すると、データが失われる可能性があります。 (通常、データ損失を防ぐため、各レプリカ・セットから少なくとも1つの要素がロードされている場合を除き、 |
例
この例では、すべてのインスタンスで要素がアンロードされることを待機しないでデータベースをアンロードし、ステータスをチェックします(データベースが正常にアンロードされた後)。
% 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)
この項ではttGridAdminコマンドを使用して、モデルでのグリッドの作成、グリッドでのパスワードなしSSHの構成、グリッドに関する情報の収集、グリッドへの変更を行います。この他に、グリッドの外部にあるクライアントで使用されるsys.odbc.iniファイルを生成するためのコマンドもあります。
gridClientExportコマンドは、グリッドの一部ではないTimesTenインスタンスがグリッド内のデータベースにアクセスするために使用できるsys.odbc.iniファイルを生成します。
ttGridAdmin gridClientExport [filepath]
生成されるファイルには、グリッドで定義されているすべてのクライアント/サーバー接続可能オブジェクトの定義が含まれています。このファイルは、グリッドの外部にあってグリッド内のデータベースへの接続元とするTimesTenクライアント・インスタンスに手動でコピーする必要があります。
オプション
gridClientExportコマンドにはオプションがあります。
| オプション | 説明 |
|---|---|
filepath |
sys.odbc.iniエントリが書き込まれるファイルのパスと名前。
ファイルを指定しないと、エントリは |
例
この例では、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コマンドは、グリッドと、モデルの初期バージョンを作成します。
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アドレスに解決される必要があります。
また、次の「ノート」および「アドレス形式」も参照してください。 |
-externalAddress addr |
クライアント/サーバー接続を対象とした、グリッドの外部にある、外部通信用のローカル・システムのDNS名またはIPアドレス。これは、-internalAddressとともに使用してください。
このオプションには1つの名前またはアドレスのみを指定しますが、1つの名前が1つ以上のIPアドレスに解決されることがあります。
また、次の「ノート」および「アドレス形式」も参照してください。 |
-address addr |
外部通信と内部通信の両方用のローカル・システムのDNS名またはIPアドレス(単一のアドレスが使用されている場合)。-address xxxを設定することは、-internalAddress xxxおよび-externalAddress xxxを設定することとまったく同じです。
このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。
ノート: 本番環境で単一のアドレスを使用することはお薦めしません。 また、次の「ノート」および「アドレス形式」も参照してください。 |
-mgmtPort n |
アクティブ管理インスタンスにある管理データがレプリケートされるときに、レプリケーションのために初期管理インスタンスが使用するポート番号。これは、管理インスタンスが2つある場合に必須です。デフォルトは3754です。 |
-host name |
グリッド内の初期ホストのためにモデル内のホスト・オブジェクトに付与される名前を指定します。指定しないと、オペレーティング・システム・ホスト名の最初のコンポーネントが使用されます(最初の「.」までのホスト名で「.」自体は含みません。たとえば、myhostとなります)。 |
-retainDays numdays |
モデルの古いバージョンがnumdays日間保持され、その後自動的に削除されることを指定します。numdaysが0の場合、モデルの古いバージョンは経過期間に基づいて自動的に削除されません。デフォルトは30です。
また、次の「ノート」も参照してください。 |
-retainVersions n |
モデルの古いバージョンをn個保持することを指定します。最新のn個のバージョンよりも古いものは削除されます。nが0の場合、モデルの古いバージョンは、バージョンの数に基づいて自動的に削除されません。デフォルトは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コマンドは、グリッドに関する情報を表示するために使用します。
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コマンドは、グリッドに関する診断情報を指定されたファイルに出力します。このコマンドは、非常に大量の情報を出力し、Oracle Supportによる使用を目的としています。
ttGridAdmin gridDump [filepath]
gridLogCollectコマンドは、グリッド内のすべてのインスタンスからTimesTen構成ファイルとともにデーモン・ログおよびその他の診断情報を収集します。これらすべての集計が収集されます。
ttGridAdmin gridLogCollect -repository reponame [collection]
オプション
gridLogCollectコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-repository reponame |
ログ、診断情報および構成ファイルのコレクションが格納されているリポジトリの名前。
「リポジトリの作成(repositoryCreate)」を参照してください。 |
collection |
ログ、診断情報および構成ファイルを格納するために作成されたコレクションの名前。
指定しないと、名前は |
例
この例では、リポジトリを作成し、そのリポジトリにログ、診断情報および構成ファイルのコレクションを作成します。(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ユーザーズ・ガイド』のグリッド・ログの収集に関する説明を参照してください。)
gridModifyコマンドは、グリッドの以前のモデルが保持される期間や、グリッドの以前のモデルが保持される数など、グリッドのプロパティを変更します。
ttGridAdmin gridModify [-retainDays numdays] [-retainVersions n] [-warnThresh percent]
オプション
gridModifyコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-retainDays numdays |
モデルの古いバージョンがnumdays日間保持され、その後自動的に削除されることを指定します。numdaysが0の場合、モデルの古いバージョンは経過期間に基づいて自動的に削除されません。デフォルトは30です。
また、次の「ノート」も参照してください。 |
-retainVersions n |
モデルの古いバージョンをn個保持することを指定します。最新のn個のバージョンよりも古いものは削除されます。nが0の場合、モデルの古いバージョンは、バージョンの数に基づいて自動的に削除されません。デフォルトは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 ...
必要に応じて、または指定されているとおり、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アドレス)を使用します。たとえば、gridSshConfigにmysys1を指定している場合に、hostCreateにmysys1.example.comを指定しないでください。
gridSshConfigは、問題を発生させることなく、複数回実行できます。後から追加したホストでパスワードなしSSHを有効にする必要がある場合に、再度それらのホストに対してコマンドを実行しても、構成済のホストへの影響はありません。
実行中に障害が発生した場合でも、コマンドはできるかぎり多くのホストで構成を完了します。
エラー・ログのPermission deniedエラーは、指定したパスワードが正しくないか、コマンドが正常に完了しない別の権限の問題があることを示している可能性があります(たとえば、.sshディレクトリが配置されているユーザー・ホーム・ディレクトリに対する不適切な権限など)。
この項ではttGridAdminコマンドを使用して、モデルでのホストの定義、ホストの変更、ホストの削除、すべてのホストでのコマンドの実行、またはすべてのホストのリストを行います。
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となります)。
このオプションを省略する場合、 |
-internalAddress addr |
グリッド内部にある、内部通信用のホストのDNS名またはIPアドレス。これは、-externalAddressとともに使用してください。指定したアドレスでパスワードなしSSHを介してホストにアクセスできる必要があります。
このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。
また、次の「ノート」および「アドレス形式」も参照してください。 |
-externalAddress addr |
クライアント/サーバー接続を対象とした、グリッドの外部にある、外部通信用のホストのDNS名またはIPアドレス。これは、-internalAddressとともに使用してください。指定したアドレスでパスワードなしSSHを介してホストにアクセスできる必要があります。
このオプションには1つの名前またはアドレスのみを指定しますが、1つの名前が1つ以上のIPアドレスに解決されることがあります。
また、次の「ノート」および「アドレス形式」も参照してください。 |
-address addr |
外部通信と内部通信の両方用のホストのDNS名またはIPアドレス(単一のアドレスが使用されている場合)。指定したアドレスでパスワードなしSSHを介してホストにアクセスできる必要があります。
このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。
ノート: 本番環境で単一のアドレスを使用することはお薦めしません。 また、次の「ノート」および「アドレス形式」も参照してください。 |
-dataspacegroup n |
このホストがデータ領域グループ番号nに属することを指定します。グリッドが保持するデータ領域グループの数は、グリッドに対して設定されたk値によって決まります。
データ・インスタンスがあるホストは、データ領域グループに属している必要があります。 また、 ノート: ホストがデータ領域グループに割り当てられ、 |
-nodataspacegroup |
ホストがデータ領域グループに割り当てられないことを指定します。これはデフォルトです。
データ・インスタンスがあるホストは、データ領域グループに属している必要があります。 また、 |
-physicalgroup group1 [group2 [ group3 [...]]] |
このホストが関連付けられる物理グループのセットを指定します。
失敗した場合に備えて冗長性を確保するために、別々の物理グループ間にデータ・インスタンスを分散することをお薦めします。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータ領域グループへのホストの割当てに関する説明を参照してください。 また、 ノート: 物理グループの割当ては、 |
-nophysicalgroup |
ホストがどの物理グループにも関連付けられないことを指定します。これはデフォルトです。
また、 |
-like name |
指定する他のオプションによって既存のホストの設定が上書きされる場合を除き、指定された既存のホストと同じ属性でこの新しいホストを作成する必要があることを指定します。
また、 |
-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
これにより、mysys2hostにgridmgmt1が定義され、mysys1hostにgridmgmt1が複製されます。
データ・インスタンスのホストを作成し、データ領域グループを指定します。
% ttGridAdmin hostCreate mysyshost3 -internalAddress intmysys3.example.com -externalAddress extmysys3.example.com -dataSpaceGroup 1 Host mysyshost3 created in Model
ノート
ホスト・アドレスを指定する際には、各ホストでそのホストに対するgridSshConfigコマンドに使用されていたのと同じ形式(完全修飾ドメイン名、単純なホスト名またはIPアドレス)を使用します。たとえば、gridSshConfigにmysys1.example.comを指定している場合に、hostCreateにmysys1を指定しないでください。
後でhostModifyを使用して一部の設定を変更できます。
ホストの作成中にデータ領域グループにホストを割り当てない場合は、後で、dataSpaceGroupSuggestコマンドを使用して、各ホストに関連付けられている物理グループに基づいて最適な割当てを決定したり、hostModifyコマンドを使用して、データ領域グループを手動で選択できます。
グリッド内のホストは、システム・トポロジに応じて、1つまたは2つのネットワーク・アドレスで構成できます。2つのアドレスで構成した場合、1つはグリッド内にある(内部)システムとの通信に使用され、1つはグリッド外にある(外部)システムからグリッド内にあるデータベースへのクライアント/サーバー・アクセスに使用されます。1つのアドレスで構成した場合(本番環境にはお薦めしません)、そのアドレスは内部通信と外部通信の両方に使用されます。-addressを設定するか、-internalAddressおよび-externalAddressを設定する必要があります。
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
hostExecコマンドは、指定に従い、グリッド内のホストで。コマンド(システム・コマンドやTimesTenコマンドなど)またはスクリプトを実行します。
ttGridAdmin hostExec [-only hostname] [-exclude hostname] [-parallel n] command | -script filepath
オプション
hostExecコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-only hostname |
コマンドまたはスクリプトは、指定したホストに対してのみ実行されます。-onlyでは1つのホストのみを指定しますが、コマンドラインで-onlyを複数回使用できます。
モデルに定義されているホスト名を使用します。
|
-exclude hostname |
コマンドまたはスクリプトは、ホストを指定した場合を除き、グリッド内のすべてのホストで実行されます。-excludeでは1つのホストのみを指定しますが、コマンドラインで-excludeを複数回使用できます。
モデルに定義されているホスト名を使用します。
|
-parallel n |
コマンドまたはスクリプトが最大n個のホストで同時に実行されることを指定します。デフォルトは10です。値が1の場合はシリアルに実行されます。 |
command | -script filepath |
commandには、実行するコマンドを指定します。
または:
|
例
この例では、まずグリッド内の既存のホストを示し、次に、各ホストで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% /
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
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 group1 [group2 [group3 [...]]] |
ホストが関連付けられているグループに指定した物理グループを追加します。
また、 |
-removephysicalgroup group1 [group2 [group3 [...]]] |
ホストが関連付けられているグループから指定した物理グループを削除します。
また、 |
-nophysicalgroup |
ホストがどの物理グループにも関連付けられず、以前の関連付けが削除されることを指定します。
また、 |
-dataspacegroup n |
このホストが属するデータ領域グループの数を指定します。グリッドが保持するデータ領域グループの数は、グリッドに対して設定されたk値によって決まります。
データ・インスタンスがあるホストは、常にデータ領域グループに属している必要があります。 |
-nodataspacegroup |
このホストがどのデータ領域グループにも属さない(デフォルト)ことを指定します |
-comment comment |
ホスト・オブジェクトにコメントを関連付けるか、既存のコメントを変更します。空白がある場合には、コメントを引用符で囲みます。コメントは、hostListコマンドの出力に格納され、含められます。 |
この項ではttGridAdminコマンドを使用して、データベースをインポートおよびエクスポートしたり、それらの操作のステータスを表示したり、エクスポートを削除します。
また、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータの移行、バックアップおよびリストアに関する説明も参照してください。
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つのみとなり、dbExportをdbImportと同時に実行することはできません。
ディスク領域の要件は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータベースのエクスポートおよびインポートに関する説明を参照してください。
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コマンドは、以前に開始された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
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つのみとなり、dbImportをdbExportと同時に実行することはできません。
-ckptFreq、-updateStats、-estimateStatsの各オプションの機能は、ttMigrateユーティリティの同等のオプションのものと同じです。「ttMigrate」を参照してください。
ディスク領域の要件は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのデータベースのエクスポートおよびインポートに関する説明を参照してください。
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
この項ではttGridAdminコマンドを使用して、モデルでのTimesTenインストールの定義、グリッド内のすべてのインストールのリスト、すべてのインストールのステータスの表示、インストールの削除、またはすべてのインストールでのコマンドの実行を行います。
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
デフォルトは、 また、「アドレス形式」も参照してください。 |
-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
installationDeleteコマンドは、モデルからインストールを削除します。これは、指定されたホストで指定されたインストール(場合によっては唯一のインストール)を削除します。
ttGridAdmin installationDelete hostname[.installname]
オプション
installationDeleteコマンドにはオプションがあります。
| オプション | 説明 |
|---|---|
hostname[.installname] |
hostnameは、インストールを削除するホストの名前です。installnameは、削除するインストールの名前で、ホストにインストールが複数ある場合にのみ必須です。 |
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には、実行するコマンドを指定します。
または:
|
例
この例では、各インストールのファイル・システム上のディスク領域使用量を確認します。
% 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% /
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コマンドは、グリッドに関連付けられているすべてのインストールのステータスを表示します。これは、モデル内のインストールのステータスではなく、物理インストールのステータスです。
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コマンドは、指定したバージョンのモデルから、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
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コマンドは、モデルにインスタンスを定義します。
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コマンドは、モデルからインスタンスを削除します。
ttGridAdmin instanceDelete hostname[.instancename]
オプション
instanceDeleteコマンドにはオプションがあります。
| オプション | 説明 |
|---|---|
hostname[.instancename] |
hostnameは、インスタンスを削除するホストの名前です。instancenameは、削除するインスタンスの名前で、ホストにインスタンスが複数ある場合にのみ必須です。 |
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 |
コマンドまたはスクリプトが、すべてのインスタンス(デフォルト)、管理インスタンスのみ、またはデータ・インスタンスのみのいずれに対して実行されるかを指定します。
これは、 |
-up |
コマンドまたはスクリプトが現在のメンバーシップに属するインスタンスでのみ実行されることを指定します。デフォルトでは、すべてのインスタンスで(それらが実行されているかどうかに関係なく)コマンドを実行します。 |
command | -script filepath |
commandには、実行するコマンドを指定します。
または:
|
例
各データ・インスタンスで、この例では/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.
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コマンドは、モデル内の既存のインスタンス・オブジェクトを変更します。
ttGridAdmin instanceModify hostname[.instancename] [-installation name] [-mgmtPort n] [-comment comment]
オプション
instanceModifyコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
hostname[.instancename.] |
hostnameは、インスタンスを変更するホストの名前です。instancenameは、変更するインスタンスの名前で、ホストにインスタンスが複数ある場合にのみ必須です。 |
-installation name |
モデル内のインストールの名前で指定されている、ホスト上の別のインストールにインスタンスを関連付けます。 |
-mgmtPort n |
管理インスタンスの場合、アクティブ管理インスタンス上の管理データがレプリケートされるときにレプリケーションで使用される新しいポート番号。これに対する変更は、コマンドの発行時点で管理インスタンスが1つである場合にのみ可能ですが、この変更が重要になるのは、管理インスタンスを2つにする予定がある場合のみです。 |
-comment comment |
インスタンス・オブジェクトにコメントを関連付けるか、既存のコメントを変更します。空白がある場合には、コメントを引用符で囲みます。コメントは、instanceListコマンドの出力に格納され、含められます。 |
この項ではttGridAdminコマンドを使用して、1つ以上の管理インスタンスの起動、停止、切替え、調査、またはステータスのチェックを行います。適切な管理インスタンスからコマンドを実行します。
|
ノート: 通常、アクティブとスタンバイという2つの管理インスタンスがあります。グリッド管理機能を実行するには、管理インスタンスをアクティブ・インスタンスとして起動する必要があり、これはttGridAdminから実行できます。(当初、グリッドの作成元のインスタンスがアクティブ管理インスタンスになります。)
『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のグリッドの構成に関する説明を参照してください。 |
関連情報は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』の管理インスタンスのフェイルオーバーの管理に関する説明を参照してください。
mgmtActiveStartコマンドは、現在の管理インスタンス(コマンドの実行元)をアクティブ管理インスタンスとして起動します。
ttGridAdmin mgmtActiveStart
mgmtActiveStopコマンドは、アクティブ管理インスタンスを停止します。
ttGridAdmin mgmtActiveStop
このコマンドは、通常、グリッドの停止における最後のステップとして使用します。そうではなく、管理インスタンスが2つある場合は、かわりにmgmtActiveSwitchを使用することをお薦めします。
ノート
このコマンドを2つの管理インスタンスがあるグリッドで使用する場合(グリッドを停止していないかぎり、お薦めしません)、それはアクティブ管理インスタンスまたはスタンバイ管理インスタンスから実行できます。スタンバイ管理インスタンスをアクティブ管理インスタンスに昇格させるために自動的に行われることは何もありません。(「mgmtActiveSwitch」を参照してください。)
データ・インスタンスが実行されている場合、現時点でそのインスタンスにロードされているデータベース要素は動作を継続します。
アクティブ管理インスタンスを再起動するまで、管理操作は実行できません。
データ・インスタンスが停止または失敗した場合、そのインスタンスはアクティブ管理インスタンスを再起動するまで再起動できません。
mgmtActiveSwitchコマンドは、現在のスタンバイ管理インスタンスから実行され、そのインスタンスがアクティブ管理インスタンスになります。元のアクティブ管理インスタンスは、到達可能であれば停止します。
ttGridAdmin mgmtActiveSwitch [-force]
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
mgmtStandbyStartコマンドは、現在の管理インスタンス(コマンドの実行元)をスタンバイ管理インスタンスとして起動します。
ttGridAdmin mgmtStandbyStart
アクティブ管理インスタンスに障害が発生し、スタンバイをアクティブに昇格させた後、このコマンドを実行して元のアクティブ管理インスタンスが新しいスタンバイ管理インスタンスになるようにするなどのシナリオが一般的です。
mgmtStandbyStopコマンドは、スタンバイ管理インスタンスを停止します。
ttGridAdmin mgmtStandbyStop
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コマンドは、指定されたバージョンのグリッド・モデルから指定されたファイルにメンバーシップ・クライアント構成ファイルの内容をエクスポートします。
ttGridAdmin membershipConfigExport [-latest|-current|-version n] [filepath]
オプション
membershipConfigExportコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-latest |
最新モデル(変更されているものの、まだグリッドに適用されていないモデル)から構成ファイルをエクスポートします。これはデフォルトです。 |
-current |
現在のモデル(グリッドに最近適用されたモデル)から構成ファイルをエクスポートします。 |
-version n |
指定したバージョン番号のモデルから構成ファイルをエクスポートします。 |
filepath |
メンバーシップ・クライアント構成ファイルの内容を書き込むファイルのパスと名前。ファイルを指定しないと、構成はstdoutに書き込まれます。 |
membershipConfigImportコマンドは、グリッドの最新モデルにあるメンバーシップ・クライアント構成ファイルを指定されたファイルに置き換えます。
ttGridAdmin membershipConfigImport filepath
また、「グリッドの作成(gridCreate)」でgridCreate -membershipConfigオプションの情報も参照してください。
例
この例では、前の項の例(次に再度示します)で作成したファイルをインポートします。
% 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
この項ではttGridAdminコマンドを使用して、グリッドへの最新バージョンのモデルの適用、モデルのバージョンの削除、JSONファイルへのモデルのバージョンのエクスポート、JSONファイルからのモデルのバージョンのインポート(最新のバージョンになります)、モデルの2つのバージョンの比較、またはモデルのすべてのバージョンに関する情報のリストを行います。
|
ノート: モデルの最新バージョンとは、編集および更新のために保留中のバージョンです。これは、モデルにまだ適用されていません。モデルの現在のバージョンとは、モデルに適用された最新バージョンです。最新バージョンのモデルのみを編集できます。他のすべてのバージョンは読取り専用です。最新バージョンを適用すると、それが現在のバージョンになり、コピーが作成されて初期最新バージョンとして機能するようになります。 |
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コマンドは、モデルの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"
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
modelImportコマンドは、JSONファイル(多くの場合、modelExportコマンドを使用して以前にエクスポートされたもの)からモデルをインポートしてモデルの最新バージョンを更新したり、後でモデルを更新するために使用できるスクリプトを作成します。
ttGridAdmin modelImport [-script scriptpath] [filepath]
オプション
modelImportコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-script scriptpath |
指定した名前とパスでスクリプトを作成します。modelImportを実行しても、モデルは更新されません。かわりに、このようにして生成したスクリプトを後で実行して、インポートしたバージョンに準拠するようにモデルの最新バージョンを変更できます。これにより、事前に変更をレビューできます。
|
filepath |
モデルの表現の読取り元のJSONファイルのパスと名前。
|
例
モデルの最新バージョン(バージョン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!
この項ではttGridAdminコマンドを使用して、Oracleデータベースに接続するためのsqlnet.ora構成またはTNS名のエントリをインポートまたはエクスポートします。
これらは、TimesTen ScaleoutのアプリケーションがttLoadFromOracleユーティリティ、OCIまたはPro*C/C++を使用してOracleデータベースと対話できるようにするOracle Database機能です。
|
ノート:
|
この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)
SQLNetImportコマンドは、指定されたファイルからsqlnet.ora構成(ttLoadFromOracle、OCI、Pro*C/C++またはODP.NETを介したOracleデータベースとの通信に使用されたもの)をモデルの最新バージョンのsqlnet.oraファイルにインポートします。これは、既存のsqlnet.ora構成に代わるものとなります。
ttGridAdmin SQLNetImport filepath
|
ノート: 以前のインポートは上書きされます。 |
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)
)
)
...
TNSNamesImportコマンドは、指定されたファイルからTNS名エントリ(ttLoadFromOracle、OCI、Pro*C/C++またはODP.NETを介したOracleデータベースとの通信に使用されたもの)をモデルの最新バージョンのtnsnames.oraファイルにインポートします。これは、以前にインポートしたTNS名エントリを置き換えます。
ttGridAdmin TNSNamesImport filepath
この項ではttGridAdminコマンドを使用して、モデル内で物理グループを定義または削除したり、モデル内の物理グループをリストします。
physicalCreateコマンドは、モデルに物理グループを定義します。
ttGridAdmin physicalCreate name [-comment comment]
physicalDeleteコマンドは、モデルから物理グループを削除します。
ttGridAdmin physicalDelete name
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コマンドは、グリッドに既存のリポジトリをアタッチして使用できるようにします。
ttGridAdmin repositoryAttach name -path path -method mount|scp [-address internalAddress]
オプション
repositoryAttachコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
アタッチするリポジトリの名前。 |
-path path |
リポジトリが配置されている親ディレクトリへの完全修飾パス。
|
-method mount|scp |
グリッド・インスタンスがリポジトリにアクセスする方法を示します。サポートされているオプションは、mountまたはscpです。
ノート: |
-address internalAddress |
scpを介してアクセスするリポジトリの場合、このオプションは必須であり、リポジトリが配置されているシステムのDNS名またはIPアドレスを指定します。
また、「アドレス形式」も参照してください。 |
repositoryCreateコマンドは、グリッドに使用可能な新しいリポジトリを作成します。
ttGridAdmin repositoryCreate name -path path -method mount|scp [-address internalAddress]
オプション
repositoryCreateコマンドには、次のオプションがあります。
| オプション | 説明 |
|---|---|
name |
リポジトリの名前を指定します。これは、-pathによって指定された親ディレクトリの下に作成されるディレクトリの名前です。 |
-path path |
リポジトリを作成する親ディレクトリへの完全修飾パス。このディレクトリは、リポジトリが配置されるシステムにすでに存在し、インスタンス管理者によって読取りおよび書込み可能である必要があります。
|
-method mount|scp |
グリッド・インスタンスがリポジトリにアクセスする方法を示します。サポートされているオプションは、mountまたはscpです。
ノート: 作成しているリポジトリに後で |
-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ファイルには、リポジトリに関する情報が含まれています。
repositoryDetachコマンドは、グリッドからリポジトリをデタッチ(関連付け解除)して、グリッドから使用できなくなるようにします。
ttGridAdmin repositoryDetach name
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ユーティリティは、TimesTenインストールのinstallation_dir/tt18.1.4.1.0/binディレクトリから実行され、1つのデータベース定義を伴う新しいグリッドを作成します。データベースは作成およびロードされ、その分散が構成された後、オープンされます。
このユーティリティは、作成するグリッドのユーザー定義パラメータおよび属性が含まれている構成ファイルを読み取ります。TimesTenに付属する構成テンプレートをコピーして変更できます。
グリッドの形状、使用するホスト、管理インスタンスの数(1つまたは2つ)、データ・インスタンスの数などの設定を指定できます。デフォルトでは、ホスト、管理インスタンスおよびデータ・インスタンスを指定しない場合、指定した形状に適した単一の管理インスタンスと数多くのデータ・インスタンスがローカル・ホストに作成されます。
必要に応じて、指定した他のホストにttGridRolloutの実行元のインストールをコピーして、追加のデータ・インスタンスと、1つのスタンバイ管理インスタンスを作成できます。2つの管理インスタンスを指定する場合は、最初のものがローカル・ホストに存在する必要があります。
ttGridRolloutユーティリティは、ttGridAdminユーティリティ(同じく、最初の管理インスタンスにttInstanceCreateを使用)のラッパーであり、ttGridRolloutによって実行されたアクションをttGridAdminで必要に応じて直接実行できます。ttGridRolloutでグリッドを作成したら、ttGridAdminを使用してそれを保守し、変更を加えます。
ttGridRolloutユーティリティは、通常、サンプル・グリッドや、製品の設計および評価中に使用されるグリッドを作成するために使用します。
|
重要:
|
必要な権限
このユーティリティを実行するユーザーは作成されたすべてのインスタンスのインスタンス管理者になり、ユーザーのプライマリ・ユーザー・グループはTimesTenユーザー・グループになります。
どこにインストールおよびインスタンスを作成する場合でも、ファイル・システムへの書込み権限が必要です。
オプション
ttGridRolloutには次のオプションがあります。
| オプション | 説明 |
|---|---|
-h
|
ヘルプ情報を表示します。 |
conf_file |
グリッドおよびデータベースを作成するためのパラメータが含まれている構成ファイルを指定します。
読取り専用のテンプレート( |
-n | -dry-run |
実行するコマンドが表示されますが、実行はされません。他のオプションを指定すると、実行するコマンドの表示にそれが反映されます。
ノート: コマンドを実行する前にこれを行うことをお薦めします。 |
-wait n |
ttGridRolloutが戻る前に、データベースの状態が完了に変化することを待機する時間を指定します。デフォルトでは、待機時間に制限はありません。
(作成、ロード、オープンなどTimesTen Scaleoutのデータベース操作によって状態の変更が開始され、それがグリッドのアクティブ管理インスタンスに記録されます。グリッドの各インスタンスでデータベース操作が完了すると、状態の変更が完了します。) |
-timeout n |
実行時間の長い操作の完了を待機する最大秒数。デフォルトは600です。 |
|
ノート: -waitオプションは、データベース操作にのみ適用されます。-timeoutオプションは、任意の操作に適用されます。これらのオプションは、ttGridAdminに渡されます。
また、「コマンドのタイムアウトと待機」も参照してください。 |
構成ファイル・パラメータ
次の表では、ttGridRollout構成ファイル(慣例によりttgrid.confという名前)でサポートされている構成パラメータについて説明します。
|
重要: これらのパラメータは、構成ファイルで必須です。
|
| パラメータ | 説明 |
|---|---|
cs_connect_files |
必要に応じて、クライアント/サーバー接続可能オブジェクトの接続可能オブジェクト・ファイル(.connect)。複数の.connectファイルをカンマで区切って指定できます。次に例を示します。
cs_connect_files = client1.connect, client2.connect 接続可能オブジェクト・ファイルの詳細は、「接続可能オブジェクトの作成(connectableCreate)」を参照してください。 |
data_hosts |
データ・インスタンスに使用されるホストのエントリのリスト(JSON形式)。
必要に応じてこれを
このパラメータは、 アドレスの指定は必須です。 例:
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" }
]
ノート: |
data_instances |
データ・インスタンスのエントリのリスト(JSON形式)。このパラメータでは、データ領域グループ、ホスト名、インスタンス名、デーモン・ポート番号およびクライアント/サーバー・ポート番号を指定できます。
このパラメータは、 グリッドの形状は、 アドレスの指定は必須です。 例:
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 }
]
ノート:
|
dbdef_file |
データベース定義ファイル(.dbdef)。これは必須です。
ディレクトリは、各ホストで必要に応じて データベース定義ファイルの詳細は、「データベース定義の作成(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ディレクトリは、この場所の直下にあります。このディレクトリは、必要に応じて各ホストに作成されます。既存の場所を指定する場合、ディレクトリは空である必要があります。
デフォルトでは、 この場所は、 |
instance_config |
インスタンス構成に追加する設定のname=valueのペアで構成される、データ・インスタンスのカスタム構成用のファイル。
これを行うには、 |
instance_location |
TimesTenインスタンス(データおよび管理)の親ディレクトリへのパス。これは必須です。インスタンスごとに、timesten_homeディレクトリはこの場所の下にあるinstancenameという名前になります。このディレクトリは、必要に応じて各ホストに作成されます。
この場所は、 |
mgmt_instances |
管理インスタンスのエントリのリスト(JSON形式)。最初のエントリはローカル・ホスト上にある必要があり、これがアクティブ管理インスタンスになります。2つ目のエントリ(該当する場合)は別のシステムに存在する必要があり、これがスタンバイ管理インスタンスになります。
このパラメータは、 アドレスの指定は必須です。 例:
mgmt_instances = [
{ "internalAddress":"tthost1-priv",
"externalAddress":"tthost1.example.com" },
{ "internalAddress":"tthost2-priv",
"externalAddress":"tthost2.example.com" }
]
ノート:
|
shape |
グリッドの目的の形状NxK。それぞれの意味は次のとおりです。
ノート:
|
sqlnet_config |
SQL*Net構成ファイル(ttLoadFromOracle、OCI、Pro*C/C++またはODP.NETを介したOracleデータベースとの通信に使用)。
|
tnsnames_config |
TNS名構成ファイル(ttLoadFromOracle、OCI、Pro*C/C++またはODP.NETを介したOracleデータベースとの通信に使用)。
|
zoo_conf |
Apache ZooKeeperメンバーシップ・サービス・クライアント構成ファイル。すべての管理インスタンス、データ・インスタンスおよびZooKeeperメンバーシップ・サーバーがローカル・ホスト上にある場合を除き、このパラメータは必須です。
ZooKeeperクライアント構成ファイルの例は、「メンバーシップ操作」を参照してください。ZooKeeperをメンバーシップ・サービスとして構成する方法の詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のメンバーシップ・サービスとしてのApache ZooKeeperの使用に関する説明を参照してください。 このパラメータを指定しない場合、 |
構成ファイル・パラメータの属性
ttGridRollout構成パラメータは、次の属性をサポートしています。各パラメータでサポートされている属性を確認するには、前にあげたパラメータの表を参照してください。
| 属性 | 説明 |
|---|---|
address |
外部通信と内部通信の両方用のシステムのDNS名またはIPアドレス(単一のアドレスが使用されている場合)。addressを使用するか、internalAddressおよびexternalAddressを使用します。-address xxxを設定することは、-internalAddress xxxおよび-externalAddress xxxを設定することとまったく同じです。
このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。
ノート: 本番環境で単一のアドレスを使用することはお薦めしません。 また、「アドレス形式」も参照してください。 |
csport |
クライアント/サーバー接続用のポート。
これをデータ・インスタンスに対して指定しなかった場合、 これを管理インスタンスに対して指定しなかった場合、 |
daemonport |
TimesTenデーモン通信用のポート。
これをデータ・インスタンスに対して指定しなかった場合、 これを管理インスタンスに対して指定しなかった場合、 |
dataSpaceGroup |
目的のデータ領域グループ(1または2)。デフォルトはデータ領域グループ1です。
|
externalAddress |
クライアント/サーバー接続を対象とした、グリッドの外部にある、外部通信用のシステムのDNS名またはIPアドレス。addressを使用するか、internalAddressおよびexternalAddressを使用します。-internalAddress xxxおよび-externalAddress xxxを設定することは、-address xxxを設定することとまったく同じです。
このオプションには1つの名前またはアドレスのみを指定しますが、1つの名前が1つ以上のIPアドレスに解決されることがあります。
また、「アドレス形式」も参照してください。 |
host |
グリッド・モデルのホスト・オブジェクトの目的の名前。
ノート: DNS名としてホスト・アドレスを指定した場合、デフォルトのホスト・オブジェクト名はアドレスに従ったものになります(たとえば、アドレス |
installation_location |
ホストまたはインスタンスのグリッド全体のinstallation_location設定を上書きします。詳細は、「構成ファイル・パラメータ」のinstallation_locationを参照してください。 |
instance |
data_instancesまたはmgmt_instancesパラメータを(必要に応じて)使用する場合は、この属性を使用してインスタンス名を指定できます。
あるいは、データ・インスタンスの場合、 あるいは、管理インスタンスの場合、 |
instance_location |
ホストまたはインスタンスのグリッド全体のinstance_location設定を上書きします。詳細は、「構成ファイル・パラメータ」のinstance_locationを参照してください。 |
internalAddress |
内部通信用のDNS名またはIPアドレス(グリッド内)。addressを使用するか、internalAddressおよびexternalAddressを使用します。-internalAddress xxxおよび-externalAddress xxxを設定することは、-address xxxを設定することとまったく同じです。
このオプションには1つの名前またはアドレスのみを指定するため、指定した名前は1つのIPアドレスか、同じネットワーク・セグメント上にある複数のIPアドレスに解決される必要があります。
また、「アドレス形式」も参照してください。 |
mgmtport |
管理インスタンス通信用のポート。
これを指定しなかった場合、 |
例
この項では、様々なタイプの構成にした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 ...