SE時代の苦い思い出

就職して2〜3年目の頃、独立系SIerで働いていたときのこと。
商社のシステム部門に常駐し、保険業務のシステム管理を担当していました。

毎日入力されるデータを処理し、帳票を出したり、精算処理を行ったり。
当時は .NET と Oracle を使っていて、本番環境とテスト環境が用意され、本番データは週3ほどでバックアップされていました。

作業の流れはこんな感じです。

  • 本番データをテスト環境にコピー
  • テスト環境で修正・検証
  • 問題なければ本番環境を更新

ごく普通のルーティン。ところがある日、とんでもないミスをしてしまったのです。

目次

昼食を終えて、午後の作業に取りかかろうとしたときのこと。
「午前中にテストしたデータを一旦消して、本番からデータをコピーしよう」と思い、テスト環境にログインしたつもりで作業を始めました。

全テーブルを TRUNCATE文 で削除。

※TRUNCATEはDELETEと違い、ロールバックができません。完全に消えます。

と、その直後――

商社の保険部門の担当者から内線。
「データが見れないんですけど・・・」

嫌な汗が流れました。
確認すると、ログインしていたのはテスト環境ではなく本番環境
つまり、本番環境のすべてのデータを消してしまったのです。

全身から血の気が引き、頭の中は真っ白。
とりあえず「確認します」と伝えて電話を切り、すぐに上司へ報告しました。

そこからは怒涛のような時間でした。
上司が関係各所に連絡し、保険部門の部長にも報告がいきます。
状況を整理しながら、まずはバックアップからの復元を決定。

ただ、「バックアップを戻せば終わり」という単純なものではありませんでした。

  • 復元作業を行う夜間のシステム停止時間を調整
  • 関係部署への周知、業務影響の洗い出し
  • 復旧後に必要なデータの差分再入力方法の確認
  • 誰がどの範囲を再入力するかの役割分担

といった調整ごとが山のようにあり、スケジュールを組むだけでも一苦労。
結局、夜間帯に復旧作業を実施することになりました。

書いてしまえば数行ですが、実際には一つひとつの確認や合意に時間がかかり、復旧が完了するまでの数日間は通常業務もストップ。
差分データは関係者が手作業で再入力するしかなく、部署の方々に大きな迷惑をかけてしまいました。

待つしかない自分の立場は本当に苦しく、「生きた心地がしない」とはまさにこのこと。

1日、2日と時間が経つたびに胃が締め付けられるようで、体感的には1週間以上に感じられました。

今でもあのときの冷たくなった手足の感覚を、鮮明に覚えています。

20年以上経った今も、あのときの状況をはっきり思い出します。

思い出すたび、胸の奥がざわつく。あの出来事は、時間が経っても言葉になりません。

ただ、あの失敗があったからこそ、今の自分があります。

どんなに慣れた作業でも「慎重すぎるくらいでちょうどいい」と思うようになりました。

あの経験が、自分の中に「安全第一」という感覚をしっかり刻んでくれたのだと思います。

フリーランスになってからは幸い大きな事故はなく、無事に運営できています。

正直、あの出来事を「笑って話せる」ようになるにはまだ時間がかかりそうです。

けれど、そこから学び、誰かの役に立つ形に変えていければ、大切な経験だったと思える気がします。

目次