【小説 データベース道は一日にしてならずだよ!】 痛い目見ろ!編 終
国道沿いにある音楽スタジオ「ポップロック」で、雄一はドラムを叩いていた。
バンドのメンバーは、雄一のドラムがいつもよりもタイトでしっかりリズムを刻んでいることに驚きを隠せないようだ。
いつもタム回しが絡む複雑なフィルインの後、テンポが狂うのだがそれがない。
雄一は、耳からメンバーが出す音を聴くことと、リズムを乱さないことに徹していた。
迷いが全くなく、まるでそれが自分の仕事であると言わんばかりだった。
今度のライブで演奏する曲を一通り流した後、メンバーで軽く雑談をしている時に、ギターのリュウジが言った。
「雄一、今日は全然乱れないな。何かあったのか?」
雄一は十二時間ほど前のことを思いだしていて、リュウジの言葉を聴き流してしまった。
「いつも、そんな感じでやってくれると歌いやすいんだけどな」
ボーカルのスズカが言った。
「ああ......」
褒められた雄一は、汗を拭うと遠い目をしてつぶやいた。
「桜子さん......」
スタジオの時計を見ると、十六時前だった。
そろそろ次のバンドに部屋を譲る時間だ。
雄一は福島に言われた言葉を思い出していた。
「データベースはバンドで言うとドラムみたいなもんだぞ。縁の下でしっかりしてないと、上に乗ってるアプリケーションが思うように動かなくなる。バンドだってドラムが安定してリズムが刻めてないと、その上に乗っかってるギターやボーカルだって自由に動けないだろう」
それにしても、今ここに居るのが不思議なくらい、あの時が嘘のようだ。
そして、十二時間前のことを思い出した。
------------------------------------------------------------------------------------
「安田、おい、大丈夫か!?」
福島が桜子を揺り起こそうとするが反応がない。
データベースのほうも依然として反応がない。
雄一は思った。
(どうすればいい?最初の頃より状態が悪くなっているぞ......)
実際、この状態は当初より悪くなっている。
片方は中途半端に落ちかけた状態で、もう片方はボロボロの状態で動いている。
(もうお手上げだ......データベース、あんたは手強すぎる......俺じゃ手に負えない)
弱気になったとき、この短い間に関わった人々の言葉が雄一の胸に去来した。
「どんなものでも引き継いだらそれはお前のものなんだよ」
「お前は今、技術者として一番言っちゃいけないことを言ったんだぞ!」
「君はデータベースエンジニアなんだろ!? 君が作ったデータベースなんだろ! 責任を持って何とかする方法をもっと探してみたらどうなんだ!」
雄一は倒れている桜子を見た。
「データベース道は一日にしてならずだよ!」
(次の障害は自力で解決するって決めたばっかりじゃないか......。考えろ......何か方法はあるはずだ)
ふと、雄一は大量のORA-4031を吐き出しているログを見た。
(インスタンスが落ちるタイミングで何をしているのか?データファイルを閉じたり、メモリの開放を行っているだろう。そういったことに時間が掛かっているということになる。
今、問題になっているのは共有プールのメモリが足りないことだ......)
そこまで考えると、雄一はさらに深く考えるために、深呼吸をして気持ちを落ち着けた。
(落とすタイミングでメモリの開放を行うのと、共有プールの断片化が関連あるんじゃないか?
断片化しすぎた領域をクリアするのに時間が掛かっててずっと停まったように見えているだけなんじゃないか?)
桜子は相変わらず、目を閉じたままだ。
福島が強引に揺さぶって、起こそうとしている。
(おいおい、あんまり揺さぶるなよ。後頭部が壁に当たりそうになってるだろ......危ないな、強引すぎるんだよ)
雄一は、福島が桜子を強引に起こそうとしているのを見て思った。
(強引......そうか、強引に落とせばいいんだ。abortだ、そうだabortで落とせばいい!
雄一はgoogle先生に「srvctl stop instance oracle abort」と入力して検索した。
(強引に落とすと起動時にクラッシュリカバリが発生して、起動時に時間が掛かるかもしれないが仕方ない。
安田さんも言ったじゃないか、泥臭く何でもやってみろって)
検索したコマンド「srvctl stop instance -d cent -i cent1 -o abort」を打ち込んでリターンキーを押した。
10秒後、プロンプトが返ってきた。
インスタンスの状態を確認すると一号機は「Instance Shutdown」になっていた。
「データベース#1が落ちました。今から再起動します!」
雄一は、起動コマンド「srvctl start instance -d cent -i cent1」と打ち込んでリターンキーを押した。
クラッシュリカバリに多少の時間は掛かったがデータベースは起動できた。
インスタンスの状態を確認すると「Open」になっている。
「データベース#1が起動しました! 次はデータベース#2を再起動するので、システムにログインしているユーザに一旦抜けてもらうように伝えてください!」
「もう、みんな抜けてもらってるよ。早く片付けてもらいたいからね」
小倉が先回りして対応していた。
「ありがとうございます」
雄一は礼を言うと、データベース#2も同じように再起動した。
データベース#1,#2共にメモリがクリアされ、パフォーマンスが維持された状態で稼働するまでに至った。
「最後は一人でやれたじゃないか!」
中山が声を掛ける。
「今度こそちゃんと動いているぞ。よく頑張ったな。見直したよ」
コールセンター室から戻って来た小倉が、雄一の肩に手を乗せて礼を言った。
褒められたり感謝されたり、障害対応が完了すればこんなにも対応が変わるものなのかと雄一は思った。
だが、素直に喜んでもいられなかった。それは、桜子が依然倒れたままだったからだ。
「おい、安田!終わったぞ!」
福島が、桜子を揺するをやめて声を掛けた。
「ぐうう......」
寝息が聞こえて来た。
桜子の鼻からだ。
「起きろ!有馬が復旧させたから、倒れてるふりしなくていいぞ!」
(倒れてたふり......!?)
雄一は混乱した。
「あ......おはようございます......」
桜子が目をこすりながら起き上がった。
「倒れてるふりしてたら、眠ってしまいました......」
欠伸しながら眠そうに言った。
「どういうことですか?」
雄一は目を白黒させながら福島に訊いた。
「ああ、お前が安田を頼らずに障害復旧できるか試してたんだよ。だからしばらく倒れてもらってたんだ」
ケロリとした様子で福島が答えた。
「安田さんが倒れたショックで、僕も倒れたらどうするんですか? それこそ障害復旧できないですよ......」
「その時は、私が立ち上がってやるつもりだったから大丈夫」
桜子が伸びをしながら言う。
まるで人間RACだな......雄一は、なるほどと思ったが、このやり方はやはりひどいと思った。
「荒療治だと思ったけど、障害復旧の時は人に頼れないときが多いからね。自分でやり切ること、それを学んでほしかったのよ。痛い目もちょっとは見ないと人は成長しないでしょう」
荒療治というかショック療法というか、そのお陰で雄一は最後の最後、自分の力でデータベース障害を復旧することが出来たのである。そのせいか、達成感を感じていた。
ずっと桜子に頼ってばかりいたらこの達成感は得られなかっただろう。それがエンジニアとしての自信につながるのだろうか。
「年休、取ってよし!」
桜子は、雄一にそう伝えると小倉に挨拶してサーバ室から出て行った。
「こっちの雰囲気のほうがいいな......」
桜子の後姿を見送った中山がぼそっと言った。
「有馬、ちょと来い」
福島が雄一を手招きして、コールセンター室へ連れ出した。
コールセンター室に入った雄一の目に「いつも笑顔で」と大きく書かれた看板が目に飛び込んできた。
「ありがとうございます」
「はい! 承りました」
オペレータ達が忙しそうに注文の電話を受けている。
電話片手に受注画面を開いて、ものすごいスピードで注文された商品の情報を入力している。
それを見た雄一は、驚くと同時に自分の関わっているシステムやデータベースがいかに重要かを思い知らされた。
------------------------------------------------------------------------------------
年休明けで出社した有馬を見て、中山が驚いた様子で言った。
「おい、有馬、その頭どうした!?」
「ああ......、これか」
雄一は自分の頭を撫でた。
手触りがざらざらしていると改めて思った。
「おまえ、ちゃんと障害対応できたんだから、頭丸めなくてもいいんだぞ......」
雄一は丸刈りになっていた。
「いやあ、そういうつもりじゃないんだ」
何というか、髪が長いと障害対応の時に目にささって煩わしい思ったのもあるが、一からスタートするという意味で自分で決めて丸刈りにしてみたのである。
個性が出てるということで、意外にもバンドメンバーには好評だった。
雄一は思った。
(安田さん、何て言うかな)
------------------------------------------------------------------------------------
セントライト化粧品の通販コールセンターシステムは安定稼働しているようだが、データベースのメモリ設定は障害を起こしたときと変わらない。
現在、再起動したことにより共有プールが綺麗になっているが、断片化が進めば同じ障害が起こるはずである。
そうならないためには、メモリ設計を見直して再設定を行う必要がある。
メモリの再設定は一か月後の計画停止の時に行うことになった。
もちろん、その手順書作成や設計は雄一がやることになった。
その設計書と手順書のレビューを、雄一は桜子にお願いしたいと考えていた。
一応、福島を通しておいた方がいいと思い、そのことを伝えに行った。
「安田はデータベースには関わらないぞ」
そう言われた雄一は、やはりそうかと思った。
桜子があれだけデータベースを理解しているにも関わらず、別の仕事をしていてるのには何か理由があると思っていた。
「なんで、あれだけできる人が担当じゃなくて、僕なんですか?」
雄一はあの晩、帰った後からずっと疑問に思っていたことを問い掛けた。
「あいつはな......」
「あっ! イガグリみたい! どうしたの!?」
福島が言いかけた時、後ろからやって来た桜子が雄一の坊主頭を指摘した。
「これは......その、自分でも気分を変えて頑張りたいなと思って」
「ふ~ん、形から入るタイプなんだね、頑張ってね」
桜子は、いつもの穏やかで優しい感じに戻っていた。
(昨日のあれは何だったのか?)
「あ......あの、これ、設計書、手順書のレビューをお願いしたいんです」
「ん?」
桜子は不思議そうな顔をした。
手に取った設計書をパラパラとめくる。
三人の間に沈黙が流れる。
「分かんないよ~。それより、お客さんが沢山来たからお茶淹れるの手伝ってくれる?」
雄一は、こけそうになった。
絶対何かを隠している、と思った。
そして、雄一は
(俺はこっちの雰囲気のほうがいいな)
と思った。
終
コメント
和
面白かったです!
人に頼っていると絶対成長しませんよね。。。
続編待ってます!
湯二
和さん、いつも読んでいただきありがとうございます。
大半はエンジニアが読者だから、リアリティあるほうがいいかなと思いながらも、
ちょっとファンタジーに走りすぎましたね。
展開も行き当たりばったりでした。。。
それでも、最後までお付き合いいただきありがとうございます。
続編もほんの少し考えてます。
すっきりしない部分は、フェーズ2に回させてください・・・
たけぞ
ガッツリ冗長してるシステムじゃん! って思いながら楽しく読ませてもらいました。次の桜子武勇伝も期待しています。
湯二
たけぞさん、読んでいただきありがとうございます。
コメントもありがとうございます。
漫画みたいなキャラクターで、まずあり得ない強引な展開でした。。。
自分でも書いてて次はどうしようなかって、試行錯誤しながらやってたせいもありますね。
次はある程度予定を立ててから書いてみます。