データ・インスタンスが停止している場合のリカバリ
エラーがホストが関係するハードウェア・エラーである場合は、ホストの問題を修正し、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
コマンドを使用して、結果を確認できます。