●昨日は2時間で退社
昨日は、私的用事があって、9時に出勤したものの11時に退勤
なので、その事をメールでお客様に伝えました
ただ、今朝出勤すると、昨日の17時頃にトラブルメールが
なんでも、メニューからプログラムを呼び出そうとするとエラーが出て
プログラムが実行できないと・・・
●原因は・・・・私
7月に、不可思議な現象が発生したため、小刻みに不整合チェックを行い
その間、誰がどの端末でどのプログラムを実行したかをロギングすることにしました
事は簡単!
メニューからプログラムを呼び出した時に現在日時を覚えておきます
戻ってきたら、再び現在日時を取得し、メニューからのプログラム呼び出しログに記録
ただ、私の落ち度は、このログファイルのサイズを少なく見積もり過ぎ
サイズ以上にレコードを追加した場合に、OSが紹介メッセージと言う
誰かが答えなければならないメッセージが出され、処理が停止されてしまっています
つまり、メニューから何も呼び出せない状況
●月曜日に発生
丁度月曜日、私が帰ってから、その不具合は発生しました
今朝、早速お客様からのトラブル報告メールを見て
画面のスクショから、これはあれだなと直ぐ分かり
とりあえず一次対策
一次的にサイズ容量を増やし、時間稼ぎ
そして、ものの10分ほどで対応は完了しました
でも、これは一次対応
放置していては、再発します
●恒久的対策
もう、来月以降はトラブルが発生してもなかなか・・・
と、言う事で恒久対策としては
@2ケ月分のログを残して、それより古いレコードは削除する
A削除レコードを再利用するよう設定
こうすることで、2カ月分の容量以上には原理的には増えません
やれやれ、お客様にとんでもない迷惑をかけてしまいました・・・
反省! 反省!
●REUSEDLT(*YES)パラメータ
ログファイルには更新時の年月日・時分秒・μ秒まで持たせています。
しかも、それをキーにしているので、REUSEDLT(*YES)に設定できるわけです
削除レコードの再利用を有効にするには、ユニークキーがあれば全く問題ありません
データベースは、レコードを削除しても容量は減りません
削除レコードが占めていた領域は、削除されたという標識が付くだけだからです
この、削除レコードが占める無駄な領域を無くすには
@物理的に削除レコードを除去する (RGZPFM コマンド)
A削除レコードを再利用する (物理ファイルの属性に REUSEDLT パラメータがあります。これを*YESに節停止ます)
さて、話を元に戻して・・・ユニークキーが無くても、そのファイルに REUSEDLT(*YES)は設定できますが
プログラミングで注意しないと、見かけ上誤動作したようになりますよ
人気ブログランキング
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
コメント、ありがとうございます。
mrrjs0114様も経験されているんですね(笑)
なぜか、良くやってしまうんですよね。
そのため、万一のために、 wrkrpyle でシステム応答リストに CPA4305 にたいしては、"1" と答えるようにしてしまいました(笑)
他のDBでは、SIZE(*NOMAX)がほとんどなので問題ないかなって思いましたから(笑)
レコードアクセスに RRN を使うと・・・REUSEDLT は使えませんよね😉
前職では、多数のログファイルを管理するために、ログファイル管理ツールを自作しました(笑)
って言っても、ログファイルの名前と保存期間、削除の為の論理ファイルの指定を出来るようにし、実行させ、その結果を集計し、一覧表示する機能だけですけど(笑)
でも、それだけで結構重宝していました。
だって、放置Playで、勝手に古いログレコードを削除して、必要に応じて再編成も出来るようにしていましたから(^_-)
私は、元々ものぐさな性格なので、出来るだけ自動化を進めました。 その結果、ほぼ完全自動運転ができるようになっていました(笑)
管理は、システムが勝手にやってくれていて、自分は何もせず、仕事しているフリもできちゃう優れものでした(笑)
お疲れ様です。
レコードは追加されなかった。メンバーxxxxは満杯です。(C I 9999)
あるあるですよね。何度かやってるのに いつも後回しになるやつ(笑)
前職は情報システム員不在の時間が長く、これでると業務に支障が出るので
全てのPFの初期レコード数を *NOMAXにしてました。(僕が入社前から)
そうすると・・・整理しなくなり十年以上前のデータが残ってしまい、
一周回った伝票番号が前世の情報を引っ掛ける。なんてことも。
現職では・・常駐JOBがこのメッセージを出すことがしばしば。
週に2−3回はいろんなDBで発生していました。
それが当たり前のようで「Iで応答して」って。。。知ってるけど
それで主なDBのレコード件数、初期レコード数、増分値 増分回数 削除済レコード数を
調べてこっそり初期レコード数を増やしたり、再編成したり
それが入社直後(1年前)に最初に取り掛かったお仕事です(指示があったわけじゃないけど)
あと、古いDBの削除済レコードの再使用は・・・*NOのままにしています。
レコードアクセスのがキーではなく、RRNのRPGを見てしまったんで(一部ですけど)