常駐先で、ORACLEデータベースの管理やってます。ORACLE Platinum10g、データベーススペシャリスト保有してます。データベースの話をメインにしたいです

【小説 失格のエンジニア】第二十一話 彼女の往復ビンタ

»

「データベースの自動起動を実装することにより、可用性を維持します」

 自信満々の提案を、敵も用意していた。

「うう......」

 雄一の口から呻き声が漏れる。
 美穂がその様子を心配そうに見ている。
 桜子は表情を変えることも無く、新堀のプレゼンをじっと聴いている。

「次に障害復旧についてです。現行はバックアップがexpコマンドによるダンプファイルのため、昨日の状態にしか戻せません。障害直前までのデータは手入力やバッチの再実行などで対応するしかありませんでした。こういったことに時間を取られていては大きな機会損失になります」

 前回、やつらはディスクの同期と切り離しによるバックアップを提案して来た。
 今回はどう出るか......

「遠隔地のデータセンターにスナップショットによるバックアップを取得します。日々、差分を取っていくのでデータベースを停止すること無く短時間で完了します。また、アーカイブログによる障害直前までのリカバリが出来るようにします」

(くっ......)

 この分野についてもまったく一緒だった。
 桜子と検討した結果、バックアップは同期・切り離しという二段階で行う方法よりも、手数が少なく、かつ短時間で済むスナップショット方式で行うことに決めた。
 このやり方まで敵と一緒だったとは。

「次に、過去データの保持についてです。過去13カ月分を保持してほしいという要望がありました。これは今回のリプレースを機にディスクのサイジングをやり直します。過去のデータを大量に持つということはディスク容量もそうですが、検索性能にも考慮しなければなりません。そこで年月ごとに表領域を分けパーティションテーブルにデータを保持することで、過去のどんなデータでも高速にアクセス出来るようにします」

 全ては同じ提案だった。
 自分たちの考えることなど相手にとっては織り込み済みなのだ。
 プレゼンを終えた新堀は一礼した。
 顔を上げた時、笑顔の真ん中に白い歯がきらりと光っていた。
 それを見た目白部長は満足そうに「うん、うん」と頷いている。
 オペラキャピタル派の役員たちも満面の笑みを浮かべている。

「質問です」

 敵側にとっては和やかな雰囲気を、切り裂く鋭い声が聴こえて来た。
 声の主は、桜子だった。

「どうぞ」

 新堀は初めて見る相手に怪訝そうな顔をした。

「可用性のところでデータベースが落ちたら自動起動させると言っていましたが、具体的にどういった仕組みで行うつもりですか?」
「pmonプロセスが存在しないことを検知したら、データベースを起動させるコマンドを発行します」
「ではデータベースの自動起動の仕組みは常駐型でプロセス監視を行うということですね。その監視は何秒、何分周期で行うつもりでしょうか?」
「えっと......」
 
 新堀が初めてしどろもどろになった。
 それを桜子がじっと見つめている。
 まるで相手の化けの皮を剥ぐように。

「込み入った技術的な質問は遠慮してくれませんか。ここは設計書レビューの場じゃないんだ」

 そう言って、目白部長が横やりを入れて来た。

「分かりました。では、技術的なことでは無く一般的なことを訊きます。もしも自動起動の仕組みがダメになった時はどうなるのでしょうか?」
「え?」

 新堀は「意味が分からない」と言いた気な顔をし、目を白黒させている。

「言い方を変えます。自動起動の仕組み......つまりpmonプロセスを監視する常駐プログラムが何らかの原因で落ちた時はどうなるの? その間にデータベースが落ちたら、何が自動的にデータベースを起動してくれるの?」

 新堀は黙り込み考え込んだ。
 数秒後、こう答えた。

「その場合は手動で常駐プログラムを起こし、監視を再開させます。まあ、このプログラムが落ちるということは無いと思いますが......」

 何とも歯切れの悪い回答に、桜子はここぞとばかりに突っ込んだ。

「常駐プログラムが落ちないとは言い切れませんよね。そこをどう考えているのか、お聞きしたかったのですが......」
「その辺りについては、検討させてください。滅多に起きないことに時間を掛けて考慮するのは非効率だと個人的には思っていますが......」

 さっきまでの自信満々の表情はどこへやら。
 時間切れに助けられ、新堀は意気消沈のまま壇上から降りた。


