も〜っと
とにかく先生もすわって下さい。 2002年10月
ワーイ。
更新してもしなくてもかわんねー。
あるときふと美砂が言うのです。
「てしさん、なんか累積のデータ飛んでるよぉ〜♪」
♪←使い方まちがってるし!
ともかく1日や2日放置しておいてもバレない程度のデータでした。
けれども今回は違いました。
言ってみれば基幹システムの大黒柱とも言えるデータセット。
過去10年分が蓄積されたデータ。
件数にして60万件程度。
まさに中枢。まさに核。
家庭にたとえるなら親父。
会社にたとえるなら社長。
パソコンにたとえるならCPU。
コーヒーでたとえるならクリープ。
一週間でたとえるなら日曜日。
そういうデータファイルがぶっ飛んだのでした。
当然ユーザ各部署からじゃんじゃん電話がなります。それが10分も続くと電話の応対している美砂ちゃんがキレます。で、原因究明をする僕と後輩の男の子があたふたします。課長の額に青筋が浮かびます。
で、とりあえず手順を確認。
ホストコンピューターのログをチェック。
走らせたプログラムのソースのチェック。
「!」
コレ。いっかいここでデータファイル丸ごと削除してる。で新たにそのあとで作り直してるネ。で、その作り直す工程で領域取り損ねてコケてるんだネ。てことは、自らデータ壊しちゃって、そんでつくれなくてあきらめちゃったんだァ。えへ。
他人が組んだプログラムってのは見るのが意外と面倒というか、見づらいというか、見たくないというか、ウザイというか、できれば家に帰りたいというか、とにかくこの時点ですでに発見から2時間が経過。僕たちはとても焦っていたのです。
何故なら。
経過時間もさることながら。
プログラムを走らせたヒト = 僕。
つまり。(不可抗力とはいえ、)
データ消したヒト = 僕。
なワケで、この手の話がわからない方々からみると
簡単に言えば
バカ = 僕?(泣)
「じゃテーマソング決めマース。美砂ちゃんナニがいい?」
「はーい!あたし一休さんの歌がいい!」
「なんで?」
「なんか一休さんの歌って、笑顔になるから。」
「けど一休って単なる生意気な小坊主だぞ。」
「一休さんはすごく賢いから、プログラムだってすぐわかるかもしれないじゃん!」
「美砂ちゃん、だまされてるね…。いいかい、一休なんてちっとも賢くないんだぞ。ほら、このはしわたるべからず、って話あるでしょ。あれだって一休さんがホントに賢かったら橋の真中なんて歩いたりしないよ。」
「どーしてぇ?」
「俺ならちょっと遠回りして別の橋わたるもん。たまたま桔梗屋さんのいじわるだったからよかったものの、ホントに橋くさってたりしてたらたいへんなことになってんだよ。」
「そっかー。じゃ一休さんの歌をテーマソングにするとやばいねー。あはは。」
「よーし、じゃ一休さんの歌をテーマソングにしまーす。」
「えぇ〜〜。いいのぉ〜。」
そうです。現実逃避は現実から離れれば離れるほど良いのです。
それからトラブル時に僕が多用するもうひとつの荒業も紹介しときます。
はーん、俺は実行させただけだもんねー。PGくんだ奴がわるいんだもんねー。
秘儀「責任転嫁」
だって下手すりゃ新聞載るよ!?
というかまぁ僕も「なんちゃってシステム管理人」の端くれなので、大事な処理をする前には念には念を押してバックアップはとります。しかし今回の場合はこのバックアップがまた曲者だったのですよ。
通常この手のトラブルがあった場合、バックアップを戻せばとりあえず処理前には戻るし、トラブル後はファイルそのものが無くなってたので誰も書き換えはできなかったはず。
要するに多少各部署の仕事が遅れるというだけですむはずでした。
ところが。
悪いことは重なるモノです。
彼女の雰囲気が最近おかしいなぁと思っていたら、「好きなヒトができたの」とイキナリ別れを告げられ、それで落ち込んでいたら、実はその好きなヒトはアナタの親友だった、みたいなカンジ。
食パン落としたら、バターぬってある方が下になって落ちた、みたいな。
フツーいろんなひとが同時に扱う可能性のある共有ファイルってのは、誰かが使っているときにはそれ以外のひとが使えないようにロックをかけます。あるヒトがファイルの一部を変更している隙に、他の誰かが別の変更をかけてしまうことによる不整合を防ぐためです。簡単に言うとですね、
Aさんが読み込み、ファイルの一部を修正。
Bさんが読み込み、ファイルの一部を修正。
Aさんが修正したファイルを書き込む。(この時点でファイルが更新される。)
Bさんが修正したファイルを書き込む。
というような手順をされてしまうと、Aさんの修正は無効になってしまうのです。
で。
当然僕がこの手で破壊したデータファイルもですね、こうなってなきゃいけないんですよ。
フツーはね。
あたりまえでしょ?
ねぇ。あたりまえだよね?
けどね。
なってねぇんだよ!
プログラム作成者談:重なりました。
「あ〜、それね。だってその作業するときってメニュー画面の入り口をロックかけちゃうでしょ?だから2人一度にファイルにアタッチするなんてことないじゃん。ってかそんなファイル同時に書き込むことなんてないって。ものすごい偶然重ならないとそんなことありえないよ。」
僕がバックアップしたファイル、これがなんともはやその状態だったワケですよ。言ってみればビミョーに間違ったファイルがバックアップとして残ってるわけ。
ま、それが判明したのはとりあえずバックアップを戻してからしばらくたってからなんですが、その時はそんなこと知る由もなく、ただただ消え去ったファイルの復旧作業に時間を費やしたわけであります。
実に地道な作業でありました。
バックアップテープから復旧させるなんてことは本来あってはならないことなんですが、そんなこと言ってられません。システムをいったんオトして、これを復旧。しばらくユーザ各位からのアクセスを遮断して、再度最初僕がやりたかった処理を1からやり直し。
結局、復帰できたのは明け方でした。
痛みに耐えてよくがんばったな>俺
で、ファイルロックの問題がこのあと浮上するのであります。
とは言え、復旧作業後の僕らはまだその復旧したファイルが蝕まれたそれとはしらずに一応の仕事をやり終えた充実感のようなモノがありました。
しかしその一瞬の安堵は、驚くほどアッサリと破られたのでした。
「てしさ〜ん、なんかデータが間違ってるって電話だよぉ〜♪」
美砂ちゃんの♪っぷりはこれで意外と神経を逆なでしてくれます。ま、ある意味その緊張した雰囲気を和らげる効果があるのかもしれませんが、これが美砂ちゃん以外の人間ならとっくにグーパンチをお見舞いしているとこです。
で、今回ばっかりはいいかげん僕らも頭にきて、美砂ちゃんにひとつだけ命令を下したのです。
”よぉ〜〜〜♪”禁止!
さ、話を戻しましょう。
事態は緊急を要していました。
こうしている間にもそのファイルはいつ変更がかかるかもわからないからです。我々はまずそのファイルを変更するためのメニューをユーザ画面から消し去りました。
これで誰もさわれないはずです。
いやさわれません。さわれるわけないんです。
ここで、「でもさわれたんですよ(泣)」とかいうオチはつきません。
ってかシャレになんねー。
そしてデータの間違いをチェックします。
ログを隅々まで眺めます。
プログラムをにらみつけます。
原因は前回記述したとおりの、ファイルロックに関わる問題なのですが、そんなことはまったく想定していない我々の腐った脳みそにそんなものが見えるわけがありません。
わかんねー!
わかんねーよ!
わかんないよぉ〜〜〜♪
で、そのまま6時間ほど経過。
その間、なぜそのような妙なデータができあがったのか、試行錯誤しました。
電話、メール、ウェブ、仕様書、参考書、あらゆる資料を用い、様々な角度からそれを見つめなおしました。穴があくほど全力で見つめなおしました。
あるデータを抜いてプログラムを実行してみたり、データそのものを細かくチェックしてみたり、気分転換にネットで遊んでみたり、外を散歩してみたり。
コレね、冗談じゃなくてマジで散歩しました。
こういうのはふとしたきっかけで解決するものです。インスピレーションが大事です。勘が大事です。現実逃避もまんざらでもないんですよ。
僕は考えました。葉を赤く染めた木々を眺めながら。落ち葉舞い散る風情のある風景をバックにひとり感傷に浸りながら。そして最悪の事態を想像しながら。
マジ切ないです。
つーかね。
丸3日かかってその近辺のプログラム全部見直しましたよ。念のため。
その間、夕食と夜食は遠くに出向く暇も気力もなくてほとんど吉野屋。
吉野家のバイトのお兄さんがね、
ニヤッとすんのわかるんですよ。
また来やがったか、みたいな。(自意識過剰)
まぁ単純なデータの修正だけで結局はすんだので大事にはいたらなかっただけでもよしとしないといけないんですけどね。
いやそれにしても「あいつキン肉マンなんじゃねーの?」って勘違いされる前に吉野屋生活から離れられてよかったですよ。マジで。
こうして地獄の数日間は過ぎ去ったかのように見えました。