主コンテンツへ
Oracle® TimesTen In-Memory Database Scaleoutユーザーズ・ガイド
リリース18.1
E98636-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

8 グリッドの保守およびアップグレード

この章では、TimesTen Scaleoutでグリッドを保守および変更する方法について説明します。


ノート:

  • 次の各項では、グリッドの構成およびデータベースの作成に示す例で生成されるグリッドおよびデータベースを、コマンドが実行されるグリッドおよびデータベース構成として想定しています。

  • 次の各項で説明するすべてのタスクでは、特に明記されていないかぎり、インスタンス管理者としてアクティブ管理インスタンスからttGridAdminユーティリティを実行する必要があります。


グリッドのモデルの保守

モデルは、グリッドの構造を決定するオブジェクトの包括的リストです。モデルのバージョンによって、モデルはグリッドの以前の、現在のまたは必要な構造のいずれかを表します。

ttGridAdminユーティリティには、保存されているモデルのバージョンを確認するためのコマンドが複数用意されています。

  • モデルの異なるバージョンの比較

  • モデルのバージョンのエクスポート

  • モデルの最新バージョンとしてのモデルのインポート

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

モデルの様々なバージョンまたはモデル操作の詳細は、このドキュメントのモデルのバージョニングまたはOracle TimesTen In-Memory Databaseリファレンスのモデル操作をそれぞれ参照してください。

グリッドの変更

TimesTen Scaleoutでは、次のようなモデルの複数のタイプのオブジェクトを定義して、グリッドの構造を決定します。

  • データ領域グループ

  • ホスト

  • インストール

  • インスタンス

  • 物理グループ

その他に、グリッドが管理するデータベースを記述し、それらのデータベースに接続する際に使用する名前も定義する、2つのタイプのモデル・オブジェクトがあります。そのようなタイプのオブジェクトは、次のとおりです。

  • データベース定義

  • 接続可能オブジェクト


ノート:

モデル・オブジェクトのタイプとその説明の詳細なリストは、グリッドの中央構成を参照してください。

モデルでは、オブジェクトを作成、変更または削除できます。モデルに加えた変更は、モデルの現行バージョンに変更を適用した後で初めて有効になることに注意してください。


ノート:


次の各項では、グリッドの構造を決定するオブジェクトを変更または削除する方法について説明します。

グリッド内のオブジェクトの変更

グリッドの構造を決定するモデル内のオブジェクトのうち、ホストおよびインスタンスのみを変更できます。物理グループまたはインストールのみ削除できます。次の各項では、グリッド内のホストおよびインスタンスの属性を変更する方法について説明します。

ホストの変更

ttGridAdmin hostModifyコマンドを使用して、ホストの特定の属性を変更できます。ホストの名前と通信パラメータ(内部または外部DNS名またはIPアドレス)は変更できません。データ領域グループにホストを割り当て、その割当てをモデルの現行バージョンに適用した後では、割当ては変更できません。物理グループに対する割当てはいつでも変更できます。ただし、ホストがデータ領域グループに割り当てられた後は、その物理グループの割当ては関連性を失います。

複数のホストが変更される例は、物理グループへのホストの割当てを参照してください。

ttGridAdmin hostModifyコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのホストの変更(hostModify)を参照してください。

インスタンスの変更

ttGridAdmin instanceModifyコマンドを使用して、インスタンスに関連付けられているインストールを変更できます。また、このコマンドを使用して管理インスタンスのレプリケーション・エージェントのTCP/IPポート番号を変更できますが、変更できるのは、使用可能な2番目の管理インスタンスがない場合のみです。つまり、ポートが使用されていない場合にのみ、管理インスタンスのレプリケーション・エージェントのTCP/IPポート番号を変更できます。複数のインスタンスが変更される例は、パッチの互換性があるリリースへのグリッドのアップグレードを参照してください。

ttGridAdmin instanceModifyコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのインスタンスの変更(instanceModify)を参照してください。

グリッドからのオブジェクトの削除

この項では、グリッドからオブジェクトを削除する方法について説明します。

インスタンスの削除

削除するインスタンスのタイプに応じて、次のいずれかの手順を実行します。

データ・インスタンスの削除

グリッドからデータ・インスタンスを削除するには、その前に、次に示すようにすべてのデータベースの分散マップからデータ・インスタンスの要素を削除する必要があります。

  1. 分散マップからの要素の削除に示すとおりに、すべてのデータベースの分散マップからデータ・インスタンスの要素を削除します。

  2. モデルの最新バージョンからデータ・インスタンスを削除します。

    % ttGridAdmin instanceDelete host7.instance1
    Instance instance1 on Host host7 deleted from Model
    
  3. 加えた変更をモデルの最新バージョンに適用します。

    % ttGridAdmin modelApply
    ...
    Identifying any deleted objects.......................................OK
    Stopping deleted instances............................................OK
    Deleting instances....................................................OK
    ...
    ttGridAdmin modelApply complete
    

ttGridAdmin instanceDeleteコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのインスタンスの削除(instanceDelete)を参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

管理インスタンスの削除

グリッドから削除できるのは、スタンバイ管理インスタンスのみです。2つの管理インスタンスがあるグリッドでアクティブ管理インスタンスを削除する場合は、まず、ttGridAdmin mgmtActiveSwitchコマンドを使用してスタンバイ管理インスタンスをアクティブに切り替えてから、続行します。


重要:

可用性を維持するために、グリッドには常にアクティブ管理インスタンスとスタンバイ管理インスタンスが存在するようにすることをお薦めします。できるだけ早く別の管理インスタンスで置換する予定の場合は、スタンバイ管理インスタンスのみを削除します。

管理インスタンスが1つのみのグリッドでアクティブ管理インスタンスを削除する予定の場合は、安全な方法でグリッドを破棄することを検討してください。安全にグリッドを破棄する方法の詳細は、グリッドの破棄を参照してください。

グリッドからスタンバイ管理インスタンスを削除するには、次のタスクを実行します。

  1. 削除するインスタンスがスタンバイ管理インスタンスであることを確認します。

    % ttGridAdmin mgmtStatus
    Host  Instance  Reachable RepRole(Self) Role(Active) Role(Self) Seq RepAgent RepActive Message 
    ----- --------- --------- ------------- ------------ ---------- --- -------- --------- ------- 
    host1 instance1 Yes       Active        Unknown      Active     338 Up       Yes 
    host2 instance1 Yes       Standby       Unknown      Standby    338 Up       No
    
  2. モデルの最新バージョンからスタンバイ管理インスタンスを削除します。

    % ttGridAdmin instanceDelete host2.instance1
    Instance instance1 on Host host2 deleted from Model
    
  3. 加えた変更をモデルの最新バージョンに適用します。

    % ttGridAdmin modelApply
    ...
    Unconfiguring standby management instance.............................OK
    Identifying any deleted objects.......................................OK
    Stopping deleted instances............................................OK
    Deleting instances....................................................OK
    ...
    ttGridAdmin modelApply complete
    

