Oracle Databaseの安定運用では、ログ監視が最も重要な作業の1つです。特にトラブル発生時や長時間かかる操作中に「今、何が起きているのか」を即座に把握するには、リアルタイムでのログ監視が不可欠です。
その最もシンプルかつ強力な方法が、tail -fコマンドの活用です。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
■ tail -fとは?
UNIX/Linuxでよく使われるtail -fは、ファイルの末尾に追加された行をリアルタイムで表示し続けるコマンドです。
tail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
このように使うことで、Oracleのアラートログの最新メッセージをリアルタイムで追いかけることができます。
■ テキスト図:tail -fによる監視のイメージ
┌──────────────┐
│ Oracleがログ出力 │ ← startupやbackupでログが更新される
└────┬─────────┘
↓
┌──────────────────────────┐
│ tail -f で画面にリアルタイム表示 │
└──────────────────────────┘
■ Oracleでtail -fを使うべき操作例7選
以下は、Oracle運用の現場でtail -fが特に活躍する具体的なシーンです。
① データベースの起動・停止確認
sqlplus / as sysdba
SQL> startup;
アラートログをリアルタイムに確認:
tail -f $ORACLE_BASE/diag/rdbms/orcl/orcl/trace/alert_orcl.log
出力例:
ORACLE instance started.
Total System Global Area ...
Database mounted.
Database opened.
② RMANバックアップの進行確認
rman target / log=/home/oracle/log/rman_backup.log &
tail -f /home/oracle/log/rman_backup.log
出力例:
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: finished piece 1
Finished backup at 2025/06/15 01:22:34
③ リスナー起動や接続エラーの確認
lsnrctl start
tail -f $ORACLE_HOME/network/log/listener.log
出力例:
15-JUN-2025 14:10:22 * (CONNECT_DATA=...) * establish * orcl * 0
④ データポンプ(expdp/impdp)の進行確認
expdp system/pass full=y logfile=expdp_full.log &
tail -f expdp_full.log
出力例:
. . exported "HR"."EMPLOYEES" 15.4 KB 107 rows
Job "SYSTEM"."SYS_EXPORT_FULL_01" successfully completed
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
⑤ OPatchによるパッチ適用中の確認
$ORACLE_HOME/OPatch/opatch apply > /tmp/patch.log 2>&1 &
tail -f /tmp/patch.log
出力例:
Patching component oracle.rdbms, 19.0.0.0.0...
Patch 34745631 successfully applied.
⑥ データファイル障害時の復旧作業中の確認
tail -f alert_orcl.log
復旧コマンド実行中に、リカバリの進行やエラーが表示されるかを確認。
⑦ Oracle Restart / RACでの障害検知
Restart構成やRACで、クラスタの状態を確認する際にも活用できます。
tail -f /u01/app/grid/diag/crs/hostname/crs/trace/crsd.log
■ 使用するログの種類と監視対象のマッピング
| 使用操作 | 使用するログファイル |
|---|---|
| DB起動・停止 | alert_<SID>.log |
| バックアップ | 任意のRMANログファイル |
| インポート・エクスポート | expdp / impdp の logfile 指定ファイル |
| 接続トラブル | $ORACLE_HOME/network/log/listener.log |
| パッチ適用 | OPatch用ログ(任意のファイル) |
| クラスタリソース障害 | crsd.log, ohasd.log(Oracle Restart/RAC環境) |
■ tail -fを使う利点まとめ
| 利点 | 説明 |
|---|---|
| リアルタイムでログが見られる | 処理進行やエラーを即時に確認可能 |
| GUI不要で軽量 | SSH環境でも即使用できる |
| 長時間処理の監視が容易 | backup, import などの進捗を視認 |
| エラー発生時の即時対応に強い | 発生直後にエラーを把握し調査開始できる |
■ 補足:より高度なログ監視にはこれも使える
| コマンド | 特徴 |
|---|---|
tail -F | ログローテーション後も自動追従 |
less +F | tail -fと似た挙動でページ操作も可能 |
multitail | 複数ログの同時監視ができ、色分け表示も対応 |
■ まとめ
tail -fは、OracleのようなエンタープライズDBを運用するうえで最もシンプルかつ強力なログ監視手段です。
さまざまな操作において、以下のような価値を提供します。
- トラブル時の即時の状況把握
- 処理中の進捗可視化
- 運用ノウハウの蓄積とログ読解力向上
Oracleを運用しているなら、tail -fを使いこなすことは必須スキルです。まずはalertログの監視から始め、運用作業に組み込んでみてください。
[参考]
データベース管理者リファレンスfor Linux and UNIX System-Based Operating Systems




コメント