---------------------------------------------------------------

 大会議室を出て廊下を真っすぐ行った突き当りにあるドリンクコーナーで、雄一はうなだれていた。
 桜子の鋭い質問に満足に答えられなかったとはいえ、竹芝システムのプレゼンは大好評のうちに終わった。
 その内容のほとんどは自分たちが汗水たらして考えて来た提案とほぼ被っていた。
 五分間の休憩を挟んだ後、自分たちの提案をプレゼンする。
 だが、それは竹芝とほぼ同じ内容で、やってもやらなくても意味が無いもののように思えた。

「はぁ......」
「ため息なんかつかないの。しっかりしなさい」

 桜子は励ますつもりなのか雄一に缶コーヒーを手渡した。
 だが、それを受け取っても容易に気持ちを切り替えることは出来なかった。

「だって、あいつら俺たちがあれだけ苦労して作った提案をあっさり用意して来たんですよ。これが悲しまないでいられますか」
「ふむ......」
「ああ、あれだけやってきたことが、無駄になるなんて」

 雄一は嘆き、弱音を吐きまくった。
 竹芝に勝つには、彼らより低コストで優れた提案をする必要があった。
 だが、彼らと全く同じ提案を同じコストでやっていたのでは勝てる訳も無かった。

「もう帰りたいですよ」

バシイ!

 雄一の右頬に熱い衝撃が走った。
 そう感じた瞬間、左の頬にも熱い衝撃が走った。

「お......おお......」

 ダウンしたボクサーが試合後のインタビューで「いいパンチを貰って足にきた」とよく言う。
 この日、雄一は初めて足にくるということを身をもって知った。
 衝撃で脳が大きく振動し、思わず膝まづいてしまった。
 その様子を桜子が見降ろしている。

「目を覚ましなさい!」

 一喝され、雄一は我に返った。

「だ、だけど、どうすれば......」
「君もあいつらのプレゼン聴いたでしょ。彼らは上辺をなぞるだけで中身が全く無い発表だった。あんなもの例え仕事が取れたとしても、自分たちでは何も作らず下請けに丸投げして終わり。そんなことで勝っても意味が無いわ。エンジニアの風上にも置けない。その反対に君は毎日夜遅くまで提案内容を実機で検証して、その細かい仕組みを自分のものにしたのよ。それこそメリットやデメリットを説明出来るまでにね。あなたが府中屋ならどっちに仕事をさせたい?」

 桜子と夜遅くまで何度も検証した。
 それこそ府中屋と同じデータベース環境を自社の開発サーバに作り、何度も試行錯誤した。
 その末に、データベースの自動起動機能は完成した。
 仕組みはこうだ。

jidou1.png

jidou2.png

jidou3.png

jidou4.png

 pmonプロセスを一分毎に監視し、存在しなければデータベースを起動させる。
 この常駐型監視プログラムこそが、雄一の自信作だった。

「ですが......」

 いつまでも自信を取り戻さない雄一に、桜子はこう言った。

「仕方ないわね。これはプレゼン終了まで秘密にしようと思ってたけど、今の君の状況を鑑みると、言っておいたほうがいいみたいね」

(なんだ? 一体......)

 雄一は何とか立ち上がると桜子の目を見て、次の言葉を待った。

「やつらは私たちの提案をパクっている」
「なっ......」

 雄一は驚愕した。
 パクっているとは一体どういうことなのか。

「有馬君は不思議に思わなかった? 何で敵と、こんなにも提案内容が被るのか?」
「い、いえ......」

 自分は初回のコンペで竹芝システムに圧倒的大差で負かされた。
 そのせいで雄一の頭には「竹芝システムは自分たちより優れているのが当然」という刷り込みが最初に出来上がっていたのだった。
 だから、そんなこと考えたことも無かった。
 そのことを話すと桜子は、

「最初のコンペで竹芝が発表した提案って、昔、私が作った資料を基に作ってるからね」
「えぇ!?」

 どういうことかと問い掛けると、桜子は缶コーヒーを一口飲むとこう答えた。

「五年前、府中屋のデータベースをACCESSからORACLEに置き換える時、色々調査して設計書の元になる資料を作ったのは私なの。その資料がいつの間にか、竹芝システムに行き渡ってたみたいね」

 初めて竹芝システムのプレゼンを聴いた時、雄一は強力なエンジニアがバックについているかと思ったが実はそれが桜子だったとは。

