データ・インスタンスが停止している場合のリカバリ

エラーがホストが関係するハードウェア・エラーである場合は、ホストの問題を修正し、ttGridAdmin dbLoadコマンドを使用してデータ・インスタンスを再ロードします。再ロード中、TimesTen Scaleoutは、データ・インスタンス内の要素をリカバリしようとします。

データ・インスタンスが停止している場合は、再起動する必要があります。データ・インスタンスが実行されていない場合は、そのデータ・インスタンスが管理するすべての要素が停止しています。

ttGridAdmin dbStatus -allまたはttGridAdmin dbStatus -elementコマンドを使用して、データ・インスタンスが停止しているかどうかを確認できます。これらは、データ・インスタンス(およびその要素)が停止中とみなされるかどうかを示します。

% ttGridAdmin dbStatus database1 -element

Database database1 element level status as of Wed Mar 8 14:07:11 PST 2017
 
Host  Instance  Elem Status Date/Time of Event  Message 
----- --------- ---- ------ ------------------- ------- 
host3 instance1    1 opened 2017-03-08 13:58:06         
host4 instance1    2 down                               
host5 instance1    3 opened 2017-03-08 13:58:06         
host6 instance1    4 opened 2017-03-08 13:58:09
host7 instance1    5 opened 2017-03-08 13:58:09
host8 instance1    6 opened 2017-03-08 13:58:09

(ハードウェアまたはソフトウェアの障害が原因で)データ・インスタンスが停止している場合、その管理対象の要素に対するすべての通信チャネルが停止され、データ・インスタンスがリストアされ、管理対象の要素がリカバリされるまで、これらの要素にアクセスするための新規接続は許可されません。

データ・インスタンスが停止している場合は、TimesTenデーモンを再起動することで再起動します。データ・インスタンスが再起動されると、ZooKeeperサーバーへの接続が試行されます。データ・インスタンスがZooKeeperサーバーに接続すると、データ・インスタンスはその要素をロードします。すぐ接続されない場合、約2分から3分間、ZooKeeperサーバーへの接続を試行し続けます。データ・インスタンスがZooKeeperサーバーに接続できない場合、TimesTenデーモンが停止します。

ノート:

データ・インスタンスがいずれのZooKeeperサーバーにも接続できない場合、データ・インスタンスは接続を試行し続けるため、永久ループとなることがあります。

instanceExecコマンドを使用してttDaemonAdmin -startまたはttDaemonAdmin -restartコマンドのいずれかを実行することで、そのデータ・インスタンスのデーモンを手動で再起動できます。instanceExecコマンドのオプション-only hostname[.instancename]を使用して、単一のデータ・インスタンスを再起動します。

% ttGridAdmin instanceExec -only host4.instance1 ttDaemonAdmin -start 
Overall return code: 0
Commands executed on:
  host4.instance1 rc 0
Return code from host4.instance1: 0
Output from host4.instance1:
TimesTen Daemon (PID: 15491, port: 14000) startup OK.

データ・インスタンスがttDaemonAdmin -startまたはttDaemonAdmin -restartコマンドのいずれかを使用して起動しない場合は、すべてのデータ・インスタンスを強制的に再起動できます。次の例では、すべてのデータ・インスタンスを再起動し、最後の共通エポックまでのすべてのデータを回復します。

ttGridAdmin instanceexec -type data ttDaemonAdmin -restart -force

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

データ・インスタンスの障害の原因となったエラーの原因がわかっている場合は、問題を修正した後で、ttGridAdmin dbLoadコマンドを使用してデータベースを再ロードします。

% ttGridAdmin dbLoad database1

データベースを開いて作業を続行します。

% ttGridAdmin dbOpen database1

ttGridAdmin dbStatusコマンドを使用して、結果を確認できます。