こんにちは!
けいぞうです!
今回はプログラマ歴10年、システムエンジニア歴7年くらいのけいぞうのシステムエンジニアとしての失敗談を綴っていきたいと思います。
息抜きに書いているので、暇な方は読んでくださるとうれしいです ^^) _🍛~~
[目次]
- 簡単な経歴と自己紹介
- 客先のデータを全消し事件
- フォルダの権限吹っ飛ばし事件
- サイレントスタメン外し
- 上司に徹夜させる
- 本番作業日、誰も来ない
簡単な経歴と自己紹介
主な仕事内容は以下な感じです
- 業務系基幹システムの開発
- Webシステムの開発
- システムのクラウド移行案件
- スマホアプリ開発
- その他ツール開発など
得意な言語はC#、Javaです。好きなのはもちろんPowerShellです✨
苦手な言語は、html、JavaScript、Python、などなど。フロント系が苦手です。C#でも、asp.netとか言われると、やめてくれ~となります。
新しい言語も苦手・・・知識をアップデートしていかないと、そろそろ化石になってしまいます。
7年もエンジニアをやっていると、胃に穴が開くような経験を色々してきたので、
それをここに吐露して昇華できればなーなんて思います。
客先のデータ全消し事件
まだ新人の頃の話です。
客先でデータを見ていたところ、データのメンテナンスをしないといけないことに気づきました。既に本番運用が始まっている環境です。
その頃は、次のシステム改修の案件が始まっていて、そのうち合わせと、現地データ調査のために現場にいたという感じです。
その時、客先の本番マスタデータに、テスト時のごみデータが残っていたのを見つけたんです。
あーこれは消しとかないといけないな、そう思ってしまいました。
あろうことか、誰にも報告せず、作業の確認者もつけず、たった一人で作業をし始めました。(今思うとあり得ない行為ですが、当時は良いことをしてるとさえ思っていました。笑)
そして、頭の中で思い浮かべたクエリはこんな感じ
DELETE FROM [テーブル名]
WHERE [主キー] = [ごみデータ]
これを普通に実行していれば問題なかったのですが
何故か。
何故かわかりません。
1行目のDELETE文を書いたところで、F5を押してしまいました。
手が勝手に・・・。
全身の毛穴がぶわーッと開いて、血の気がサーっと引いていったのが分かりましたねww
近くに上司やお客さんはいなかったですが、先輩が一人いたので、声を掛けました。
け「あの先輩、俺やっちゃったかもしれないです。。。」
先「え!?」
け「組織マスタのデータ全部消してしまいました・・・;」
先「え!?」
先輩は一瞬目を丸くして驚いた後、自分の作業に戻ってしまいました。
あ、アレ??
け「あの・・・データ消しちゃいました・・。」
先「・・・え!?」
また作業にもどる先輩。
この人ダメだ(笑)自分で報告しに行くしかない。
そしてお客さんのところへとりあえず報告に行ったのでした。
結果としては、幸い頻繁に更新がはいるマスタではなく、
その日の朝のDBバックアップを別の場所に復元して、マスタデータだけコピーするという手法で完全復旧ができました。
また、本来ならメチャクチャ怒られる事案ですが、すぐに報告してくれてありがとう、とまで言われました。いや、相手が寛大な方で本当に良かった。
ここから得た教訓
- 本番作業は必ず2人以上でやること
- DELETEなど危険な作業をするときはトランザクション処理をかけること
- お客さんに報告してから作業すること
当たり前のことですが、当時の私は無知でした・・・。
フォルダの権限吹っ飛ばし事件
とある基幹システムの改修案件のリリース作業にて・・・
これは私が作成したリリース手順書の不備でした。
あまり自信がない手順書だったので、前の担当兼上司の人にレビューをお願いしたのですが、まあそんなに大きなリリースでもないし、レビューしなくてもいいだろうという謎判断が入り、そのままリリースは決行されたのでした。
とあるフォルダに定期実行バッチがまとめておいてあり、
そのバッチの改修が入ったので、上書きでリリースするという作業でした。
リリース前のバックアップの方法として、フォルダごとコピーしてそれをBackupとして置いておくという手順にしていまいた。何らかの原因で切り戻し作業が発生した場合は、そのコピーフォルダを元のフォルダ名にリネームすることで、元に戻すという手順にしていました。
そして、とある理由でこのリリースは切り戻しをすることになってしまいましたので、この手順通りの切り戻しを実施しました。
するとその夜・・・定期実行バッチが全く実行されないではありませんか!!💦
翌朝出勤したら大騒ぎだったので何かと思えばコレでした。
原因はどうやら、コピーしたフォルダのアクセス権はデフォルトのものになるようで、それに切り戻したということは、元々ついていたフォルダのアクセス権が全部消えていたということに、なっていたのです。
定期バッチの実行ユーザーは、特別なユーザーで、初回リリース時にそのフォルダに意図的に権限を付けていたようで、、、、、この事態となってしまいました。
でもね、私は初回リリースのときアサインされてなくて、知らなかったんですよ。そういうスタンスだったのも悪かったと思うんですどね💦
上司「そんな、コピーしたフォルダを実行環境に切り戻すなんて、ダメに決まってるやろ!!どういう手順書なんやそれは!!」
って怒られました。
いやだからレビューしてって言ったやん!!!笑(心の中で責任の逃げ場を作るけいぞうであった)
そこそこ大企業の定期実行バッチだったので、本当にアレはお腹が痛かったなあ・・・
そこそこのボリュームになってしまったので、続きはまた次回にしたいと思います。ここまで読んでくださりありがとうございました!✨
最近のコメント