常駐先で、ORACLEデータベースの管理やってます。Platinum10g、データベーススペシャリスト保有してます。データメンテナンスの当日。昼休み、六階の開発サーバ室で真里菜と森本は、罠の最終調整を行っていた。置いてあるアイコンをマウスで指示した。「IPアドレスがZZZ.ZZZ.ZZZ.ZZZのデータベースサーバに接続されるんだよね」と、真里菜は確認した。森本は無言でうなずいた。ZZZ.ZZZ.ZZZ.ZZZは、教育データベースサーバに振られている。本来は新本番データベースサーバに振られるべきIPアドレスである。「新しいアプリケーションサーバにZZ.ZZZ.ZZZ.ZZZへ接続するプログラムを、田中さんと堀井さんにデプロイしてもらいました。置いてあるアイコンをマウスで指示した。こっちはアイコンの画像を、教育環境用から本番環境用に変更するだけで済みました」YYY.YYY.YYY.YYYは、新本番データベースサーバに振られている。本来は教育環境データベースサーバに振られるべきIPアドレスである。「tnsnames.oraが変えたら、久米にバレちゃうじゃない。これと、森本君が作ってくれた文書があれば完成ね」---------------------------------------------------------------その日の定時後、久米と真里菜は六階の開発サーバ室にて、会議卓を挟んで向かい合っていた。久米は研修から帰って来たばかりで、少し疲れている様子だ。出れないとのことだったので、この職場が入っているビルで何が起きているかは知らない。「今日はお客さんが教育用として使ってる教育環境のデータをメンテナンスします。具体的には、開発環境で作り込んだ教育用会員データをインポートします。久米から渡された手順書には、きちんと「接続先を確認する」という手順が記載されていた。「保守端末は教育環境に接続されるように設定されてるんですよね。「まあ、念のためだよ。真里菜は手順書を上からざっと眺めた。開発環境で作り込んだであろうダンプファイルをimpコマンドでインポートするようだ。作業前にキチンとバックアップを取っている。時計の針は午後六時を指していた。久米は立ち上がると、部屋の右端にある保守端末があるところへ向かった。作業者は久米、確認者は真里菜だった。久米は真里菜に指示されて、コマンドを打った。教育環境データベース名である「endb_kyoiku」が出力される。真里菜がそう指示すると、久米は慣れた手つきで操作を行った。会員データが全て入ったadmスキーマのテーブルを、全て取得するコマンドだ。全テーブルが対象になるので取得に三十分近く掛かった。取得したダンプのサイズを見て、久米はそうつぶやいた。サイズが大きくなるということは、データ量が増えたということだ。それだけシステムの利用者や会員が増えたのだろう。久米は「@truncate_all_table.sql」と入力し、実行した。事前に用意したtruncate_all_table.sqlには、全テーブルのデータを切り捨てるコマンドが書かれている。「あらかじめ開発環境で作成したデータをimpでインポートしてください。本番環境のデータをもとに、開発環境で教育用に作成したデータをインポートした。全テーブルが対象なので、一時間ほど待った。久米がホッとしたように言った。この男でも、お客の環境をメンテナンスするのは緊張するようだ。クリックし、教育環境のシステムに接続した。教育環境のデータはインポートしたデータになっていなかった。久米の顔が青ざめて行った。真里菜はその横ですました顔をしていた。クリックし、本番環境のシステムにも接続する。そこには先程インポートした教育用データが表示された。久米の額から脂汗がじっとりとあふれ出て来た。tnsnames.oraを開き、HOST句とSID句の部分を確認する。ENDB_KYOIKU)))「どういうことだ......tnsnames.oraは教育環境に向くようになっている......」HOST句に書かれているIPアドレスは、教育環境(YYY.YYY.YYY.YYY)のもので、SID句に書かれているインスタンス名も、教育環境(ENDB_KYOIKU)のものだった。tnsnames.oraは改ざんされていなかった。久米は訳が分からないようで、慌てていた。自分の頭では説明できない事態が起きていて、その謎を解く術が分からない。「ち......違う。これは本番環境じゃない。その証拠にtnsnames.oraは変えられていないんだ。涼しい表情の真里菜はスマホをいじりながら、意地悪く言った。真里菜にそう言われた久米は、冷静さを取り戻したかのようにこう言った。「お前、何か知っているな。「今のうちに素直に、白状したらどうだ。今なら悪いようにはしない。「どうなってるんでしょうね~。作業責任者としてちゃんとして頂かないと困りますよ」そこで、丁度よく森本が開発サーバ室に入って来た。言うか、真里菜との打ち合わせ通り、LINEで合図が来たので入って来たのだった。久米はすがるような目で森本を見た。こいつなら何か解決してくれるかもしれないという期待を持っているようだ。森本は、一枚のA4用紙を見せた。そこにはこう書かれていた。「データベースの入れ替えについて12月23日火曜日、お客様の要望により以下の作業を行う。教育環境データベースサーバと本番環境データベースサーバの入れ替えを行う。具体的には、この二環境のデータを入れ替える。本番環境データベースサーバは教育環境データベースサーバとして稼働する。:HONBAN01DBデータベース名:ENDB_HONBAN■スケジュール・12月23日火曜日10:00-12:00教育環境データベースサーバと本番環境データベースサーバのデータを入れ替える13:00-17:30動作検証この構成で、来年3月末まで運用を行う。「な......なんじゃこりゃ!?」12月23日火曜日。この文書が本当なら現在、本番データベースサーバと教育データベースサーバは、データベースのデータが入れ替わった状態で存在することになる。教育データベースサーバで作業しているつもりが、実は本番環境データベースサーバに接続して作業していることになる。それは、本番環境データベースのデータを書き替えてしまったことを意味した。久米さんが、研修でいない間です。グローバルソフト興業とお客さんとの間で何か政治的なことがあったんじゃないですか?」こういった作業が、突然その日に決まってその日に実行されることは、まずあり得なかった。パニック状態になった久米にはそのあり得ない事態も本当のことのように思えるようで、酷くバタついている。目の前の事故を自分で解決できないかという方向に、頭が行ってしまって戻ってこないようだ。普段の冷静な久米なら、この文書のことを顧客や上長に確認するだろう。森本は無表情でそう言った。「私もこのことを今知りました。真里菜は口から出まかせを言った。頭を抱え込んで呻いた。作業責任者でありチームリーダーの久米としては、いつまでもこうしているわけには行かなかった。作業時間は今日の午後九時までと決められている。それまでに本番データを戻し、教育環境のデータメンテナンスを終わらせる必要がある。久米は真里菜に問い掛けた。「本番環境は、今この作業中にもお客様が使用されていたはずです。事故が起きてから今までのやり取りだけで、三十分も経過していた。手順書で取得したexpによるダンプは使えないのである。そのダンプだと、事故前の状態にしか戻らない。やって、うだうだしてる間に増えたデータが戻らないのである。このダンプを取るという作業は、形骸化した作業だった。無くてもいい作業だったのである。「まあ、本番データを元に戻せないことは、無いです。真里菜に助けを求めるような視線で、問い掛けた。「本番データを戻してあげますよ。真里菜が何を言おうとしているか、分かっているようだ。久米は観念したという風に、天井を見上げた。真里菜は教育環境用の保守端末からTeraTermを起動し、IPアドレスの入力項目に「YYY.YYY.YYY.YYY」と入力した。「本番データベースサーバに接続しました。今から作業します」そう言うと、sqlplusでsysユーザで接続するし、次のように入力した。ABORT」と入力した。真里菜は久米が止めようとするのを無視して、リターンキーを押した。久米が驚きの声を上げているうちに応答メッセージが返って来た。shutdown.」これで本番環境データベースは強制停止された......少なくとも久米にはそう見えたはずだ。データまで破壊し、システムまで停止させた。大損害であり大事故である。真里菜はからっとした明るい声で言った。名前を記憶しておくコメント:湯二ORACLEデータベースの管理やってます。技術と関係ない小説も書いています。