ttGridAdmin mgmtActiveSwitchコマンドの詳細は、このドキュメントの管理インスタンスの起動、停止および切替えおよびOracle TimesTen In-Memory Databaseリファレンスのアクティブ管理インスタンスの切替え(mgmtActiveSwitch)を参照してください。

ttGridAdmin instanceDeleteコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのインスタンスの削除(instanceDelete)を参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

インストールの削除

TimesTen Scaleoutの新規リリースのアップグレード操作を実行したばかりの場合は、インストールを削除することをお薦めします。インストール・ファイルの場所がこのグリッドまたはその他のグリッドで他のインストールと共有されている場合、ファイルがまだ使用中である可能性があるため、インストールを削除しても、インストール・ファイルは削除されません。以前のリリースのインストール・モデル・オブジェクトおよびファイルの削除を含む、アップグレードおよびクリーン・アップ操作の詳細は、パッチの互換性があるリリースへのグリッドのアップグレードを参照してください。

ただし、インストールに関連付けてられているホストをグリッドのトポロジから削除するためにインストールを削除する場合、ホストおよびインストール・モデル・オブジェクトやファイルなどの関連オブジェクトの削除方法の詳細は、ホストの削除を参照してください。

ホストの削除

グリッドからホストを削除するには、その前に、次に示すようにホストに関連付けられているその他のモデル・オブジェクトが使用中でないことを確認する必要があります。

  1. 分散マップからの要素の削除に示すように、すべてのデータベースの分散マップからホストに関連付けられているすべてのデータ・インスタンスの要素を削除します。

  2. ホストに関連付けられているすべてのインスタンスおよびインストールを削除してから、最新バージョンのモデルからホストを削除します。例8-1に示すように、各オブジェクトを個別に削除することも、例8-2に示すように、ttGridAdmin hostDeleteコマンドの-cascadeオプションを使用して、ホストおよびホストに関連付けられているすべてのインスタンスおよびインストールを削除することもできます。

    例8-1 ホストおよび関連付けられているすべてのオブジェクトを個別に削除。

    % ttGridAdmin instanceDelete host7.instance1
    Instance instance1 on Host host7 deleted from Model
    
    % ttGridAdmin installationDelete host7.installation1
    Installation installation1 on Host host7 deleted from Model
    
    % ttGridAdmin hostDelete host7
    Host host7 deleted from Model
    

    例8-2 ホストおよび関連付けられているすべてのオブジェクトの削除

    % ttGridAdmin hostDelete host8 -cascade
    Instance instance1 on Host host8 deleted from Model
    Installation installation1 on Host host8 deleted from Model
    Host host8 deleted from Model
    
  3. 加えた変更をモデルの最新バージョンに適用します。

    % ttGridAdmin modelApply
    ...
    Identifying any deleted objects.......................................OK
    Stopping deleted instances............................................OK
    Deleting instances....................................................OK
    Deleting installations from model.....................................OK
    Deleting any hosts that are no longer in use..........................OK
    ...
    ttGridAdmin modelApply complete
    
  4. 削除したインストール・モデル・オブジェクトに関連付けられているインストール・ファイルが、このグリッドまたはその他のグリッドの他のインストール・オブジェクトで使用されていない場合は、それらのファイルを削除します。すべてのファイルを削除できるように、必ずディレクトリの権限を変更してください。

    % cd /grid
    % chmod -R 750 tt18.1.4.1.0/
    % rm -rf tt18.1.4.1.0/
    

ttGridAdmin instanceDeletettGridAdmin installationDeleteまたはttGridAdmin hostDeleteコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのインスタンスの削除(instanceDelete)、インストールの削除(installationDelete)またはホストの削除(hostDelete)をそれぞれ参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

物理グループの削除

グリッドから物理グループを削除するには、その前に、次に示すように物理グループが使用されていないことを確認する必要があります。

  1. 関連付けられているすべてのホストから物理グループを削除します。

    % ttGridAdmin hostModify host3 -removePhysicalGroup rack1
    Host host3 modified in Model
    
  2. モデルの最新バージョンから物理グループを削除します。

    % ttGridAdmin physicalDelete rack1
    PhyscialGroup RACK1 deleted.
    
  3. モデルの最新バージョンに加えた変更を適用します。

    % ttGridAdmin modelApply
    

ttGridAdmin hostModifyまたはttGridAdmin physicalDeleteコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのホストの変更(hostModify)または物理グループの削除(physicalDelete)をそれぞれ参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

メンバーシップ・サーバーの再構成

次の各項では、現在のメンバーシップ構成を表示および変更する方法について説明します。