「竹芝って社員を府中屋に社内コンサルとして潜り込ませてるでしょ。だから私が過去に作った資料を手に入れることが出来たんでしょうね。自分たちは何もせずに他人の作ったものをパクるなんて、エンジニアとして恥ずかしくないのかね」

 RACによる可用性の維持、遠隔地バックアップなど全ては彼女が考えたものだったとは。

「でも、府中屋のことは職務経歴書に無かったですよ」
「それはね......」

 彼女のポリシーとして、携わって一カ月未満の案件や自分が構築を行っていない案件は、経歴として載せないとのことだった。

「そこまで載せるときりが無いからねぇ......」

(す......すげぇ......何て人だ......)

「まぁ、そう言うことからもやつらがパクリ集団だってことは分かってたけど。更にぶっちゃけて言うと、私たちの提案チームには敵側のスパイがいるわ」
「ぶほっ!」

 驚きの余り、雄一は飲みかけのコーヒーを吹き出してしまった。
 美穂、笠松、あの二人のどちらか、いや両方とも敵が送り込んで来たスパイだというのか?

「そ、そんな人聞きの悪い! 新山さんが......仲間を疑うんですか!?」
「どこからも漏れるはずの無い私たちの提案が、相手に漏れてると仮定するなら、自分たちの仲間の誰かが横流ししてると考えるのが普通じゃない?」
「まあ確かにそうですけど......」
「竹芝と日高情報サービスのコンペの議事録......、そして先日の竹芝と船橋電算のコンペのメモを読んで分かったわ」


---------------------------------------------------------------

 6日前の提案会議。

「すいません......。今日の竹芝と船橋電算とのコンペの議事録、持ってこれませんでした」

 美穂が申し訳なさそうにみんなに謝った。
 前回の日高情報サービスと竹芝のコンペの時のように議事録を持って来てくれると期待していた雄一は酷く落胆した。

「目白部長が退社する前にいつも私の持ち物を検査するようになったんです」
「それって......パワハラじゃないんですか......」

 美穂が言うには、府中屋で社給USBメモリの紛失があったらしい。
 そこには幸い顧客情報などは入っていなかったがこれが問題となったそうだ。
 そこでしばらくの間、社員が会社の書類や電子機器を持ち出していないか、帰り際に調査することになったのだそうだ。
 そういったことがあり、議事録を外に持ち出せなくなっていた。

「まいったなあ......敵の動きを探る唯一の情報源だったのに」

 雄一は頭を抱えた。

「でも、大丈夫です」
「え?」

 美穂は私物の可愛い花柄の手帳を拡げて見せた。
 そこには手書きで議事録の内容がびっしり記載されていた。

「丸写ししてきちゃいました。目白部長も流石に社内情報が個人の手帳に書いてあるとは思わないですからね」

 雄一はテヘペロする彼女に、ますます惚れた。

「おいおい、これじゃ機密情報持ち出しと一緒じゃないか!」

 相変わらず笠松が文句を言う。

「新山さん、字が綺麗ですね」
「それほどでも......」

 取りあえず、雄一は騒ぐ笠松を無視した。
 だが、メモの内容は、やはりというか辛い現実を突きつけていた。
 自分たちが考えた提案と、全く同じ内容の提案を竹芝が行っている。
 そのことを美穂の綺麗な字が伝えている。
 それは桜子と一緒に考えた自信作。
 もちろんプレゼンは竹芝の圧勝だった。

「安田さん......敵は俺たちの考えることなんて、織り込み済みなんだ。思った以上に強敵です」


---------------------------------------------------------------

「過去二回のコンペで竹芝は私たちの提案内容と被っていた。これは偶然とは思えない」

 桜子のエンジニアとしての経験上、提案内容がこれほど被ることは珍しいというかほとんどないのだそうだ。

「じゃ、やっぱり......」

 桜子は頷いた。

「さっきの質問、覚えてる?」

 竹芝のプレゼン終了間際、桜子が放った質問だ。
 自動起動の仕組みが停止した場合、どうなるのか?
 この質問に新堀は答えられなかった。

「あの質問に答えられなかった時点で、やはり私たちの提案はスパイによってあいつらに伝達されていた、そのことに確信を持ったの」

 提案会議の場では、データベース自動起動の仕組みが停止した場合の議論をしていなかった。
 スパイが提案会議に参加していたとして、その情報を「そのまま」竹芝に流していたなら、竹芝の提案にはこの部分が無いはずだ。
 なんせパクリ集団なのだから。

