モデルに加えた変更の適用

モデルの最新バージョンでは、現在の構造ではなく、グリッドに必要な構造が記述されます。最新バージョンのモデルに加えた変更は、グリッドの操作構成にすぐには反映されません。最新バージョンのモデルに加えた変更は、グリッドに明示的に適用する必要があります。

モデルのバージョニング

管理インスタンスは、モデルの複数のバージョンを格納します。グリッドでは、常に1つのバージョンのみをアクティブにできます。

TimesTen Scaleoutでは、次のようにモデル・バージョンを分類します。

  • 現在のバージョン: モデルの現在のバージョンは、グリッドの操作構成を記述しています。このバージョン以前のすべてのバージョンは、読取り専用です。

  • 最新バージョン: モデルの最新バージョンは変更可能であり、グリッドに適用する必要があります。このバージョンは読取り/書込み可能です。

グリッドを作成すると、version 1モデルが最初のホスト、インストールおよび管理インスタンスの構成とともに最初に移入され、version 1モデルはモデルの最新バージョンとして認識されます。その後のモデルに対する変更は、最新バージョンのモデル(version 1)に追加されます。ttGridAmin modelApplyコマンドを使用して変更を実装すると、今後の変更用に新しい最新バージョンのモデル(version 2)が作成され、以前の最新バージョンのモデル(version 1)が現在のバージョンのモデルになります。

ttGridAdmin modelApplyコマンドを実行するたびに、TimesTen Scaleoutによって次が行われます。

  1. 最新バージョンのモデル(version n)が読取り専用になります。

  2. 最新バージョンのモデルの書込み可能なコピー(version n+1)が作成されます。

  3. 操作可能グリッドへの、以前にversion nモデルに加えた変更の適用が試行されます。

  4. version nモデルが現行バージョンのモデルとして識別されます。

  5. version n+1モデルが最新バージョンのモデルとして識別されます。

ttGridAdminユーティリティを使用すると、ユーザーは次のようなモデルに関するいくつかの操作を実行できます。

  • 最新バージョンのモデルに加えた変更の適用

  • モデルの2つのバージョンの比較

  • モデルのバージョンのJSON形式のフラット・ファイルへのエクスポート

  • JSON形式のフラット・ファイルの最新バージョンのモデルとしてのインポート

  • モデルの使用可能なすべてのバージョンのリスト

前のバージョンのモデルは自動的に保存されます。ttGridAdmin gridModifyコマンドを使用すると、日数または保存されるバージョン数、あるいはその両方で古いバージョンのモデルの保存期間を指定できます。デフォルトでは、TimesTen Scaleoutは最新の10個のバージョンを30日間保持します。

モデル操作またはttGridAdmin gridModifyユーティリティの詳細は、それぞれ『Oracle TimesTen In-Memory Databaseリファレンス』モデル操作またはグリッド設定の変更(gridModify)を参照してください。

最新バージョンのモデルの適用

ttGridAdmin modelApplyコマンドは、最新バージョンのモデルに加えた変更の操作グリッドへの適用を試行します。たとえば、最新バージョンのモデルに新規データ・インスタンスを追加した場合、このコマンドを実行すると、必要なすべての操作が実行され、指定したホストのインスタンスが作成および初期化されます。ttGridAdmin modelApplyコマンドでは、次のような操作が実行されます。

  • 最新バージョンのモデルから削除されたすべてのオブジェクトを特定して削除します。

  • 新規インストールを作成します。

  • 新規インスタンス、データおよび管理を作成します。

  • すべてのインスタンスの構成ファイルを上書きします。これらのファイルの新しいバージョンには、最新バージョンのモデルで検出された新規エントリが含まれています。

  • ホスト間のSSH接続を確認します。

    ノート:

    新しいインスタンスをモデルに最近追加したか、インスタンスを管理するホストに必要なパスワードなしSSHアクセスを設定していない場合は、モデルの最新バージョンを適用する前に、インスタンス管理者に必要なパスワードなしSSHアクセスを手動で設定するか、ttGridAdmin gridSshConfigコマンドを使用してください。「パスワードなしSSHの設定」を参照してください。

  • 新しいインスタンスを起動します。

grid1グリッドの最新バージョンのモデルに加えたすべての変更を適用します。

% ttGridAdmin modelApply
Creating new model version............................................OK
Exporting current model (version 1)...................................OK
Identifying any changed management instances..........................OK
Identifying any deleted objects.......................................OK
Verifying 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
Starting new data instances...........................................OK
ttGridAdmin modelApply complete

前の各トピックで実行したすべてのタスクの後、ttGridAdmin modelApplyコマンドは、次の操作を実行します。

  1. すべての構成されたホストでインストール・ファイルのコピーを作成します。
  2. 関連ホストでスタンバイ管理インスタンスおよびデータ・インスタンスのインスタンス・ホーム・ディレクトリおよびファイルを作成します。
  3. 最新バージョンのモデルを読取り専用にし、新しい書込み可能モデルを作成します。
  4. 構成されたすべてのホストへのSSH接続を検証します。
  5. スタンバイ管理インスタンスおよびデータ・インスタンスのデーモンを起動します。
  6. アクティブな管理インスタンスおよびスタンバイ管理インスタンスを構成します。

ttGridAdmin modelApplyコマンドの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』最新バージョンのモデルの適用(modelApply)を参照してください。