【小説 データベース道は一日にしてならずだよ!】 痛い目見ろ!編 その3
「もう一度フラッシュしてみます!」
雄一はもう一度コンソールに向かった。
「そうだな、とりあえずやってみろ」
福島は雄一の考えに任せているようだ。
「ALTER SYSTEM FLUSH SHARED_POOL;」と入力し、リターンキーを押す。
三秒後「システムが変更されました」と表示された。
「恐らく、五分後にまた接続できなくなります。だから今から四分後くらいにフラッシュコマンドを叩けばいいと思います!」
雄一は福島に向き直って、自信ありげに言った。
「なるほど、じゃ、俺がフラッシュコマンドを叩くから、有馬は早くシェルを作れ!」
「はい! フラッシュシェルが四分間隔で動作するようcronに設定します」
雄一は五分でフラッシュの効果がなくなるという仮説を立てた。
だったら、フラッシュしてから五分経つ前にフラッシュするようにすればエラーを防げるという予測を立てたのである。
「たまにはやるじゃねえか! お前にしては、なかなか機転が利いてるぜ!」
中山が報告書を作りながら雄一をからかう。
「うるせえ、もっと素直に褒めろ!」
解決の見通しが立ち、中山への返しにも余裕がある。
雄一がシェルを作っている間、福島が四分ごとにコンソールからコマンドを入力しフラッシュを行う。
三回目のフラッシュの時、異変が起きた。
「ダメだな、もう接続できなくなった」
小倉がコールセンター室から青ざめた表情で戻って来る。
「え!? まだフラッシュしてから三分しか経ってないですよ」
シェルを作る雄一の手が止まる。
誰もが薄々感じてはいたが、フラッシュをしてから接続不可になるまでの間隔が明らかに狭まってきている。
それを口にすることは、認めたくない事実を認めることになる。だから誰もが口をつぐんでいたのだ。
皆、一時的なことだと自分に言い聞かせて。
だが、いよいよ見逃せないレベルの間隔になってきた。
接続できなくなるまでの時間が短くなるに従って、フラッシュコマンドを叩く頻度が増していく。
一分毎、三十秒ごと......
その内、フラッシュの効果が無くなることは誰もが予測できた。
福島が「ALTER SYSTEM FLUSH SHARED_POOL;」と入力し、リターンキーを押す。
そのすぐあとに、tailに-fオプションを付けた状態で垂れ流し表示しているアラートlogにORA-4031が表示される。
「フラッシュが効かない......」
雄一の汗腺が一斉に開き、全身の毛穴からドッと冷や汗が出る。
「とりあえず、何でフラッシュが効かないかサポートに訊いてみろ!」
福島にそう言われて雄一はサポートに電話を掛けた。
「さっきの共有プールのフラッシュについて追加質問です。フラッシュが効かなくなって......それは何でなのか? どうすれば効くようになりますか?」
「フラッシュで共有プールの断片化を解消しようとするのですが、断片化が進みすぎるとフラッシュしても必要な共有プールの空きを確保できずORA-4031が発生してしまいます」
サポートの担当者は冷静に淡々と答えた。
「で、どうすればいいのでしょうか?」
雄一の声が震えている。頼みの綱はサポートだけだ。
(お願いします。何とかしてください。)心の中でそう祈る。
「お客様のデータベースの場合、フラッシュが効かないとのことですので、共有プールの断片化が進みすぎているのだと思います。この状態ですと、データベースの再起動でメモリをクリアするのが効果的だと思います。合わせてメモリサイズの再検討をお奨めします」
「ぐっ......」
雄一はうなだれ、だらりとスマホを持つ手を下げた。
「おい、どうなってるんだ!?システムはいつになったらまともに使えるんだ!?」
小倉が、福島と中山を問い詰める。
「有馬、もう方法は無いか? データベースの再起動しかないか?」
「......はい」
それを聞いた小倉は、福島と中山を通さずに雄一に詰め寄った。
「なに!? 今動いてる処理はどうなるんだ、君はデータベースエンジニアなんだろ!? 君が作ったデータベースなんだろ! 責任を持って何とかする方法をもっと探してみたらどうなんだ!」
業務サービスがまともに動かなくなってか二十分近く。小倉の剣幕からは切羽詰まった様子が伺える。
「このデータベースは、僕が作ったデータベースじゃないんです......だから、出来ないことだってありますよ!」
我を失いつつある雄一は、つい売り言葉に買い言葉のような感じで小倉に言い返してしまった。
「はあ!? 福島さん、君のとこの社員はIT技術者じゃなくて、言い訳技術者なのか!?」
小倉の顔が真っ赤になった。こめかみに立った青筋がピクついている。
「有馬、もうちょっと考えて物を言え! お前は今、技術者として一番言っちゃいけないことを言ったんだぞ!」
いつもは冷静な福島が雄一を怒鳴りつけた。
福島に怒鳴られたことで、雄一の苛立ちは頂点に達した。
その苛立ちは、出来ない自分に対するもどかしさと、出来ないことを無理やり押し付けて自分を追い詰めてくる周囲に対しての怒りがない交ぜになったものだった。
「引き継ぎも無しにやれるわけないじゃないですか! 元々障害が起きるような設計をした関屋さんが悪いんですよ! 俺だって被害者みたいなもんですよ!」
雄一はキレた。
キレたというよりもキレたというアピールをすることで、自分はキレるほどパニックになっているんだからもう許してくれ、というポーズを意図的に演出していた。
雄一の浅はかなポーズを見抜いた小倉もキレた。
「君い......」
怒りに任せて、雄一の肩に手を掛けようとした。
その時、横から中山が雄一の胸倉を掴んで壁に押さえつけた。
「有馬、甘いこと言ってんじゃねえ! 引き継いだものはもうお前のものなんだよ! 何が出来ないだ! 出来ないなんて言葉は二度と吐くんじゃねえぞ! 俺はお前が残して行ったプログラムを引き継ぎもなく受け持ってるんだからな! だから、お前だって出来ないわけがないんだ!」
中山が小倉に先んじて雄一に喝を浴びせたので、小倉は雄一を怒るタイミングを失い白けたようだ。
「まあ、怒ってもしょうがないか......。内輪で青春ドラマみたいなことやってる暇があったら、早く何とかしてくださいよ」
小倉は先ほど雄一に手を挙げようとした自分を、大人げないと反省しているようだ。
「そうだな......あと三十分で業務サービスをまともな状態に復旧させて下さい。そうでないと......福島さん分かってますよね?」
少し申し訳ない気持ちがあるのか、小倉は時間的な猶予を与えて来た。
客としてはいつまでもこの状態が続くのも問題であった。
データベースの再起動は業務サービスの完全な停止を伴うので避けたいところだが、それでメモリが綺麗になり業務をまともに再開できるのなら、仕方ないとも思い出したのだろう。
だが、業務サービスを完全に停止したとあっては、それ相応のペナルティが課せられるはずだ。
最悪、セントライト化粧品との契約停止だってありうる。
「はい......」
福島が頭を下げると、小倉はコールセンター室への扉を荒々しく開けてサーバ室から出て行った。
-------------------------------------------------------------
「さっきは胸倉掴んで悪かったな。先にこっちが怒れば、お客さんも怒り辛いだろうと思って」
「いや、礼を言うのはこっちだよ。本当に助かった。ありがとう」
雄一は中山の心遣いに感動していた。
「さっきも言ったように、どんなものでも引き継いだらそれはお前のものなんだよ。前に誰がやってたなんて関係ない。今やってる人間が何をしてくれるか。周りはそれしか気にしてない。ホントにそれだけなんだよ」
中山の言葉に雄一は自分が間違っていたことに気付くと同時に、自分の気持ちを変えてくれたこの仲間を、そして客のために何とかこの障害を解決したいと思った。
「ちょっと、電話してくる」
福島がスマホで電話しながら、隣のコールセンター室に移動した。
サーバ室は雄一と中山二人だけになった。
「ちょっと思い付いたんだ」
雄一は内緒話をするかのように声を潜めた。
「なに?」
「共有プールが足りないからエラーが出るんなら、単純に増やせばいい」
「そりゃそうだ。でも、そんなコマンドあるのか?」
「さっきスマホで調べたら見つけたんだ。試してみる価値はあると思う」
雄一はこう考えた。
今の共有プールのサイズが1GByteである。
このサイズじゃ足りないからエラーが出ている。
このサイズを二倍に増やせば、しばらくは再起動しなくても乗り切れる。
恒久対策はその間に検討すればいい。
雄一はコンソールに向かうと、「ALTER SYSTEM SET SHARED_POOL_SIZE=2G;」と入力し、リターンキーを押した。
「構成パラメータの適用に失敗しました。
ORA-02097:指定した値が無効なので、パラメータを変更できません。
ORA-04033:プールを大きくするにはメモリーが足りません。」
だが、無情にも失敗を伝えるメッセージが出力されただけだった。
「だめか......」
こんな思い付きの方法がうまくいくとは思っていなかったが、それでもショックは大きかった。
雄一は知らない間に泣いていた。
さっき、皆のために何としても障害を解決すると決心したばかりなのに、もう無理だと思う自分がいる。
そのことが悔しかったのだ。
そして、夜が明けるのを想像できないほどの絶望感で思考停止状態に陥った。
「......ならずだよ!」
「えっ?」
雄一は自分の耳をほじくってみた。
ショックのあまり幻聴が聞えるようになったのかと耳を疑う。
「......一日にしてならずだよ!」
(この声は、総務の安田さんの声だ。)
雄一は思い出した。
昨日の夕方、総務の安田桜子に年休申請を出したときの会話を。
そうか!これは自分の頭の中で鳴り響く声だ、と雄一は思った。
走馬燈ってこれか?と、雄一は思った。
つい昨日の会話が遠い昔のことのように思える。
「データベースなんて楽勝っすよ! 僕がやるからには任せといてください!」
今にして思えば、随分な大口を叩いていたと思う。
「データベース道は一日にしてならずだよ!」
桜子に言われたこの言葉が、今では実感を伴って雄一の頭の中で鳴り響く。
バシイッ!!
その時、雄一の右頬に衝撃が走った。
頬が熱い。
平手で頬を張られたと認識するのに二秒ほど掛かった。
よろけてサーバラックに背をぶつけて尻もちを付く。
振動でラックの台に載せてあったキムワイプの箱が落ちて来る。それが雄一のつま先に当たって中山のほうに転がっていく。
「痛てえ......」
頬がじんじんする。
雄一にとっては、これほど強い力で頬を叩かれたのは初めてだった。
中山が驚いた顔で雄一ではなく、その隣にいる「女」を見ている。
ぼんやりとした頭で、この女が俺を叩いたのかと、雄一は思った。
「泣いてる暇あるのか!? まずは、初期化パラメータを調べるのが先だろ!」
雄一を見下ろしている女はそう言った。
その声には聞き覚えがあった。
「データベース道は一日にしてならずだよ!」
あの声と同じだ。
雄一は自分を見下ろしている女をしっかりと見た。
切れ長の目に、真っすぐな鼻梁、そして小さな口。
髪は黒くて長く、下している。
体は細目で、黒いスーツを着ている。
「何でここに!?」
雄一が問いかけるより先に中山が問いかけた。
つづく
コメント
たけぞ
内輪で青春ドラマできるような職場環境が羨ましいですね。
湯二
たけぞさん、読んでいただきありがとうございます。
青春ドラマとまではいかないですが、いい意味で無駄話とか遊びが多い職場は、プロジェクトがうまく回っていたような気がします。
その反対で、誰もしゃべらず、隣が誰かもわからない職場は、スケジュールが後のほうになって問題が沢山出て来たような気がします。
要は、日ごろのコミュニケーションが大事なのでしょう。
和
>「お前は今、技術者として一番言っちゃいけないことを言ったんだぞ!」
僕も同じこと最近言ってしまいました(汗
精進しなければ。
湯二
和さん、いつも読んでいただきありがとうございます。
私も、経験したことないからできないとか言って、上司から怒られたことありますね……
お話だから、キャラが言ってることは誇張してるけど、後ろ向きなこと言うと、やっぱ周囲はがっかりしますね。