はじめに

Verticaの各種ログファイルについて紹介します。

ユーザが参照する一般的なログファイルとして、以下の4種類のログファイルがあります。
1. vertica.log
2. startup.logとdbLog
3. COPYコマンドのエラーログ
4. Database Designerの実行ログ

各種ログファイル

それぞれのログファイルの特徴は以下の通りです。

vertica.log

vertica.logにはクエリの実行内容、Move Out/Merge Outの実行、エラーなど
データベース起動中に発生した様々なできごとが出力されます。

・出力先
カタログ・ディレクトリ/データベース名_ノード名_catalog/

・ファイル名
vertica.log

・ログローテート
週次、またはログファイルのサイズが10MBを超えた場合にローテート。

・ログ出力例
この例では、vsqlから「SELECT * FROM table1;」を実行した場合の出力内容(該当箇所のみ抜粋)

ログの内容(下線部分)から、2018-12-25 19:27:25に該当クエリが実行されたことがわかります。


startup.logとdbLog

startup.logにはデータベース起動中の情報が出力されます。
dbLogはデータベースの起動時にvertica.logが初期化される前のログが出力されます。
データベースの起動に失敗した際などでの診断で使います。

・出力先
カタログ・ディレクトリ/データベース名_ノード名_catalog/

・ファイル名
startup.log

・ログローテート
なし(Verticaが起動する度にstartup.logは上書きされるので、時間経過によってサイズが肥大化する事はありません。)

・ ログ出力例
この例では、「どのノード」が「どうなった」、「いつ」の情報が読み取れます。


・出力先
カタログ・ディレクトリ/データベース名/

・ファイル名
dbLog

・ログローテート
週次のローテート、52世代分をキープ(52週間=13ヶ月分)


COPYコマンドのエラーログ

データロード時に使うCOPYコマンドのログファイルです。
このログファイルはCOPY実行時に問題が発生した場合にのみ作成されます。

・出力先ディレクトリ
カタログ・ディレクトリ/v_データベース名_ノード名_catalog/CopyErrorLogs/

・ファイル名
テーブル名-csvファイル名-copy-from-exceptions(ロードに失敗した理由が出力されます)
テーブル名-csvファイル名-copy-from-rejected-data(ロードに失敗した行データが出力されます)
テーブル名-STDIN-copy-from-exceptions(ロードに失敗した理由が出力されます)
テーブル名-STDIN-copy-from-rejected-data(ロードに失敗した行データが出力されます)

以下のように、CSVを標準出力から読み込んでロードし、なおかつエラーになった場合はログファイル名にSTDINが含まれます。


・ログローテート
なし

・ログ出力例
この例では、3列のテーブルに対して、4列のCSVをロードした場合のエラーログを記載しています。


Database Designerの実行ログ

Database Designer(以下、DBD)を実行した時に、出力されるログファイルです。

・出力先
DBD実行時に指定

・ファイル名
designer.log

・ログローテート
なし

・ログ出力例:この例では、クエリスペシフィックプロジェクション用に指定したSQLファイルの内容に誤りがあった場合の例を記載しています。

指定したSQLファイル内のクエリ
SELECT 日付,顧客ID,売上高 FROM table1 WHERE 日付 > 20150705;



ログの内容(DETAIL:の箇所)から、WHERE句の比較がdate型 > int型になっていたためエラーが発生していたこと がわかります。
なお、Database Designerを実行した画面上にも簡易的なログが出力されますが、エラーの原因までは出力されません。
Database Designerの画面出力内容(エラー出力箇所のみ抜粋)


検証バージョンについて

この記事の内容はVertica 9.1で確認しています。