Amazon RDS for Oracle でアラートログに “Checkpoint not complete” が出力されたときの対処方法
困っていた内容
Amazon RDS for Oracle でアラートログに "Checkpoint not complete" が 5 分置きに出力されています。現状、サービスに影響が出ていないように見えるのですが、何か対処した方がよいでしょうか。
どう対応すればいいの?
このメッセージは LGWR(ログ・ライター・プロセス)により出力されるもので、ログ・スイッチを行なおうとした時に(前回の)チェックポイントが完了していないことを表わしています。
Amazon RDS for Oracle の場合はポイントインタイムリカバリのため 5 分起きに REDO ログがスイッチします。これはパラメーター archive_lag_target=300
で設定されています。そのため、パフォーマンスに影響がなければ変更する必要はありません。
ただし、このメッセージが出力される状況ではチェックポイントの完了までの間、ログの書き出しが停止してしまいます。そのため、データベースのパフォーマンスが低下する可能性があります。また、この時、新規接続ができなかったり、既存のセッションの処理が log file switch (checkpoint incomplete) のイベントで停止してしまうこともあります。
もし、5 分より短い間隔でメッセージが出力されている場合には、以下を行うことでログ・スイッチを低減させることが可能となるので対応を検討してください。
Oracle を実行している Amazon RDS DB インスタンスには、最初から 4 つのオンライン REDO ログ (それぞれ 128 MB) があります。