Oracle DBA Mentorを読んで [書評]

コロナのワクチンは広まるものの都内の感染は収まる気配はなく、そんな中でオリンピック開幕を迎えた。プロジェクトの合間ということで少し長めの休みを頂いたので、ようやくため込んでいた本に手を伸ばす時間ができた。本日はブライアン・ピースランド(Brian Peasland)氏のOracle DBA Mentor(2019年に出版)という本について紹介したい。

著者はOracleデータベースで20年以上のキャリアを持ち、My Oracle Support Community(MOSC)やOracle developer communityで活躍されている方である。私自身、MOSCでたびたび彼の有益なコメントを見かけることがあり、どんな方なのか興味を持ち、彼のBlogからこの本の存在を知るに至った。

本書の構成は以下の通り。1、2章でDBAの役割と他人とのかかわり方といったソフトスキルについて述べている。3~8章は自分用の検証環境のセットアップについて、9~12章はデータベースの使い方について、様々なツールを使ってテスト環境に接続し、テストしたりログを確認する方法について述べている。13~16章がこの本の核で、未知の問題に対する答えの見つけ方について、マニュアル、ディクショナリ、MOS、ソーシャルメディア(コミュニティ)の利用について述べている。17~19章はパッチ適用やアップグレード、キャパプラなど先にセットアップした環境のメンテナンス方法について、20、21章は、Oracleのアーキテクチャとオプションについての概要が述べられている。

一見、Oracleの検証環境の構築方法が画面のスナップショットとともに丁寧に解説されているため、よくある初心者向けの手引きと勘違いしてしまうかもしれない。確かに、Oracle VM上にOracle LinuxからOracle Databaseを構築する手順が一通り乗っているので、これだけで手元のシングルインスタンスのテスト環境を作ることができる。若干バージョンは古い(12.2)ものの、読み替えれば十分最新のバージョンでも使える内容だろう。しかし、本書は純粋なOracleの技術のhow to本ではない。この本がユニークなのは、より根底にあるDBAという職業(Profession)についての考え方、心構えと、DBAとして自ら成長していくための方法、アドバイスを、自らの経験からつづった点である。

本書では、ITの世界でDBAは尊敬されるべき職業(well-respected profession)であり、そして同時にDBAたるもの、その位置づけを保つだけの行動を求められると説いている。AP開発からDBAになる、インフラ管理者からDBAになる、いろいろなパスはあれど、DBAを職業とするなら、業務から要求される様々な(時には理不尽な)要求に対して、単にNGを突きつける失礼な(rude)DBAになってはならない、DBAたるものは真の実現したい要件を関係者から聞き出し、現実解を導くような存在でなければならないと述べている。また、その過程で必要となる様々な人とのコミュニケーションにおいては、説明する相手に対して理解し易い言葉選び(例えばバッファキャッシュについて述べるにしても、説明する相手によっては単にキャッシュと言ったり、データベースメモリと言ったりといった配慮)をすることの重要性を述べている。このようなDBAの職業についての考えには、私自身の現場での経験に照らしてみても深く共感するところがあるし、もっと早くこの本に出合えていればと率直に感じた。

本書の主要なテーマの1つである、未知の問題にどう対処していくか、の記述は興味深かった。よくあるhow toはユースケースに応じたやり方は書いてあるが、そのような本では未知の問題には対処できない。まず、Oracleでこれってできる?といった無邪気な問いは、人に聞く前に自ら実機での動作確認を行い、検証することの重要性を述べている。失敗を通して学ぶことは多いこと、成功の条件を明確に定義することの重要性など、言われれば当たり前のことではあるが、Oracleコミュニティでの苦い経験を通しこのように行動することを重要性を改めて述べているのだろう。

本書の核となる部分のはじめに記載されているのは、マニュアルを読むことの重要性である。RTFM(Read The Fine Manual)という言葉は初めて聞いたが、おそらくコミュニティにおいてマニュアルに記載されていることを問い合わせる質問が投稿されたときの返答に使う略語なのだろう。有識者に聞くなら、自分で調べてから聞くべきで、有識者にマニュアルのここに記載されていることを調べさせるというのは礼を欠いている、というのである。RTFM的な質問をするなら、ドキュメントを確認した上で、それでも困難であることを質問すべきであろうと。Oracleのマニュアルは確かにボリュームが多く、これを全て読むことは不可能だが、著者が説いているのは、どこに何が書いてあるかを理解することはOracle DBAとしての必須スキルということである。本書にはインストール、管理、2日ガイド、概念ガイド、管理者ガイド、パフォーマンスガイド、エラーメッセージ、バックアップ・リカバリ、SQL言語リファレンスなど、マニュアルの主要なカテゴリについての説明は全体像を理解するのに役に立つだろう。

MOSの使い方の次に述べられているのが、ソーシャルメディアの活用である。ここでまず述べられているのは、ブログを書くことのススメである。著者は、難しい問題を解決したとき、新しいことを学んだとき(tips)、心に浮かんだことで誰かに共有したいこと、といったことをDBAとしてブログに綴っているそうだ。これにより自分自身の理解を深めるだけでなく、解決策が他の人の助けになれば、さらに未来の自分自身の助けにもなると言っている。本書にはOracleについて素晴らしいブログのリストが記載されいるが、Jonathan Lewis氏やTim Hall氏など私も過去googleで検索してよく見るブログばかりである。ブログの他にも、ツイッターやAsk TOM、Oracleのディスカッションフォーラム、カンファレンスやユーザグループなど、有益な情報ソースや活用方法について記載されており、とてもすべて活用できる気はしないが、何かあったときに参考になるだろう。Oracleを取り巻く技術者の層の厚さを改めて感じる。

DBAという職業についてより理解を深め、プロフェッショナルとしてさらに成長したいと考えている方には、一読をお勧めしたい本である。


Oracle DBA Mentor: Succeeding as an Oracle Database Administrator

Oracle DBA Mentor: Succeeding as an Oracle Database Administrator

  • 作者: Peasland, Brian
  • 出版社/メーカー: Apress
  • 発売日: 2019/03/30
  • メディア: ペーパーバック



以上