May 09, 2018
Oracleのリスナー・ログをリネームするツール
忘れた頃にやって来る。
1年弱くらいの間隔で来てるっぽいのが、Oracleのリスナー・ログがイッパイになってDBアクセスできなくなるっていうエラー。つい先日も起きちゃった。
勝手にシステム的に切り替えてほしいんだけどね。
ググったけどそんな設定方法は見つからず。
普通、起きないの?ウチのシステムのログがたまりすぎなの?
ちなみ最大サイズは
Oracle 10g:2GB、Oracle 11g:2GB (ADR 有効なら 4GB)
だそうです。
と言う事で次起きる時も絶対忘れてると思うから、
容量を監視して設定値を超えたらリスナー・ログをリネームするツールを作ってみた。
(Windows10、VB2008)
(Windows10、VB2008)
使い方
■ プログラム
FileSizeCheck.exe → プログラム本体
FileSizeCheck.ini → 設定ファイル
■ 設定ファイル
ログに出力するタイトル。
title=DBSERVER1 チェック用
ログファイル名。プログラム本体と同じフォルダに作成される。
logfile=FileSizeCheckListnerLog.log
ファイルをリネームする。1=する、0=サイズチェックのみ。
rename=1
チェックするファイル名(フルパスで設定する)。
checkfile=D:\app\DBUSER\diag\tnslsnr\DBSERVER1\listener\trace\listener.log
ファイルの上限サイズ。この設定値以上になるとファイルをリネームする。
バイトで指定する。下記設定値だと3.8GB。
limitsize=4080218931
■ 起動タイミング
Oracle稼働中だとリスナー・ログを掴んでいるのでエラーになる。
lsnrctl stop で停止。
リスナー・ログをリネーム。
lsnrctl start で起動。
で、行けるみたい。
batファイルに書いて実行させると良いでしょう。
batファイルに書いて実行させると良いでしょう。
みたいってのはウチは夜間サーバー停止しているのでOracle Stopしたり、DBをExportしたり、の後にこのツールをタスクスケジューラから実行かけてます。
■ 結果ログ
2018/05/08 23:00:02.295 開始 ----------------------------------------------------------------------
2018/05/08 23:00:02.439 ファイルサイズチェック (Ver 1.0) - DBSERVER1 チェック用
2018/05/08 23:00:02.440 D:\app\DBUSER\diag\tnslsnr\DBSERVER1\listener\trace\listener.log
2018/05/08 23:00:02.456 リミットファイルサイズ: 4,080,218,931 byte ( 3.80GB)
2018/05/08 23:00:02.461 現在のファイルサイズ : 849,272,483 byte ( 809.93MB)
2018/05/08 23:00:02.463 リネームしない。
2018/05/08 23:00:02.464 終了
■ リネーム後のファイル名
<ファイル名>_BK<YYMMDDHHMMSS><拡張子>
例:listener_BK180507150121.log
こんな感じでファイル名の後に『_BK』と日時が付きます。
![]() 機能で学ぶ Oracle Database入門【電子書籍】[ 一志達也 ] |