---------------------------------------------------------------
「何やってんだよ。会社の資料を勝手に持ち出しちゃダメだろ!」
---------------------------------------------------------------

 笠松の言葉が不意に思い出された。
 それは心のどこかで彼の言動が引っ掛かっていたからだろう。
 桜子の推理とそのことが結びついたのだ。
 彼はいつも自分たちに有利なことが起こると眉をひそめていた。

---------------------------------------------------------------
「しかし、味方になったら我々の脅威だな」
---------------------------------------------------------------

 桜子のことを話した時、笠松はそう口走っていた。

「笠松......」
「かもね」

 目白部長から引導を渡された笠松が何故、オペラ側に付いているのか分からないが、そこには彼なりのメリットがあるからそうしているのだろう。

「私は敵を油断させるために敢えて自分たちの提案を、提案会議の場でスパイに開示してたの」
「それって......」
「敵と自分たちの提案を同じレベルにしたかったから」

 桜子は雄一の目をしっかりと見てこう付け加えた。

「竹芝を上回る提案を、隠し玉として用意しているから」


つづく

Comment(10)

コメント

匿名

刺されるし、ビンタされるし(笑)

VBA使い

次に障害復旧「に」ついてです。


このプログラムが落ちるとい「う」ことは無いと思いますが


素朴な疑問なのですが、DBがダウンして、そのまま起動するだけでまたちゃんと使えることって良くある事なんですか?
領域が一杯になったとか、内部情報が壊れたとか、何か直さないと起動してもまた落ちるんじゃないか、って思うんですけど。

(Oracleは数年前にAP側から少し触っただけの、ほとんど素人なのですみません)

atlan

刺されてスライムにならなくて良かったじゃないですか↑

匿名

流石、我らが桜子さん!

そういうきっかけでスパイがいることに気付いていたんですね!

どうやってスパイに気づくのかと、ワクワクして読んでたのでスッキリしました


そして当然のごとく用意してあった秘密兵器がどんなものか

次回も楽しみにしております

湯二

2018/11/13 09:41の匿名さん、コメントありがとうございます。

立派なパワハラだし、訴えてもいいレベルですね。
小説だからいいけど。
主人公がこういう関係を望んでいたのでよしとしやしょう。

湯二

VBA使いさん。
いつもの校正、コメントありがとうございます。
修正させていただきました。


>素朴な疑問なのですが、DBがダウンして、そのまま起動するだけでまたちゃんと使えることって良くある事なんですか?


落ち方によりますね。


>領域が一杯になったとか、内部情報が壊れたとか、何か直さないと起動してもまた落ちるんじゃないか、って思うんですけど。

上記のような物理的な問題が起きたことが原因でダウンしたら、この話の自動起動させるプログラムだと上がって来ません。
pmon落ちてる→sqlplus / as sysdba→startupみたいなのじゃ無理です。
ご指摘の通り、原因を取り除いてから手動で再起動です。
そこはRACでもシングルでも同じです。
このプログラム自体がソフトウエア的な監視を専門としていて、人為的なミスでデータベースを落としたとか、共有プールが一杯で落ちたとか、ORACLEのバグで落ちたとかそういうに対応しています。
小説に出てくるデータベースはここ数年ダウンはしたこと無いという実績があり、あくまで可用性を担保するうえでの保険の保険みたいな仕組みです。
という、今書いた前提が書かれていない。。。
来週補完します。

湯二

atlanさん。

コメントありがとうございます。


>刺されてスライム

そうなったら次回からは異世界に転生してスライムになるような話になると思います。

湯二

2018/11/13 16:46の匿名さん。

コメントありがとうございます。


>どうやってスパイに気づくのかと、ワクワクして読んでたのでスッキリしました
伏線が分かってもらえてホット一安心です。
ていうか、分かり易過ぎたかな。。。


>そして当然のごとく用意してあった秘密兵器がどんなものか
>次回も楽しみにしております

来週もエンジニア以外の人が付いて行けないくらいの技術に走ったような、偏った話にしたいと思います。
お楽しみに!

VBA使い

回答ありがとうございます。


なるほど。
AP側としては、ユーザーのミスでDBを落とすようなAPは作ってはいけないと思うものですが、DB側としては、ミス&APバグの可能性も考えて対策をとる訳ですね。

湯二

VBA使いさん。

APのミスだけでなく、ORACLEそのもののバグでも落ちることがあるので、そういう事も考えてます。
来週か再来週のお話の中で、おさらいみたいな感じで、サラッと説明が出て来ます。

コメントを投稿する