目次
第1章 データベース運用の仕事を理解しよう
1-1 システムにおけるデータベース運用の位置付け
- コラム ユーザーとは?
- コラム アプリケーションとは?
- データベースとは
- コラム データベースマネジメントシステム(DBMS)とは?
- 運用とは
- なぜデータベース運用の担当者が必要なのか
1-2 データベース運用の担当者の仕事
- データベース運用の担当者のある1日
- コラム しきい値とは?
- コラム ベースラインとは?
- データベース運用のおもなタスク領域
1-3 サービスの品質を保証する(サービスレベル管理)
- キャパシティ要件の定義
- コラム バッチ処理とは?
- コラム キャパシティとは?
- 可用性要件の定義
- コラム 片系とは?
- IT継続性要件の定義
- コラム HA構成,RAC構成,DRサイトとは?
1-4 ユーザーが納得できるサービスを提供する(キャパシティ管理)
- 監視ポリシーの定義
- ハードウェアリソースの監視
- データベースリソースの監視
- コラム ログローテーションとは?
- コラム メモリヒット率とは?
- パフォーマンス監視
- コラム 待機イベントとは?
- コラム 命名規則とは?
- パフォーマンス分析・評価
- 拡張性設計
- コラム スケールアップとスケールアウト
1-5 システムを正常に動作させる(定期メンテナンス)
- メンテナンス方針の定義
- パフォーマンス管理
- コラム キーマンに連絡が取れないとき
- 領域管理
- 構成管理
- オプティマイザ統計情報管理
- コラム DBAチームは立場が弱い?
1-6 システムを停止させない(可用性管理)
- OSの状態/障害の監視
- Oracleの状態/障害の監視
- コラム セッションとは?
- コラム OLTP(OnLine Transaction Processing)とは?
1-7 システムをすぐに復旧できるようにする(IT継続性管理)
- バックアップ設計
- コラム データセンターでも整理整頓
- リカバリ設計
- コラム Oracle GoldenGateについて
1-8 データベースへの不正なアクセスを防ぐ(セキュリティ管理)
- セキュリティ要件の定義
- アカウント管理
- セキュリティ監視
1-9 運用ポリシーを定義する(運用管理)
- 保守,メンテナンス要件の管理
- コラム おまじないから一歩先へ
- 障害管理
- コラム インシデントとは?
- 障害対応の管理
- バージョンアップ設計
- コラム パッチとは?
【本章の内容をもっと深く勉強したい方へ】
Oracle University研修コース
第2章 データベース管理アーキテクチャを理解しよう
2-1 データベース管理アーキテクチャの全体像
2-2 OracleEnterpriseManagerからデータベースを見てみよう
- データベース管理を支えるツールとは?
- Oracle Enterprise Managerってなに?
- Enterprise Manager操作シナリオその1―表領域使用状況の確認
- Enterprise Manager操作シナリオその2―データベースのパフォーマンスの監視およびチューニング
- Enterprise Manager操作シナリオその3―高負荷SQLの特定
2-3 データ構造を理解し,データにアクセスしてみよう
- リレーショナルデータ構造を理解しよう
- コラム スキーマオブジェクトのDDLを確認するには?
- コラム SYSスキーマとSYSTEMスキーマとサンプルスキーマ
- データアクセスしてみよう
- コラム SQL規格
2-4 トランザクションの管理を理解しよう
- トランザクションってなに?
- コラム ACID特性とは?
- 同時実行性と読み取り一貫性の立役者たち
- コラム トランザクション分離レベルとは?
- コラム システム変更番号(SCN)は枯渇しないのか?
2-5 Oracleデータベース記憶域構造を理解しよう
- 物理記憶域構造
- コラム REDOログファイル関連の名称
- 論理記憶域構造
- コラム 行を一意に識別するROWID
- コラム 最高水位標とはなにか?
2-6 データベースインスタンスを理解しよう
- データベースインスタンス
- コラム SGAの割り当て単位はグラニュル
- Oracleネットワークのアーキテクチャ
- まとめ
- コラム Oracleの考え方「Simplifying IT(ITをかんたんに)」
【本章の内容をもっと深く勉強したい方へ】
ORACLE MASTER
第3章 データベース運用の基本を学ぼう
3-1 外敵からデータベースを守る
- 不正な行為による影響を知ろう
- 不正アクセスを阻止するための3つの門
- コラム Oracle Databaseにもセキュリティホールは存在する?
- 暗号化でデータベースの内容をわからなくしよう
- 不正利用を検知しよう
- 内部の不正を防止しよう
- コラム あなたのシステムのセキュリティ対策は十分ですか?
3-2 いざというときのためのバックアップを用意する
- なぜバックアップをとらないといけないのか
- コラム 右クリックの恐怖
- 収集するべき3つのバックアップ
- バックアップ方法と選出に必要な3つのポイント
- コラム アーカイブREDOログファイルの重要性
- バックアップの取得方法とツール
- バックアップを運用するうえで決定するべき7つのポイント
- コラム リカバリ試験を怠ったことによる代償
3-3 データベースに溜まったゴミを掃除する
- データの断片化
- コラム 索引のREBUILD中に実行したSELECTが失敗する!?
- オプティマイザ統計情報のメンテナンス
- ログファイルやトレースファイルのメンテナンス
- コラム 自動診断リポジトリ(ADR)を利用したログのメンテナンス方法
3-4 データベースの声に耳を傾けよう
- ヘルスチェックの目的
- ヘルスチェックで確認すること
- ヘルスチェックの実行方法
- コラム AWRにはライセンスが必要
- コラム CPU使用率の枯渇は悪か?
- ヘルスチェックの分析テクニック
【本章の内容をもっと深く勉強したい方へ】
ORACLE MASTER(つづき)
第4章 不測の事態に備えよう ~トラブルとの付き合い方~
4-1 トラブルを起こさない
- 予防のしくみを作る
- トラブルの予兆をつかむ
- コラム ハングアップ(ハング)とは?
- コラム データベースリソースの使用状況を確認するには
- Enterprise Manager(EM)を使用した予防のしくみ
- 標準化・自動化
4-2 トラブルを見過ごさない
- すぐに気づくことが大切
- 適切な監視でトラブル検知
- トラブルを正しく伝える
4-3 トラブルを長引かせない(1)現状分析
- トラブル解決への3ステップ
- コラム 温度感
- 現状分析の2つの方法
- ヒアリングのポイント
- コラム 回避策と解決策
- コラム 開発系と本番系
- どんなときに,どのログを見るべきか
- ログを解析する(1)AWR(Auto Workload Repository)
- ログを解析する(2)ASH(Active Session History)
- ログを解析する(3)SQLトレース
- ログを解析する(4)アラートログ
- コラム アラートログに出力されるアラート情報
- ログを解析する(5)トレースファイル
- ログを解析する(6)リスナーログ
- コラム コネクションプーリング
4-4 トラブルを長引かせない(2)問題の切り分け
- (1)大きい視点から小さい視点へ
- (2)再現性を確認する
- (3)正常時と異常時を比較する
- (4)仮説を立てて検証する
4-5 トラブルを長引かせない(3)解決策を検討・実施する
- ORA-1555によりSQLが異常終了
- デッドロック
- データベースへの接続エラー
- 解決策の実施
4-6 こんな問題が発生したらどうする?
- CASE1:データベースが反応しない
- CASE2:特定のSQLが性能劣化
- コラム 結果件数と処理データ量
- コラム パケットとパケットロス
【本章の内容をもっと深く勉強したい方へ】
ミッション・クリティカルなシステム
第5章 最新・最速のSQLチューニングテクニック
5-1 SQLチューニングの4大項目
5-2 SQLの実行計画を理解する
- オブジェクトへのアクセス方法「アクセスパス」を理解する
- 表同士の結合アルゴリズム「結合方式」を理解する
- SQLの解析の負荷を軽減する
- バインド変数を使用してハードパースの回数を減らす
5-3 オプティマイザ統計情報を理解する
- 最適な実行計画に必要なオプティマイザ統計情報とは
- コラム 過去の実行計画を確認する
- 統計情報を確認するには
- 統計情報を自動的に取得する
- パフォーマンスの劣化が許されないデータベースの統計情報を運用する
- 非定形な更新が頻発する巨大表の統計情報を運用する
- コラム ヒント句について
- 統計情報の取得方法(プリファレンス)を考える
5-4 待機イベントを理解する
- 待機イベントとは
- おもな待機イベント
- 待機イベントを確認するには
5-5 パフォーマンス統計を理解する
- パフォーマンス統計と待機イベント
- おもなパフォーマンス統計を理解する
- パフォーマンス統計を確認するには
- SQLチューニング4大項目のまとめ
5-6 基本のSQLチューニング技
- 索引によるSQLチューニング
- 結合方式によるSQLチューニング
5-7 高度なSQLチューニングテクニック
- パラレル実行で大規模処理を高速化
- パーティションを使ってSQLを高速化する
- コラム パーティションの統計情報取得を高速化しよう
- そのほかのデータロード高速化テクニック
5-8 EMを使用したかんたんSQLチューニングテクニック
- SQLチューニングアドバイザでかんたんチューニング
- リアルタイムSQL監視を使ってSQLを可視化する
【本章の内容をもっと深く勉強したい方へ】
チューニング
第6章 確実・高速Oracleバックアップテクニック
6-1 DataPump を最大限に活用するテクニック
- たくさんのオプション
- DataPump実行時に指定する最低限のオプション
- DataPump Import時にオブジェクトの格納対象を変える
- パラレル実行によるDataPumpの高速化
- 定義情報のみをバックアップする
- エクスポート/インポート対象の取捨選択
- コラム ESTIMATE_ONLYオプション
6-2 RMANによる確実なバックアップ取得テクニック
- RMANバックアップの冗長化と世代管理
- 制御ファイルとSPFILEの自動バックアップ
- RMANバックアップ時の整合性確認とブロックリカバリ
- RMANバックアップの成功/失敗を判断する
6-3 RMANによる高速バックアップ取得テクニック
- RMANによる増分バックアップ
- ブロック変更追跡で増分バックアップを高速化
- RMANバックアップのパラレル化
- マルチセクションバックアップ
- Oracle Direct NFSによるNASストレージへのバックアップ高速化
6-4 RMAN バックアップのサンプルスクリプト
- スクリプト例1
- スクリプト例2
- スクリプト例3
- コラム RMANのRATEオプションでバックアップ時のI/O負荷を軽減
参考文献