コンテンツにスキップ

13.6 監視と診断

運用診断では再現時刻と症状を記録し、サーバー状態、セッション・文、ストレージ・メモリ、 関連ログを同じ時間軸で確認します。M$ メタデータテーブルはスキーマ、V$ 仮想テーブルは現在状態を提供します。

診断とログ

  1. 問題の開始・終了時刻とクライアント情報を記録します。
  2. machadmin -e でサーバー応答を確認します。
  3. V$SESSIONV$STMT から関連処理を探します。
  4. 症状に応じてストレージ・メモリ・ROLLUP などの仮想テーブルを確認します。
  5. 同じ時刻のサーバー・クライアント・loader ログを比較します。
  6. 変更前に現在の設定と基準値を保存します。

トレースログ設定

トレースレベル、ファイルサイズ、保持設定は、障害分析に必要な範囲だけを調整します。 設定リファレンスで、現行リリースのプロパティ名、 許容値、再起動の要否を確認します。機密 SQL やデータが記録され得るため、ログのアクセス権限と保持期間を設定します。

サーバーログ

デフォルトのトレースディレクトリは $MACHBASE_HOME/trc です。ファイル名が固定とは考えず、 実際のディレクトリと設定値を確認します。

ls -lh "$MACHBASE_HOME/trc"
tail -n 200 "$MACHBASE_HOME/trc/machbase.trc"

エラー文字列を数えるだけでなく、最初のエラー、直前の警告、起動・停止、チェックポイント・ ストレージのイベントを時系列で確認します。手動コマンドでログを一括削除しないでください。

machsql ログ

machsql.history には認証情報や機密 SQL が残ることがあります。運用アカウントの履歴ファイル権限を 制限し、共有前に内容を確認します。再現 SQL は、対象データベース、実行時刻、結果・エラーとともに保存します。

machloader ログ

大量ロードでは、終了コード、サマリー、ログ、失敗行ファイルをまとめて確認します。

  • スキーマと入力列数・順序
  • 区切り文字、引用符、エンコーディング
  • NULL と DATETIME の形式
  • 最初の失敗行と繰り返すエラーコード
  • 最終的な成功・失敗件数

失敗行ファイル全体をそのまま再実行しないでください。原因を修正したサンプルで検証し、失敗行だけを再処理します。

メタデータテーブル

M$SYS_TABLESM$SYS_COLUMNSM$SYS_INDEXES などで現在のデータベースのスキーマを確認します。 名前だけで結合せず、データベース ID、所有者 ID、オブジェクト ID を含めます。予約オブジェクト名や 内部テーブル構造にアプリケーションが依存しないようにします。

仮想テーブル

まず現行リリースの実際の列を確認します。

SELECT * FROM V$SESSION LIMIT 1;
SELECT * FROM V$STMT LIMIT 1;
SELECT * FROM V$PROPERTY LIMIT 1;
SELECT * FROM V$STORAGE_USAGE LIMIT 1;
SELECT * FROM V$SYSMEM LIMIT 1;
SELECT * FROM V$ROLLUP LIMIT 1;
SELECT * FROM V$LICENSE_INFO LIMIT 1;

全一覧と列の意味はシステムカタログを参照してください。

監視と容量管理

アラートは固定しきい値よりも、正常時の基準値、増加率、業務ピーク負荷、復旧の余裕を基準に設定します。 ファイルシステムとデータベースの使用量を併せて確認し、バックアップ・エクスポートの別領域も含めます。

サーバー状態

"$MACHBASE_HOME/bin/machadmin" -e

プロセスが存在するだけで正常とは判断しません。ネイティブ接続、軽量 SQL、直近のサーバーログも確認します。

セッションと実行 SQL

SELECT id, user_name, user_ip, login_time, client_type
FROM V$SESSION
ORDER BY login_time DESC;

SELECT sess_id, id AS stmt_id, state, record_size, query
FROM V$STMT
ORDER BY sess_id, id;

長時間実行が必ずしもエラーとは限りません。処理内容、処理行数、クライアントのタイムアウト、 I/O・CPU 状態を併せて確認し、cancel・kill の必要性を判断します。

ディスク容量

df -h "$MACHBASE_HOME"
du -sh "$MACHBASE_HOME/dbs"

別の DBS_PATH を使用する場合は実際のパスを確認します。内部パーティションファイルを 直接編集・削除しないでください。

メモリ

OS の利用可能メモリとスワップ、V$SYSMEM、キャッシュ、同時クエリ数を併せて比較します。 内部の manager 名を自動化の固定基準にしないでください。

バックアップ検証

コマンド成功だけでなく、パス・サイズ・完了状態を記録し、隔離環境でマウントまたはリストアして、 主要テーブル、行数、時間範囲、サンプルクエリを検証します。

障害資料の収集

  • リリースと Edition
  • 発生時刻とタイムゾーン
  • 再現コマンドとデータベース・ユーザー
  • サーバー・クライアント・loader ログ
  • 関連仮想テーブルの結果
  • OS の CPU・I/O・メモリ・ディスク
  • 直近のスキーマ・設定・デプロイ変更
  • 試行済みの対策と結果

認証情報、AUTH KEY、個人情報、機密の元データはサポート資料から除去します。

最終更新日