今悩んでいる人ほど読んでおきたい - 書評 - プロとしてのOracle物理設計入門
またまた図書館で借りてきた Oracle 本です。最近実務で Oracle 周りの仕事をガリガリとやっているので、この手の書籍を手に取ることが必然的に多くなります。
さて、本書「プロとしてのOracle物理設計入門(増補改訂版)」は前回紹介した「詳解Oracle アーキテクチャ」以上に手元においておきたい一冊です。本来ならシステムの要件定義時に読んでおくべき本。物理設計入門と名乗っていますが、物理設計のみならず、Oracle のパラメータについてのチューニング情報まで現場主義をモットーとした視点が記載されています。
したがって今まさに Oracle のパフォーマンスで悩んでいる人こそ、根本的な設計に改善の余地はないのかを知るために読むべきだと思います。
ソフトバンククリエイティブ
売り上げランキング: 28708
僕が本書を読んで目からうろこな話は CHAPTER05 データベース全体設計 - 命名規則 の部分でした。今まで何となくわかりやすいようにテーブル名とかインデックス名には配慮してきたつもりですが、非常にわかりやすい解決方法が示されていました。DB更改の時期が訪れたときには考慮したいものですね。
テーブルの命名規則 | t_[任意の名称] |
インデックスの命名規則 | i_[任意の名称]_[01からはじめる2桁の連番] |
表領域の命名規則 | ts_[任意の名称]_[ユニフォームサイズ] |
データファイルの命名規則 | [表領域名]_[01からはじめる2桁の連番] |
もうひとつ耳の痛い話が CHAPTER06 ユーザー設計 - ユーザ管理のテクニック の内容。Apache::DBI とかの永続接続を考えるとついつい接続ユーザを1人に絞りがちなんですけど、DBAの立場からするとダメダメという話。いや、そんな事は書いていないけど実務に落とすとようはそんな話。
理想はこうあるとセキュリティレベルの向上が図れます。※アプリ側からの使いやすさは別の話。
- テーブルを所有するユーザと業務アプリケーションが使用するユーザを別にする
- 業務アプリケーションユーザを参照専用のユーザと更新可能ユーザに分けて作成する
- 業務アプリケーションで使用するユーザには、テーブル所有ユーザのオブジェクトに対するシノニムを作成する
- 業務アプリケーションユーザにはテーブル作成の権限を与えない
- システム権限はロールを作成してから付与する
まぁ実際の使いやすさまで考えると、OLTPユーザとバッチユーザと管理系ツールユーザの3種類くらいに分けて管理が妥当なところでしょうか。OLTPと管理系はサーバも分かれているだろうから、永続接続のユーザが問題になることもないし。
というわけで読みどころ満載です。久々に Shibuya.pm に参加して熱いモノを貰った気がしたので寝る時間を惜しんで勉強ネタ(アフィネタ?)を書いてみました。でも眠いからもう寝るけど。
プロとしてのOracle物理設計入門(増補改訂版) 目次
SECTION1 物理設計の概要と基礎知識
CHAPTER01 物理設計概要
CHAPTER02 システム形態に適した設計ポイント
CHAPTER03 ハードウエアの選定
SECTION2 徹底詳解Oracle物理設計
CHAPTER04 Oracleの機能と要件整理
CHAPTER05 データベース全体設計
CHAPTER06 ユーザー設計
CHAPTER07 テーブル設計
CHAPTER08 索引設計
CHAPTER09 表領域設計
CHAPTER10 REDOログ/制御ファイル設計
CHAPTER11 メモリ設計
CHAPTER12 パラメータ設計
SECTION3 Oracleアーキテクチャと物理設計
CHAPTER13 オブジェクト
CHAPTER14 表領域/REDOログ/メモリ
CHAPTER15 レプリケーション
CHAPTER16 RAC
SECTION4 物理設計で考慮すべきセキュリティと運用
CHAPTER17 データベースセキュリティ
CHAPTER18 データベース運用設計
コメントやシェアをお願いします!