データベースプロセスが起動していない場合の対処方法

Posted June 18, 2018 by Soniya Shah, Information Developer

Database Server Room
データベースプロセスが起動していない場合、次のチェックリストを使用してトラブルシューティングを行います。

ステップ タスク 結果
1 Verticaプロセスがどのノード上でも実行されていないことを確認します。 $ ps –ef | grep vertica Verticaプロセスは次のように表示されます。 /opt/vertica/bin/vertica -D <catalog directory> -C <dbname> -n <node name> -h <host IP> -p <port> 続いてのチェックを行う前に、dbadminがカタログディレクトリとデータディレクトリの所有者であり、そのディレクトリにアクセスできることを確認してください。 Verticaプロセスがどのノード上でも実行されていない場合、Step 2 へ。
2 前回のデータベースの停止が正常に実行されたかどうかを確認します。 $ cat <catalog directory of each node>/epoch.log Epoch.logが存在する場合、データベース停止が正常に実行されたことが分かります。
データベース停止が正常に実行されていた場合、Step 3 へ。
データベース停止が正常に実施されていなかった場合、Verticaデータベースをまず起動してみてください。状態によっては、Last Good Epoch(LGE)でVerticaを起動するようにプロンプトが表示されることがあります。
3 パスワードなしのSSH接続で、すべてのノードが互いに接続可能であることを確認します。 $ ssh <IP address of the node> 接続が成功すると、最後のログインの日付、曜日、タイムスタンプ等の詳細情報が表示されます。 接続に失敗すると、パスワードを要求され、「No route to host」と表示されます。

パスワードなしのSSH接続で接続可能な場合、Step 4 へ。
SSH接続時にパスワード入力が必要な場合、Enable Secure Shell (SSH) Logins を参照してください。
4 spreadがすべてのノードと通信しているかどうかを確認します。 $ /opt/vertica/spread/bin/spuser -s spreadport@<local machine's IP address> spreadが他のノードと通信している場合、Step 5 へ。
spreadが他のノードと通信していない場合、ノードがSpreadに接続できなくなった場合の対処方法チェックリストを参照してください。
5 他のアプリケーション等がVertica用のポートを使用していないかどうかを確認します。 $ netstat –nap | grep 5433 $ netstat –nap | grep 5434 $ netstat –nap | grep 4803 他のプロセスがVertica用のポートにバインドされている場合、Verticaポートを保持しているすべてのプロセスを終了します。
6 次にあげるログ上でエラーがないか確認します。
a. Admintoolsログ$ /opt/vertica/logs/admintools.logb. VerticaログとdbLog$ /home/dbadmin/<databasename>/<nodename>_catalog/ $ /home/dbadmin/<databasename>c. Spreadログ

  • デフォルトでは、spreadログは無効化されています。spreadログを有効化するためには、spreadの設定ファイルを編集します。
  • $ /home/dbadmin/<databasename>/<nodename>/spread.logd. ErrorReport.txt上のPANICエラー $ tail /home/dbadmin/<databasename>/<nodename>_catalog/ErrorReport.txte. オペレーティングシステムログ $ /var/log/messagesf. カーネルログ $ dmesg -T
    左記のログでエラーを確認した場合、解決します。
    エラーを解決できない場合、scrutinizeログを取得し、Verticaテクニカルサポートまでお問い合わせください。
    7 上記のエラーの対処後、データベースプロセスを起動します。 $ /opt/vertica/bin/admintools -t start_db –d <databasename> 問題なくデータベースプロセスが起動する場合、チェックリストは完了です。
    データベースプロセスが正常に起動しない場合、Step 8 へ。
    8 a. ノードがLGEを検出できない場合、データベースの状態はLost Contactに変更され、admintoolsは、「Recovery after unclean shutdown」といった内容を示すでしょう。こちらの詳細については、Vertica Documentation 内の Failure Recovery を参照ください。
    b. それでもデータベースを起動できない場合、データが破損あるいは失われている可能性があります。場合によっては、Verticaは、データが失われている状態、あるいは一部失われている状態であっても、起動することができます。それが受け入れ可能な場合は、次のコマンドを使用します。$ /opt/vertica/bin/admintools -t start_db –d <databasename> --force
    Verticaテクニカルサポートまでお問い合わせください。

    関連詳細情報

    Vertica DocumentationRestarting the Database をご参照ください。