アフィリエイト広告を利用しています
G-QVESCNWRVH

2024年08月27日

何という事だ! メニューからプログラムが呼べなくなった・・・

●昨日は2時間で退社

昨日は、私的用事があって、9時に出勤したものの11時に退勤
なので、その事をメールでお客様に伝えました

ただ、今朝出勤すると、昨日の17時頃にトラブルメールが
なんでも、メニューからプログラムを呼び出そうとするとエラーが出て
プログラムが実行できないと・・・
●原因は・・・・私

7月に、不可思議な現象が発生したため、小刻みに不整合チェックを行い
その間、誰がどの端末でどのプログラムを実行したかをロギングすることにしました
事は簡単!

メニューからプログラムを呼び出した時に現在日時を覚えておきます
戻ってきたら、再び現在日時を取得し、メニューからのプログラム呼び出しログに記録

ただ、私の落ち度は、このログファイルのサイズを少なく見積もり過ぎ
サイズ以上にレコードを追加した場合に、OSが紹介メッセージと言う
誰かが答えなければならないメッセージが出され、処理が停止されてしまっています

つまり、メニューから何も呼び出せない状況
●月曜日に発生

丁度月曜日、私が帰ってから、その不具合は発生しました
今朝、早速お客様からのトラブル報告メールを見て
画面のスクショから、これはあれだなと直ぐ分かり

とりあえず一次対策

一次的にサイズ容量を増やし、時間稼ぎ
そして、ものの10分ほどで対応は完了しました
でも、これは一次対応
放置していては、再発します
●恒久的対策

もう、来月以降はトラブルが発生してもなかなか・・・
と、言う事で恒久対策としては

@2ケ月分のログを残して、それより古いレコードは削除する
A削除レコードを再利用するよう設定
こうすることで、2カ月分の容量以上には原理的には増えません

やれやれ、お客様にとんでもない迷惑をかけてしまいました・・・
反省! 反省!

●REUSEDLT(*YES)パラメータ

ログファイルには更新時の年月日・時分秒・μ秒まで持たせています。
しかも、それをキーにしているので、REUSEDLT(*YES)に設定できるわけです
削除レコードの再利用を有効にするには、ユニークキーがあれば全く問題ありません

データベースは、レコードを削除しても容量は減りません
削除レコードが占めていた領域は、削除されたという標識が付くだけだからです
この、削除レコードが占める無駄な領域を無くすには

@物理的に削除レコードを除去する (RGZPFM コマンド)
A削除レコードを再利用する (物理ファイルの属性に REUSEDLT パラメータがあります。これを*YESに節停止ます)

さて、話を元に戻して・・・ユニークキーが無くても、そのファイルに REUSEDLT(*YES)は設定できますが
プログラミングで注意しないと、見かけ上誤動作したようになりますよ




人気ブログランキング
人気ブログランキング




今日も疲れた  二時間だけど

●先週金曜日

先週金曜日に言われた不具合
月曜日(今日)リリースしようと考えていた
●めどは立った

なんで、こんなバグがあるのか

プログラムソースをじっくり見て
おかしい所はなさそうだ
でも
●お客さんからいただいた言葉

このバグが治らないと、印刷できない
これは、とても困る
●今日やっつけるつもりだった

だけど、今日(26日)はプライベートな要件があり
9時から11時の2時間で仕上げなければ

でも、そんな簡単に行くはずも無く、時間はどんどん経つばかり
ふと、ひらめきが
たまに(いや、このシステム改修では良く)あるけど

そのひらめきで、もつれた糸がほどけていくようにあれよあれよと
でも、最後の1点で間に合わず
お客様に謝罪のメールを・・・

頑張らねば




人気ブログランキング
人気ブログランキング




ファン
検索
<< 2024年08月 >>
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
プロフィール
Y.Taki@AS400さんの画像
Y.Taki@AS400
IBM AS/400で稼働するシステムの開発・追加を担当して30年以上になります。使えば使うほどこの AS/400 が好きになりました。 こんなSEがいろいろな視点から様々な業務などについて語ります。
プロフィール