常駐先で、ORACLEデータベースの管理やってます。Platinum10g、データベーススペシャリスト保有してます。2017/06/26新幹線をやり過ごした真里菜は、駅を出た。外は激しい風と雷雨で、道行く人々がお猪口になった傘と悪戦苦闘している。「XXX町のデータセンターまで」と、運転手に告げた。竹中を助けるために、真里菜はデータセンターに向かった。仕事納めは済んだが、契約自体は今月末までである。気持ちとしては、仕事として助けに行く半分、真面目な竹中を気に入っているので、情で助けに行く半分。途中、タクシーの中で二年前の、あの日のことを思い出していた。あの日も風と雷雨の夜だった。(慶太......あの時のことを、覚えてないなんて悲しいよ)---------------------------------------------------------------二年前、とあるプロジェクトの端末室にて。ったと思ったらその直後に激しい落雷の音がする。「だめだ......起動しない。真里菜は涙声で、ぼやいた。本番データベースサーバのコンソールを前にして俯いていた。一時間前、それを聞いた現場責任者であるプロパー社員は、困惑した表情になった。その日、夜七時から、真里菜は本番環境のORACLEデータベースにバグ対応用の個別パッチをあてる作業を行っていた。二台RAC構成のORACLEデータベースは、LinuxをOSとしたサーバに構築されていた。二台のRACデータベースにパッチをあてた後、ノード1のクラスタウエアを起動した。ノード2のクラスタウエアの起動を行ったときに、それは起きた。「はい......何度やってもダメです。今晩中に何とかしろよ。サポートにでも何でも問い合わせてさ」データベースのことを知らないプロジェクトマネージャーであるプロパー社員は、お手上げといった様子だった。急かすことだけが自分の仕事かのように、一緒に調査しようともせず、真里菜一人に任せきりだった。データベースエンジニアはプロジェクトに一人だけと言うことが多い。それだけに、それに関わる全ての疑問や問題は真里菜一人に覆いかぶさって来るのだった。途方に暮れた真里菜は、サポートセンターに調査を依頼するため、クラスタ系のログを採取していた。「頂いたログからでは、今すぐ回答できません。今晩中には回答できないかもしれません」とのことだった。その回答にひどく落胆した真里菜は、涙目でプロパー氏にそのことを伝えた。真里菜が作成したパッチをあてる手順書にまで、さかのぼって疑いを掛けて来た。それを今更......)真里菜は心の中でプロパー氏のことを毒づいた。プロパー氏は、データベースサーバの横に椅子を二つ持ってくると、真里菜に座れとばかりに、その椅子を顎で指示した。即席の手順読み合わせが行われた。プロパー氏は一つ一つの手順に、どうしてこうしたのかを事細かに訊ねて来た。先日のレビューではそこまで突込みが無かったが、今は、真里菜の粗を探すためプロパー氏は容赦無かった。「ちゃんと、開発環境でも検証したし、この手順でOKかどうかもサポートに確認しました」とりあえず、手順のせいで無いことが分かった真里菜は少しほっとしたが、問題は何も解決していなかった。「そんなことありません!」とことん疑ってくるプロパー氏に、真里菜は声を荒げた。今になって振り返ってみれば、データベースの知識がないプロパー氏としては真里菜のやったことを疑うしかなかったとも思える。当時の真里菜としては、プロパー氏が責任逃れをしようとして、彼女の粗をせっせと探しているようにしか見えなかった。真里菜は端末室を飛び出し、トイレの個室で泣いていた。諦めかけている自分に腹が立ったし、かと言って何もできない自分が情けなかった。(逃げたい......)この仕事をしていて、初めてそう思った。オンラインシステムが稼働する朝六時までに、データベースを2ノードRACとして起動させなければならない。今の自分には原因を見つけ、解決し、元通りに起動する自信が無かった。真里菜が一しきり泣いてトイレから出てくると、廊下に慶太がいた。彼は開発室で遅くまで仕事をしていたが、端末室の灯りに気付いて立ち寄ったのだった。慶太はそう言うと、真里菜と共連れで端末室に入った。部屋の隅にある机の上に、自分と真里菜とプロパー氏の分の缶コーヒーを置いた。「まずは、一息ついて一緒に考えましょうや」その言葉が、今の真里菜にはありがたかった。慶太と真里菜は、そのプロジェクトで初めて一緒に仕事することになった。慶太は業務SEとして、真里菜はデータベースエンジニアとしてそのプロジェクトに派遣されていた。慶太が心配そうに声を掛ける。真里菜は慶太の缶コーヒーで少し自分を取り戻し、元気を振り絞ってこう言った。慶太と真里菜はそれから数時間、原因調査にあたった。慶太はデータベースに詳しくはないので、真里菜が欲しいログやデータを指示を受けて採取する役を担った。真里菜はそれを追加情報としてサポートに送ったり、自分でもネットを使って調査をしたり、開発環境で再現するかどうかを、様々なパターンであれこれ試していた。慶太が終電間近の午後十二時前に、それを発見した。dfコマンドで確認すると、syslogの出力先である/varに割り当てられたディスクの使用率が100%。そこに出力されているmessageファイルが、たった一つで70GByteにもなっていた。message」コマンドで、messageファイルの下1000行だけを表示させた。そこには、ノード2からノード1へのインターコネクトを使った通信をDROPするメッセージが大量に出力されていた。ログメッセージの出力時刻を見た。個別パッチを当てた後に、ノード2のクラスタウエアを起動している最中にに出力されたものだと分かった。「ノード2のクラスタが上がらなかったのは、ノード1とのインターコネクト通信が許可されていなかったからか」iptablesの設定を確認すると、ノード1とノード2のインターコネクトとして設定したIPアドレスを、ACCEPTする設定が抜けている。インフラチームの誰かが手違いで、iptablesからインターコネクトのACCEPT設定を外したのだろうか。真里菜はそれを、プロパー氏と慶太に説明した。「ノード2のクラスタウエアが起動する時、ノード1とインターコネクトを通じて通信しようとするんです。「で、具体的にはどうすればいいんだ?」プロパー氏は原因が分かり、安堵したのか声が少し優しくなっている。慶太は説明を良くわかっていないようだが、真里菜の元気な様子を見て、笑顔でうなずいている。ノード2からの通信がノード1からブロックされたことで、インターコネクト通信をブロックしたという旨のログがmessagesファイルに大量に出力され、それがディスクを圧迫しています。ログの出力先である/var/logからmessageファイルを消して、空き領域を作ります。ノード1と2のiptablesにインターコネクトの通信許可を設定します。慶太をチェッカーにして真里菜は、作業を行った。ノード2のクラスタウエアが起動し、インスタンスもデータベースも無事起動することが出来た。---------------------------------------------------------------「大沢君、ありがとう」いつの間にか、雨はやんでいた。長い闘いから解放された二人は、職場のビルから深夜の街に出て家路を急いだ。「ディスクがいっぱいってことに気付いてくれたから、本当の原因が分かったんだ。「でも、そこが良かったんだよ。専門家になりすぎるとさ、そういうとこが抜けちゃうんだよね。無知な慶太君が来てくれて助かったよ。二人は、あはは、と笑った。その笑い声は、人がいない深夜の街に鳴り響いた。