メンバーシップ・サーバーの詳細は、Apache ZooKeeperドキュメント(http://zookeeper.apache.org)を参照してください。

現在のメンバーシップ構成の表示

現在のメンバーシップ構成を表示するには、ttGridAdmin membershipConfigExportコマンドを実行します。これにより、使用されているメンバーシップ・サーバーとポートがリストされます。

% ttGridAdmin membershipConfigExport
Servers ms_host1!2181,ms_host2!2181,ms_host3!2181

ttGridAdmin membershipConfigExportコマンドの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のメンバーシップ構成ファイル(membershipConfigExport)のエクスポートに関する項を参照してください。

メンバーシップ・サーバーの追加

メンバーシップ・サーバーのリストに新しいサーバーを追加して、目的のメンバーシップ構成を反映させることができます。ms_host4サーバーとそのクライアント・ポート2181を追加するには、次の手順を実行します。:

  1. 新しいサーバー構成ファイル(membership2.confなど)を作成します。ZooKeeperクライアント構成ファイルの詳細は、「メンバーシップ・サービスとしてのApache ZooKeeperの構成」を参照してください。

  2. 新しいメンバーシップ・サーバーとポートを現在のメンバーシップ・サーバーのリストに追加します。

    Servers ms_host1!2181,ms_host2!2181,ms_host3!2181,ms_host4!2181
    

新規メンバーシップ構成の有効化

新しいメンバーシップ構成を有効化するには、次のタスクを実行します。

  1. 最新バージョンのモデルのZooKeeperクライアント構成ファイルを、新しく作成したファイルに置き換えます。

    % ttGridAdmin membershipConfigImport membership2.conf
    Membership configuration file membership2.conf imported
    
  2. ttGridAdmin modelApplyコマンドを実行して、最新バージョンのモデルに変更を適用します。

    % ttGridAdmin modelApply
    Creating new model version............................................OK
    Exporting current model (version 3)...................................OK
    Identifying any changed management instances..........................OK
    Identifying any deleted objects.......................................OK
    Verifying installations...............................................OK
    Verifying instances...................................................OK
    Updating grid state...................................................OK
    Pushing new configuration files to each instance......................OK
    Making model version 3 current, version 4 writable....................OK
    ttGridAdmin modelApply complete
    
  3. グリッド内のすべてのインスタンスを停止して再起動します。グリッドの停止および再起動の詳細は、それぞれ「グリッドの停止」および「グリッドの再起動」を参照してください。

ttGridAdmin membershipConfigImportコマンドの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のメンバーシップ構成ファイル(membershipConfigImport)のインポートに関する項を参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

データベース内のデータの再分散

データを分散する要素の数を増減できます。ただし、これには、モデルの現行バージョンでデータ・インスタンスを追加または削除する他に、データベースの分散マップでデータ・インスタンスの要素を追加または削除する必要もあります。

データベースの分散マップを保守するための様々なタスクは次のとおりです。

  • 分散マップにレプリカ・セットを追加します。分散マップにレプリカ・セットを追加すると(および分散マップが適用されると)、TimesTen Scaleoutによって、各レプリカ・セットの要素のデータの一部が新しく追加されたレプリカ・セットの要素に再分散されます。

  • 置換せずに分散マップからレプリカ・セットを削除します。削除されたレプリカ・セットが別のレプリカ・セットで置換されない場合、分散マップが適用されると、削除されたレプリカ・セットの要素に格納されていたデータは、残りのレプリカ・セットの要素に均等に再分散されます。

  • データ・インスタンスを削除し、まだ分散マップで定義されていない別のデータ・インスタンスで置換します。この場合、分散マップが適用されると、削除されたデータ・インスタンスの要素から新しいデータ・インスタンスの要素にデータがコピーされます。他のレプリカ・セットの要素に格納されているデータは再分散されません。

  • 分散マップからレプリカ・セットを除去します。レプリカ・セット内のすべての要素にリカバリ不可能な障害が発生している場合は、分散マップからレプリカ・セットを除去します。レプリカ・セットを除去すると、データが失われます。分散マップからレプリカ・セットを除去する場合は、次のいずれかを実行できます。

    • 置換せずにレプリカ・セットを除去します。除去されたレプリカ・セットが別のレプリカ・セットで置換されない場合、分散マップが適用されると、除去されたレプリカ・セットのデータが失われ、他のレプリカ・セットの要素に格納されているデータは再分散されません。

    • レプリカ・セットを除去し、分散マップでまだ定義されていない別のレプリカ・セットで置換します。分散マップが適用されると、除去されたレプリカ・セットの要素内のデータが失われるため、新しいレプリカ・セットの要素は空になり、他のレプリカ・セットの要素に格納されているデータは再分散されません。

      障害が発生したレプリカ・セットを分散マップから除去する方法の詳細は、レプリカ・セットに永続的な障害が発生した要素がある場合のリカバリを参照してください。

ttGridAdmin dbDistributeコマンドでは、要素を追加および削除し、データベースの分散マップからレプリカ・セットを除去して、残りのレプリカ・セットに既存データを再分散できます。ttGridAdmin dbDistribute -applyコマンドを使用して分散マップに変更を適用すると、既存のデータが再分散されます。


ノート:

データ分散は、DDL文またはDML文とは同時に実行できません。そのため、データを挿入、更新または削除するDDL文またはDML文を現在実行している場合、ttGridAdmin dbDistribute -applyコマンドはエラーで終了します。データ分散の処理中に、挿入、更新または削除を実行するDML文は、データ分散が完了するまでブロックされます。ただし、データ分散の処理中でも読取り専用文は実行できます。

図8-1に、後続の項の例で使用するdatabase1データベースの要素のデータベース・スキーマとトポロジを示します。

図8-1 データ領域およびレプリカ・セット

図8-1の説明が続きます
「図8-1 データ領域およびレプリカ・セット」の説明

分散マップへの要素の追加

データが分散される要素の数を増やすには、まず、グリッドに関連付けられているデータ・インスタンスの数を増やす必要があります。また、各データ領域グループのデータ・インスタンスの数が同じであることを確認する必要があります。たとえば、k2に設定されているグリッドでは、データ領域グループ1およびデータ領域グループ2に同じ数のデータ・インスタンスを追加する必要があります。

永続メモリー領域で使用可能なメモリーの量を増やすことを目的としてデータベースの分散マップに要素を追加する場合は、かわりに永続メモリー領域のサイズを大きくすることを検討してください。これを行うには、PermSize属性の値を変更します。


ノート:

  • データ・インスタンスが含まれているすべてのホストで、PermSize属性の値に対応できる十分な物理メモリーが使用可能である必要があります。PermSize属性の値を計算および変更する方法の詳細は、PermSize属性の値の決定およびデータベース定義での接続属性の変更を参照してください。

  • 新しいデータ・インスタンスの要素に行が再分散された場合でも、以前、元の要素でこれらの行によって使用されていたメモリーがまだ表のページによって使用されており、これらのメモリーは同じ表の新しい行でのみ使用できることを考慮してください。


モデルの現行バージョンで使用可能な各データ領域グループのデータ・インスタンスを追加します。

% ttGridAdmin hostCreate -internalAddress int-host9.example.com -externalAddress
 ext-host9.example.com -like host3 -cascade -dataSpaceGroup 1
Host host9 created in Model
Installation installation1 created in Model
Instance instance1 created in Model
 
% ttGridAdmin hostCreate -internalAddress int-host10.example.com -externalAddress
 ext-host10.example.com -like host3 -cascade -dataSpaceGroup 2
Host host10 created in Model
Installation installation1 created in Model
Instance instance1 created in Model

% ttGridAdmin modelApply
...
Verifying installations...............................................OK
Creating new installations............................................OK
Verifying instances...................................................OK
Creating new instances................................................OK
...
Checking ssh connectivity of new instances............................OK
Starting new data instances...........................................OK
ttGridAdmin modelApply complete

ノート:

データ・インスタンスをグリッドに追加する方法の詳細は、データ・インスタンスの追加およびモデルに加えた変更の適用を参照してください。

図8-2に、database1データベースのcustomers表のハッシュ分散の例を示します。host9.instance1データ・インスタンスの要素が空であることに注意してください。host9ホストがデータ領域グループ1に割り当てられている場合でも、host9.instance1データ・インスタンスがdatabase1データベースの分散マップに追加されるまでは、要素7はデータ領域1の一部であるとはみなされません。

図8-2 表のデータ分散

図8-2の説明が続きます。
「図8-2 表のデータ分散」の説明

host9.instance1データ・インスタンスの要素をdatabase1データベースの分散マップに追加します。

% ttGridAdmin dbDistribute database1 -add host9.instance1
Element host9.instance1 has been marked to be added
Distribution map change enqueued

データベースの分散マップのバランスを確実に維持するために、host9.instance1データ・インスタンスの要素のレプリカを保持するデータ・インスタンスの要素であるhost10.instance1database1データベースの分散マップに追加します。

% ttGridAdmin dbDistribute database1 -add host10.instance1 -apply
Element host10.instance1 has been marked to be added 
Distribution map updated

ノート:

TimesTen Scaleoutからエラーが返されないようにするには、すべての新規要素をデータベースの分散マップに追加し終わった時点で、-applyオプションのみを使用していることを確認します。

図8-3に、図8-2のデータ領域1内の要素に格納されているデータの一部が、新規データ・インスタンスhost9.instance1の要素に再分散される様子を示します。

図8-3 要素(およびそのレプリカ)の追加後のデータ分散

図8-3の説明が続きます。
「図8-3 要素(およびそのレプリカ)の追加後のデータ分散」の説明

ttDistributionProgress組込みプロシージャを使用して、データベースの任意の要素からの再分散操作の進行状況を確認できます。

Command> call ttDistributionProgress();
< 2018-12-04 14:49:48.872975, 1, 2, 1, Data Checkpoint, <NULL>, <NULL>, <NULL>,
 <NULL>, <NULL>, 1910, 0, 176, 1910, 8, 8 >
1 row found.

ttGridAdmin hostCreateまたはttGridAdmin dbDistributeコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのホストの作成(hostCreate)またはデータベースの分散スキームの設定または変更(dbDistribute)をそれぞれ参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

ttDistributionProgress組込みプロシージャの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttDistributionProgressに関する項を参照してください。

分散マップからの要素の削除

次のことに注意して、分散マップから要素を削除および置換できます。

  • 1つの要素を削除して置換する場合:

    • k1に設定されたグリッドの場合は、要素およびデータ・インスタンスの両方が使用可能な場合にのみ、要素を削除および置換できます。

    • k2に設定されたグリッドの場合は、レプリカ・セット内の他の要素が使用可能であるかぎり、レプリカ・セット内の単一の要素を削除して別の要素で置換することにより、その要素を削除および置換できます。

      -removeオプションを指定してttGridAdmin dbDistributeコマンドを使用する方法の詳細は、別の要素での要素の置換およびレプリカ・セットの削除を参照してください。


    ノート:

    レプリカ・セット内の単一要素に発生した障害問題の解決方法の詳細は、レプリカ・セット内の障害が発生した要素の削除および置換を参照してください。

  • レプリカ・セット全体を除去する場合:

    • レプリカ・セットのすべての要素に障害が発生した場合、そのレプリカ・セットに格納されているデータは使用できなくなります。レプリカ・セットに永続的な障害が発生した要素がある場合のリカバリでは、レプリカ・セットに障害が発生すると何が起こるか、TimesTen Scaleoutによるレプリカ・セットのリカバリ方法、またはレプリカ・セット内の要素を自動的にリカバリできない場合のレプリカ・セット全体の除去方法について説明しています。

-removeオプションを指定したttGridAdmin dbDistributeコマンドを使用すると、データベースの分散マップから要素が削除されます。データベースの分散マップから要素を削除する場合、次のオプションがあります。

別の要素での要素の置換

削除された要素が新しいデータ・インスタンスの要素で置換され、この変更をデータベースの分散マップに適用すると、レプリカ・セット内のデータが新しいデータ・インスタンスの要素にコピーされます。他のレプリカ・セットに格納されているデータは再分散されません。ホストを別のホストで置換するか、ホストを停止する必要があるが、データの分散方法は変更しない場合に、この方法を使用することを検討してください。

モデルの現行バージョンにデータ・インスタンスを追加します。

% ttGridAdmin hostCreate -internalAddress int-host9.example.com -externalAddress
 ext-host9.example.com -like host3 -cascade -dataSpaceGroup 1
Host host9 created in Model
Installation installation1 created in Model
Instance instance1 created in Model
 
% ttGridAdmin modelApply
...
Verifying installations...............................................OK
Creating new installations............................................OK
Verifying instances...................................................OK
Creating new instances................................................OK
...
Checking ssh connectivity of new instances............................OK
Starting new data instances...........................................OK
ttGridAdmin modelApply complete

ノート:

データ・インスタンスをグリッドに追加する方法の詳細は、データ・インスタンスの追加およびモデルに加えた変更の適用を参照してください。

図8-4に、database1データベースのcustomers表のハッシュ分散の例を示します。host9.instance1データ・インスタンスの要素が空であることに注意してください。host9ホストがデータ領域グループ1に割り当てられていても、その要素はdatabase1データベースの分散マップに追加されるまでは、レプリカ・セットの一部ではありません。

図8-4 表のデータ分散

図8-4の説明が続きます。
「図8-4 表のデータ分散」の説明

database1データベースの分散マップで、host7.instance1データ・インスタンスの要素を削除して、host9.instance1データ・インスタンスの要素で置換します。

% ttGridAdmin dbDistribute database1 -remove host7.instance1
 -replaceWith host9.instance1 -apply
Element host7.instance1 has been marked to be removed and replaced by element host9.instance1 
Distribution map updated

図8-5に、host7.instance1データ・インスタンスの要素に以前格納されていたデータが、置換された要素にコピーされる様子を示します。

図8-5 要素の置換後のデータ分散

図8-5の説明が続きます。
「図8-5 要素の置換後のデータ分散」の説明

削除された要素のチェックポイントおよびトランザクション・ログを破棄するには、ttGridAdmin dbDestroy -instanceコマンドを使用します。

% ttGridAdmin dbDestroy database1 -instance host7.instance1
Database database1 instance host7 destroy started

ttGridAdmin dbDistributeまたはttGridAdmin dbDestroyコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのデータベースの分散スキームの設定または変更(dbDistribute)またはデータベースの破棄(dbDestroy)をそれぞれ参照してください。

レプリカ・セットの削除

データベースの分散マップからデータ・インスタンスの要素を置換せずに削除した場合、そのレプリカも削除する必要があります。つまり、レプリカ・セット全体を削除する必要があります。レプリカ・セットを削除すると、TimesTen Scaleoutによって、そのレプリカ・セットに格納されていたデータが残りのレプリカ・セットに再分散されます。データが格納されているホストの数を縮小する場合に、この方法を使用することを検討してください。


重要:

データベース・サイズは、PermSize属性の値に使用可能なレプリカ・セットの数を乗算した値として定義されることに注意してください。データベースの分散マップからレプリカ・セットを1つ削除すると、PermSize属性で設定されているMBと同じMB数だけデータベース・サイズが縮小されます。データベースのデータベース・サイズを決定する方法の詳細は、PermSize属性の値の決定を参照してください。

レプリカ・セットを削除する前に、削除するレプリカ・セットに格納されているデータの一部を格納するための十分な領域が残りのレプリカ・セットにあることを確認してください。必要に応じて、PermSize属性の値を大きくして、データベース・サイズを増やします。PermSize属性の値を大きくする方法の詳細は、データベース定義での接続属性の変更を参照してください。


図8-6に、database1データベースのcustomers表のハッシュ分散の例を示します。

図8-6 表のデータ分散

図8-6の説明が続きます。
「図8-6 表のデータ分散」の説明

database1データベースの分散マップからhost7.instance1データ・インスタンスの要素を削除します。

% ttGridAdmin dbDistribute database1 -remove host7.instance1
Element host7.instance1 has been marked to be removed 
Distribution map change enqueued

データベースの分散マップのバランスを確実に維持するために、host7.instance1データ・インスタンスの要素のレプリカを保持するデータ・インスタンスの要素をdatabase1データベースの分散マップから削除します。

% ttGridAdmin dbDistribute database1 -remove host8.instance1 -apply
Element host8.instance1 has been marked to be removed 
Distribution map updated

ノート:

  • どのデータ・インスタンスが別のデータ・インスタンスの要素のレプリカを保持しているかを調べるには、-replicasetオプションを指定してttGridAdmin dbStatusコマンドを使用します。

  • TimesTen Scaleoutからエラーが返されないようにするには、データベースの分散マップから必要なデータ・インスタンスをすべて削除し終わった時点で、-applyオプションのみを使用していることを確認してください。


図8-7に、データベースの分散マップからレプリカ・セットを削除すると、その要素が以前に割り当てられていたデータ領域から削除される様子を示します。この図は、削除されたレプリカ・セットに以前に格納されていたデータが、各データ領域内に残っているレプリカ・セットに再分散される様子も示しています。

図8-7 レプリカ・セットの削除後のデータ分散

図8-7の説明が続きます
「図8-7 レプリカ・セットの削除後のデータ分散」の説明

削除されたレプリカ・セットのチェックポイントおよびトランザクション・ログを破棄するには、ttGridAdmin dbDestroy -instanceコマンドを使用します。

% ttGridAdmin dbDestroy database1 -instance host7.instance1
Database database1 instance host7 destroy started
% ttGridAdmin dbDestroy database1 -instance host8.instance1
Database database1 instance host8 destroy started

ttGridAdmin dbDistributeまたはttGridAdmin dbDestroyコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのデータベースの分散スキームの設定または変更(dbDistribute)またはデータベースの破棄(dbDestroy)をそれぞれ参照してください。

グリッドの停止

グリッドにロードされたデータベースがない場合にのみ、グリッドを正常に停止できます。すべてのデータベースがアンロードされたことを確認したら、次に示すようにグリッドを停止できるようになります。

  1. すべてのデータベースをアンロードします。詳細は、メモリーからのデータベースのアンロードを参照してください。

  2. すべてのデータ・インスタンスを停止します。

    % ttGridAdmin instanceExec -type data ttDaemonAdmin -stop
    Overall return code: 0
    Commands executed on:
      host3.instance1 rc 0
      host4.instance1 rc 0
      host5.instance1 rc 0
      host6.instance1 rc 0
      host7.instance1 rc 0
      host8.instance1 rc 0
    Return code from host3.instance1: 0
    Output from host3.instance1:
    TimesTen Daemon (PID: 4498, port: 6624) stopped.
    Return code from host4.instance1: 0
    Output from host4.instance1:
    TimesTen Daemon (PID: 4536, port: 6624) stopped.
    Return code from host5.instance1: 0
    Output from host5.instance1:
    TimesTen Daemon (PID: 4492, port: 6624) stopped.
    Return code from host6.instance1: 0
    Output from host6.instance1:
    TimesTen Daemon (PID: 4510, port: 6624) stopped.
    Return code from host7.instance1: 0
    Output from host7.instance1:
    TimesTen Daemon (PID: 4539, port: 6624) stopped.
    Return code from host8.instance1: 0
    Output from host8.instance1:
    TimesTen Daemon (PID: 4533, port: 6624) stopped.
    
  3. スタンバイ管理インスタンスがある場合は、停止します。

    % ttGridAdmin mgmtStandbyStop
    Standby management instance host2.instance1 stopped
    
  4. アクティブ管理インスタンスを停止します。

    % ttGridAdmin mgmtActiveStop
    Active management instance stopped
    

ttGridAdmin instanceExecコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのグリッド・インスタンスでのコマンドまたはスクリプトの実行(instanceExec)を参照してください。

グリッドの再起動

グリッドを再起動するには、次に示すように、データベースの再ロードを試行する前に、まずすべてのインスタンスを再起動する必要があります。

  1. 使用するグリッドの構成に一致するステップに従います。

    • グリッドに単一の管理インスタンス構成がある場合は、管理インスタンスを起動します。

      % ttGridAdmin mgmtActiveStart
      This management instance is now the active
      
    • グリッドにアクティブ・スタンバイ構成がある場合は、両方の管理インスタンスを再度稼働させるの手順に従って、アクティブなロールに最適な候補を決定し、アクティブ管理インスタンスとスタンバイ管理インスタンスの両方を再起動します。

  2. すべてのデータ・インスタンスを起動します。

    % ttGridAdmin instanceExec -type data ttDaemonAdmin -start
    Overall return code: 0
    Commands executed on:
      host3.instance1 rc 0
      host4.instance1 rc 0
      host5.instance1 rc 0
      host6.instance1 rc 0
      host7.instance1 rc 0
      host8.instance1 rc 0
    Return code from host3.instance1: 0
    Output from host3.instance1:
    TimesTen Daemon (PID: 19072, port: 6624) startup OK.
    Return code from host4.instance1: 0
    Output from host4.instance1:
    TimesTen Daemon (PID: 19144, port: 6624) startup OK.
    Return code from host5.instance1: 0
    Output from host5.instance1:
    TimesTen Daemon (PID: 19210, port: 6624) startup OK.
    Return code from host6.instance1: 0
    Output from host6.instance1:
    TimesTen Daemon (PID: 19247, port: 6624) startup OK.
    Return code from host7.instance1: 0
    Output from host7.instance1:
    TimesTen Daemon (PID: 19284, port: 6624) startup OK.
    Return code from host8.instance1: 0
    Output from host8.instance1:
    TimesTen Daemon (PID: 19315, port: 6624) startup OK.
    
  3. メモリーへのデータベースの再ロードに示すように、すべてのデータベースを再ロードします。

ttGridAdmin mgmtActiveStartおよびttGridAdmin mgmtStandbyStartコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスの管理インスタンスの操作を参照してください。

ttGridAdmin instanceExecコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのグリッド・インスタンスでのコマンドまたはスクリプトの実行(instanceExec)を参照してください。

グリッドのアップグレード

この項では、パッチの互換性があるリリースまたはパッチの互換性がないリリースのいずれかにグリッドをアップグレードする方法について説明します。


ノート:

使用しているTimesTenのバージョンが、アップグレードのターゲットTimesTenリリースとパッチの互換性があるかどうかを確認するには、ターゲットTimesTenディストリビューションのREADME.htmlファイルを参照してください。

パッチの互換性があるリリースへのグリッドのアップグレード

グリッドをパッチの互換性があるリリースにアップグレードする際には、すべてのインスタンスが、TimesTenの新しいパッチセット(またはパッチ)・リリースで提供されるインストール・ファイルをその操作に使用していることを確認します。たとえば、18.1.xから18.1.yリリースにインストールをアップグレードします。

グリッドを新しいパッチの互換性があるリリースにアップグレードするには、次のタスクを実行します。

  1. すべてのホストでの新しいリリースからのインストールの作成

  2. 管理インスタンスのアップグレード

  3. データ・インスタンスのアップグレード

  4. オプション: すべてのホストでの以前のリリースのインストールの削除

すべてのホストでの新しいリリースからのインストールの作成

例8-3に示すように、ttGridAdmin installationListコマンドを使用して、アップグレードが必要なホストおよび現在のインストールの場所を判別できます。

例8-3 ホストおよびインストールのリスト

この例では、ttGridAdmin installationListコマンドを使用して、grid1グリッドのホストおよびそれに関連付けられているインストールを表示します。

% ttGridAdmin installationList
Host  Install       Location                     Comment
----- ------------- ---------------------------- -------
host1 installation1 /grid/tt18.1.4.1.0
host2 installation1 /grid/tt18.1.4.1.0
host3 installation1 /grid/tt18.1.4.1.0
host4 installation1 /grid/tt18.1.4.1.0
host5 installation1 /grid/tt18.1.4.1.0
host6 installation1 /grid/tt18.1.4.1.0
host7 installation1 /grid/tt18.1.4.1.0
host8 installation1 /grid/tt18.1.4.1.0

モデルで定義されているすべてのホスト上で、新しいTimesTenリリースからインストールを作成します。


ノート:

インストールのデフォルト名であるinstallation1がすでに使用されている場合は、新しいインストールの名前を指定する必要があります。この例では、グリッドのすべてのホストにおける新規インストールの名前としてinstallation2が使用されます。

% ttGridAdmin installationCreate host1.installation2 -location
 /grid -source host1:/mydir/timesten181420.server.linux8664.zip
Installation installation2 on Host host1 created in Model

% ttGridAdmin installationCreate host2.installation2 -location
 /grid -source host1:/mydir/timesten181420.server.linux8664.zip
Installation installation2 on Host host2 created in Model

% ttGridAdmin installationCreate host3.installation2 -location
 /grid -source host1:/mydir/timesten181420.server.linux8664.zip
Installation installation2 on Host host3 created in Model

% ttGridAdmin installationCreate host4.installation2 -location
 /grid -source host1:/mydir/timesten181420.server.linux8664.zip
Installation installation2 on Host host4 created in Model

% ttGridAdmin installationCreate host5.installation2 -location
 /grid -source host1:/mydir/timesten181420.server.linux8664.zip
Installation installation2 on Host host5 created in Model

% ttGridAdmin installationCreate host6.installation2 -location
 /grid -source host1:/mydir/timesten181420.server.linux8664.zip
Installation installation2 on Host host6 created in Model

% ttGridAdmin installationCreate host7.installation2 -location
 /grid -source host1:/mydir/timesten181420.server.linux8664.zip
Installation installation2 on Host host7 created in Model

% ttGridAdmin installationCreate host8.installation2 -location
 /grid -source host1:/mydir/timesten181420.server.linux8664.zip
Installation installation2 on Host host8 created in Model

加えた変更をモデルの最新バージョンに適用します。TimesTenによって、各ホストに指定された場所にインストール・ファイルがコピーされます。

% ttGridAdmin modelApply

ttGridAdmin installationListまたはttGridAdmin installationCreateコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのインストールのリスト(installationList)またはインストールの作成(installationCreate)をそれぞれ参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

管理インスタンスのアップグレード

管理インスタンスのアップグレード方法は、グリッドに構成されている管理インスタンスが1つなのか2つなのかによって異なります。ご使用の構成に適した手順に従ってください。

アクティブ・スタンバイ構成での管理インスタンスのアップグレード

管理インスタンスにアクティブ・スタンバイ構成を使用している場合は、アクティブ管理インスタンスが常に稼働しているようにすることで、サービスを中断せずに各管理インスタンスを個別にアップグレードできます。

  1. スタンバイ管理インスタンスを停止します。

    % ttGridAdmin mgmtStandbyStop
    Standby management instance host2.instance1 stopped
    
  2. 新しいインストールを使用するようにスタンバイ管理インスタンスを変更します。

    % ttGridAdmin instanceModify host2.instance1 -installation installation2
    Instance instance1 on Host host2 modified in Model
    
  3. 加えた変更をモデルの最新バージョンに適用します。

    % ttGridAdmin modelApply
    
  4. スタンバイ管理インスタンスでttGridAdmin mgmtStandbyStartコマンドを実行して、スタンバイ管理インスタンスを起動します。

    % ttGridAdmin mgmtStandbyStart
    Standby management instance started
    
  5. ttGridAdmin mgmtStatusコマンドを使用して、スタンバイ管理インスタンスが使用可能であり、アクティブ管理インスタンスと同期していることを確認します。

    % ttGridAdmin mgmtStatus
    Host Instance Reachable RepRole(Self) Role(Active) Role(Self) Seq RepAgent
                                                                        RepActive
    --------------------------------------------------------------------- 
    host1 instance1 Yes     Active        Unknown      Active     445 Up  Yes
    host2 instance1 Yes     Standby       Unknown      Standby    445 Up  No
    

    ノート:

    両方のインスタンスが正しく通信し、同期されるようにするために、両方のインスタンスの順序番号が一致していることを確認してください。順序番号が一致していない場合は、ttGridAdmin mgmtExamineコマンドを実行して、続行する手順を確認してください。ttGridAdmin mgmtExamineコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスの管理インスタンスの確認(mgmtExamine)を参照してください。

  6. スタンバイ管理インスタンスで、アクティブ管理インスタンスとスタンバイ管理インスタンスを切り替えます。

    % ttGridAdmin mgmtActiveSwitch
    This is now the active management instance
    

    TimesTen Scaleoutによってアクティブ管理インスタンスが停止され、スタンバイ管理インスタンスがアクティブに昇格されます。

  7. 新しいアクティブ管理インスタンスで、古いアクティブ管理インスタンスのインストールを変更します。

    % ttGridAdmin instanceModify host1.instance1 -installation installation2
    Instance instance1 on Host host1 modified in Model
    
  8. 加えた変更をモデルの最新バージョンに適用します。

    % ttGridAdmin modelApply
    
  9. 古いアクティブ管理インスタンスで、インスタンスをスタンバイ管理インスタンスとして起動します。

    % ttGridAdmin mgmtStandbyStart
    Standby management instance started
    
  10. スタンバイ管理インスタンスが使用可能であり、アクティブ管理インスタンスと同期していることを確認します。

    % ttGridAdmin mgmtStatus
    Host Instance Reachable RepRole(Self) Role(Active) Role(Self) Seq RepAgent 
                                                                         RepActive
    ----------------------------------------------------------------------------- 
    host1 instance1 Yes     Standby       Unknown      Standby    451 Up No
    host2 instance1 Yes     Active        Unknown      Active     451 Up Yes
    

    ノート:

    両方のインスタンスが正しく通信し、同期されるようにするために、両方のインスタンスの順序番号が一致していることを確認してください。順序番号が一致していない場合は、ttGridAdmin mgmtExamineコマンドを実行して、続行する手順を確認してください。ttGridAdmin mgmtExamineコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスの管理インスタンスの確認(mgmtExamine)を参照してください。

ttGridAdmin mgmtStandbyStopttGridAdmin mgmtStandbyStartおよびttGridAdmin mgmtStatusコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスの管理インスタンスの操作を参照してください。

ttGridAdmin instanceModifyコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのインスタンスの変更(instanceModify)を参照してください。

ttGridAdmin mgmtActiveSwitchコマンドの詳細は、このドキュメントの管理インスタンスの起動、停止および切替えおよびOracle TimesTen In-Memory Databaseリファレンスのアクティブ管理インスタンスの切替え(mgmtActiveSwitch)を参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

単一の管理インスタンスのアップグレード

単一の管理インスタンス構成で、新しいインストールを有効にするには、次に示すようにアクティブ管理インスタンスを再起動する必要があります。

  1. 新しいインストールを使用するようにアクティブ管理インスタンスを変更します。

    % ttGridAdmin instanceModify host1.instance1 -installation installation2
    Instance instance1 on Host host1 modified in Model
    
  2. 加えた変更をモデルの最新バージョンに適用します。

    % ttGridAdmin modelApply
    
  3. アクティブ管理インスタンスを停止します。

    % ttGridAdmin mgmtActiveStop
    Active management instance stopped
    
  4. アクティブ管理インスタンスを再起動します。

    % ttGridAdmin mgmtActiveStart
    This management instance is now the active
    

ttGridAdmin instanceModifyコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのインスタンスの変更(instanceModify)を参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

ttGridAdmin mgmtActiveStopおよびttGridAdmin mgmtActiveStartの詳細は、Oracle TimesTen In-Memory Databaseリファレンスの管理インスタンスの操作を参照してください。

データ・インスタンスのアップグレード

データ・インスタンスを再起動して新しいインストールを有効にするには、その前にすべてのデータベースをアンロードする必要があります。

  1. メモリーからのデータベースのアンロードに示すように、すべてのデータベースをアンロードします。

  2. すべてのデータ・インスタンスを停止します。

    % ttGridAdmin instanceExec -type data ttDaemonAdmin -stop
    Overall return code: 0
    Commands executed on:
      host3.instance1 rc 0
      host4.instance1 rc 0
      host5.instance1 rc 0
      host6.instance1 rc 0
      host7.instance1 rc 0
      host8.instance1 rc 0
    Return code from host3.instance1: 0
    Output from host3.instance1:
    TimesTen Daemon (PID: 4498, port: 6624) stopped.
    Return code from host4.instance1: 0
    Output from host4.instance1:
    TimesTen Daemon (PID: 4536, port: 6624) stopped.
    Return code from host5.instance1: 0
    Output from host5.instance1:
    TimesTen Daemon (PID: 4492, port: 6624) stopped.
    Return code from host6.instance1: 0
    Output from host6.instance1:
    TimesTen Daemon (PID: 4510, port: 6624) stopped.
    Return code from host7.instance1: 0
    Output from host7.instance1:
    TimesTen Daemon (PID: 4539, port: 6624) stopped.
    Return code from host8.instance1: 0
    Output from host8.instance1:
    TimesTen Daemon (PID: 4533, port: 6624) stopped.
    
  3. 新しいインストールを使用するようにすべてのデータ・インスタンスを変更します。


    注意:

    アップグレード操作中にデータベースで発生する停止時間を短縮する必要がある場合は、データベースをアンロードまたはデータ・インスタンスを停止する前に、このステップを実行できます。

    % ttGridAdmin instanceModify host3.instance1 -installation installation2
    Instance instance1 on Host host3 modified in Model
    
    % ttGridAdmin instanceModify host4.instance1 -installation installation2
    Instance instance1 on Host host3 modified in Model
    
    % ttGridAdmin instanceModify host5.instance1 -installation installation2
    Instance instance1 on Host host3 modified in Model
    
    % ttGridAdmin instanceModify host6.instance1 -installation installation2
    Instance instance1 on Host host3 modified in Model
    
    % ttGridAdmin instanceModify host7.instance1 -installation installation2
    Instance instance1 on Host host3 modified in Model
    
    % ttGridAdmin instanceModify host8.instance1 -installation installation2
    Instance instance1 on Host host3 modified in Model
    
  4. 加えた変更をモデルの最新バージョンに適用します。

    % ttGridAdmin modelApply
    
  5. すべてのデータ・インスタンスを再起動します。

    % ttGridAdmin instanceExec -type data ttDaemonAdmin -start
    Overall return code: 0
    Commands executed on:
      host3.instance1 rc 0
      host4.instance1 rc 0
      host5.instance1 rc 0
      host6.instance1 rc 0
      host7.instance1 rc 0
      host8.instance1 rc 0
    Return code from host3.instance1: 0
    Output from host3.instance1:
    TimesTen Daemon (PID: 19072, port: 6624) startup OK.
    Return code from host4.instance1: 0
    Output from host4.instance1:
    TimesTen Daemon (PID: 19144, port: 6624) startup OK.
    Return code from host5.instance1: 0
    Output from host5.instance1:
    TimesTen Daemon (PID: 19210, port: 6624) startup OK.
    Return code from host6.instance1: 0
    Output from host6.instance1:
    TimesTen Daemon (PID: 19247, port: 6624) startup OK.
    Return code from host7.instance1: 0
    Output from host7.instance1:
    TimesTen Daemon (PID: 19284, port: 6624) startup OK.
    Return code from host8.instance1: 0
    Output from host8.instance1:
    TimesTen Daemon (PID: 19315, port: 6624) startup OK.
    
  6. メモリーへのデータベースの再ロードに示すように、すべてのデータベースを再起動します。

ttGridAdmin instanceExecまたはttGridAdmin instanceModifyコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのグリッド・インスタンスでのコマンドまたはスクリプトの実行(instanceExec)またはインスタンスの変更(instanceModify)をそれぞれ参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。

オプション: すべてのホストでの以前のリリースのインストールの削除

誤ったインストールを新しいインスタンスに割り当てることがないよう、例8-4に示すように、モデル内の各ホストで以前のリリースのインストール・モデル・オブジェクトを削除することをお薦めします。

例8-4 以前のリリースのインストールの削除

この例では、ttGridAdmin installationDeleteコマンドを使用して、使用されなくなったインストール・モデル・オブジェクトをgrid1グリッドのモデルから削除します。

% ttGridAdmin installationDelete host1.installation1
Installation installation1 on Host host1 deleted from Model

% ttGridAdmin installationDelete host2.installation1
Installation installation1 on Host host2 deleted from Model

% ttGridAdmin installationDelete host3.installation1
Installation installation1 on Host host3 deleted from Model

% ttGridAdmin installationDelete host4.installation1
Installation installation1 on Host host4 deleted from Model

% ttGridAdmin installationDelete host5.installation1
Installation installation1 on Host host5 deleted from Model

% ttGridAdmin installationDelete host6.installation1
Installation installation1 on Host host6 deleted from Model

% ttGridAdmin installationDelete host7.installation1
Installation installation1 on Host host7 deleted from Model

% ttGridAdmin installationDelete host8.installation1
Installation installation1 on Host host8 deleted from Model

次に、この例では、ttGridAdmin modelApplyを使用して、モデルの最新バージョンに対する変更内容を適用します。

% ttGridAdmin modelApply

また、削除したインストール・モデル・オブジェクトに関連付けられているインストール・ファイルは、このグリッドまたはその他のグリッド内の他のインストール・オブジェクトで使用されていない場合は、すべてのホスト上から削除します。例8-5に示すように、すべてのファイルを削除できるようディレクトリの権限を変更してあることを確認してください。

例8-5 以前のリリースのインストール・ファイルの削除

% cd /grid
% chmod -R 750 tt18.1.4.1.0/
% rm -rf tt18.1.4.1.0/

ttGridAdmin installationDeleteコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのインストールの削除(installationDelete)を参照してください。

パッチの互換性がないリリースへのグリッドのアップグレード

通常、TimesTenのメジャー・リリースが同じであるすべてのパッチセット(およびパッチ)・リリースは、パッチの互換性があります。例外またはメジャー・リリースのアップグレードでは、現在のデータベースから、ターゲット・アップグレード・リリースに基づく別のグリッドのデータベースにデータを移行する必要があります。

現在のリリースとパッチの互換性がない新しいリリースにグリッドをアップグレードするには、次のタスクを実行します。

  1. TimesTen Scaleoutのインストールに示すように、新しいTimesTenディストリビューションをインストールします。

  2. グリッドの構成およびデータベースの作成に示すように、新しいTimesTenインストールを使用して、新しいグリッドおよびデータベースを設定し、現在のデータベースのデータをインポートします。


    注意:

    新しいグリッドは、現在のグリッドのトポグラフィ(K-safety値およびレプリカ・セット数)と一致している必要はありません。

  3. データベースのエクスポートおよびインポートに示すように、現在のデータベースからデータをエクスポートし、新しいグリッドのデータベースにインポートします。

  4. オプション: グリッドの破棄に示されているように、前のグリッドを破棄します。

グリッドの破棄

グリッドを正常に破棄するには、次に示すように、すべてのデータベースを破棄し、モデルのすべてのオブジェクトを削除します。

  1. メモリーからのデータベースのアンロードに示すように、すべてのデータベースをアンロードします。

  2. データベースの破棄に示すように、すべてのデータベースを破棄します。

  3. モデルの最新バージョンから、アクティブ管理インスタンスとそれに関連付けられているホストおよびインストールを除く、すべてのホスト、インストールおよびインスタンスを削除します。

    % ttGridAdmin hostDelete host2 -cascade
    Instance instance1 on Host host2 deleted from Model
    Installation installation1 on Host host2 deleted from Model
    Host host2 deleted from Model
    
    % ttGridAdmin hostDelete host3 -cascade
    Instance instance1 on Host host3 deleted from Model
    Installation installation1 on Host host3 deleted from Model
    Host host3 deleted from Model
    
    % ttGridAdmin hostDelete host4 -cascade
    Instance instance1 on Host host4 deleted from Model
    Installation installation1 on Host host4 deleted from Model
    Host host4 deleted from Model
    
    % ttGridAdmin hostDelete host5 -cascade
    Instance instance1 on Host host5 deleted from Model
    Installation installation1 on Host host5 deleted from Model
    Host host5 deleted from Model
    
    % ttGridAdmin hostDelete host6 -cascade
    Instance instance1 on Host host6 deleted from Model
    Installation installation1 on Host host6 deleted from Model
    Host host6 deleted from Model
    
    % ttGridAdmin hostDelete host7 -cascade
    Instance instance1 on Host host7 deleted from Model
    Installation installation1 on Host host7 deleted from Model
    Host host7 deleted from Model
    
    % ttGridAdmin hostDelete host8 -cascade
    Instance instance1 on Host host8 deleted from Model
    Installation installation1 on Host host8 deleted from Model
    Host host8 deleted from Model
    
  4. 加えた変更をモデルの最新バージョンに適用します。

    % ttGridAdmin modelApply
    ...
    Unconfiguring standby management instance.............................OK
    Identifying any deleted objects.......................................OK
    Stopping deleted instances............................................OK
    Deleting instances....................................................OK
    Deleting installations from model.....................................OK
    Deleting any hosts that are no longer in use..........................OK
    ...
    ttGridAdmin modelApply complete
    
  5. アクティブ管理インスタンスを停止します。

    % ttGridAdmin mgmtActiveStop
    Active management instance stopped
    
  6. アクティブ管理インスタンスを破棄します。

    % /grid/tt18.1.4.1.0/bin/ttInstanceDestroy
       
    ** WARNING **
     
       The uninstallation has been executed by a non-root user.
       If the TimesTen daemon startup scripts were installed,
       you must run $TIMESTEN_HOME/bin/setuproot -uninstall
       to remove them. If you proceed with this uninstallation, you
       will have to remove the startup scripts manually.
       
    ** WARNING **
     
       All the files in the directory :
     
       /grid/instance1
     
       will be removed, including any files that you or other users
       may have created.
     
       Are you sure you want to completely remove this instance? [ yes ]
       
    NOTE: /grid/instance1/info contains information related to the data
          storesthat have been created with this release. If you remove
          /grid/instance1/info you will no longer be able to access your
          data stores, nor would you be able to restore nor migrate your data.
     
       Would you also like to remove all files in
     /grid/instance1/info? [ no ] yes
       
    NOTE: /grid/instance1/conf contains information related to the
          instance configuration.
     
       Would you also like to remove all files in
     /grid/instance1/conf? [ no ] yes
    /grid/instance1 Removed 
    The TimesTen instance instance1 has been destroyed.
    
  7. TimesTenインストールの各システム上にあるインストール・ファイルを削除します。すべてのファイルを削除できるように、必ずディレクトリの権限を変更してください。

    % cd /grid
    % chmod -R 750 tt18.1.4.1.0/
    % rm -rf tt18.1.4.1.0/
    

ttGridAdmin hostDeletettGridAdmin mgmtActiveStopまたはttInstanceDestroyコマンドの詳細は、Oracle TimesTen In-Memory Databaseリファレンスのホストの削除(hostDelete)、アクティブ管理インスタンスの停止(mgmtActiveStop)またはttInstanceDestroyをそれぞれ参照してください。

ttGridAdmin modelApplyコマンドの詳細は、このドキュメントのモデルに加えた変更の適用およびOracle TimesTen In-Memory Databaseリファレンスのモデル操作を参照してください。