Oracleデータベースシステムのチューニングの秘訣を、広範囲にわたってカバーする決定版。大ベストセラーとなった初版を全面的に改訂し、ページ数、内容ともさらにパワーアップし、Oracle8までをカバーします。Oracleデータベースシステムの管理、設計、開発の担当者には必須となる現実的なパフォーマンスチューニングを行うためのテクニックが満載されています。
Oracleパフォーマンスチューニング 第2版
Mark Gurry, Peter Corrigan 著、後藤 宏, 鈴木 貴巳, 永田 稔, 松本 淳一 監訳、原 陽一, 株式会社ユニテック 訳
![[cover photo]](https://www.oreilly.co.jp/books/images/picture_large4-900900-34-6.gif)
- TOPICS
- 発行年月日
- 1998年06月
- PRINT LENGTH
- 1074
- ISBN
- 4-90090-034-6
- 原書
- Oracle Performance Tuning, 2nd Edition
- FORMAT
関連ファイル
正誤表
ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。
正誤表1(第2刷時修正)
Oracleパフォーマンスチューニング 2刷用修正 viページ 2行目 <修正前>VMS <修正後>OpenVMS xiiページ 2行め(本文1行め) <修正前>VMS <修正後>OpenVMS xiiページ 見出し「ファイルのダウンロード」の次の行 <修正前> 本書(日本語翻訳版)では、www.oreilly.co.jp/opt2から本書で紹介したスクリプトや例題をダウンロードできます <修正後> 本書(日本語翻訳版)で紹介したスクリプトや例題を、www.oreilly.co.jp/opt2からダウンロードできます xiiページ <修正前> 株式会社オライリー・ジャパン 〒160-0008 東京都新宿区三栄町12番地、 清重ビル2階 TEL 03-3356-527 <修正後> 株式会社オライリー・ジャパン 〒160-0003 東京都新宿区本塩町7番地6 四谷ワイズビル TEL 03-3356-5227 XVページ 16行め <修正前> アドバイスも的を得ており <修正後> アドバイスも的を射ており 93ページ 図5-2 右側の表の下から3行め <修正前> TOYO 2000 Melbourne P200 200 <修正後> TOYO 1000 Sydney P200 200 174ページ 最後のリストの最終行 <修正前> BY DECODE(:BLK.SEQN_FLD 'E', emp_no, 'D', dept_no); <修正後> BY DECODE(:BLK.SEQN_FLD, 'E', emp_no, 'D', dept_no); 212ページ 最後のリストの上から2行め <修正前> sql> SELECT sql_text, executions, <修正後> sql> SELECT executions, 221ページ 最後のリスト 4〜6行め <修正前> If sal_val <= 2000 THEN RETURN (0); END IF; <修正後> If sal_val <= 2000 OR sal_val >= 8001 THEN RETURN (0); END IF; 333ページの監訳者注 <修正前> RAZD5 <修正後> RAID5 389ページ 見出し「DB_BLOCK_SIZE」の下4行め <修正前>4MB <修正後>4KB 399ページ 見出し <修正前> LOG_ENTRY_PREBUILD_THRESHOLD(Oracle7.3以降で登場) <修正後> _LOG_ENTRY_PREBUILD_THRESHOLD(Oracle7.3以降で登場) 491ページ 1つめのリスト 8行め <修正前> sum(decode(nvl(num_rows,9999), 9999,0,1)) "Tables Analyzed" <修正後> sum(decode(nvl(num_rows,9999), 9999,0,1)) "Tables Analyzed", ※最後にカンマをいれる。 514ページ 7〜8行め <修正前> DB_BUFFER_BLOCKS <修正後> DB_BLOCK_BUFFERS 515ページ 1つめのリスト 3行め <修正前> (TRUNC(indx / 250) +1 interval, <修正後> (TRUNC(indx / 250) +1) interval, 563ページ 1つめのリスト(# locksql.sql)と2つめのリスト(# lockproc.sql) 2行め (計2箇所) <修正前> sid <修正後> ses.sid 563ページ 2つめのりスト(# lockproc.sql) 3行め <修正前> pre.osuser <修正後> ses.osuser 569ページ 注2 <修正前> Open VMS <修正後> OpenVMS 617ページ 注10 最後に「ん。」が抜けている。 <修正後> 格納できません。 850ページ 注4 <修正前> Open VMS <修正後> OpenVMS 更新 2002年12月
目次
監訳者まえがき はじめに I部 概要 1章 Oracleパフォーマンスチューニング入門 1.1 チューニングを行う理由 1.2 チューニングを行う人々 1.3 チューニングを行う時点 1.4 Oracleのバージョン 1.5 十分なチューニングとは 2章 パフォーマンス問題の原因 2.1 設計と開発の問題 2.2 システムリソースの問題 2.3 メモリ問題とチューニング 2.4 ディスクI/O問題とチューニング 2.5 CPU 問題とチューニング 2.6 ネットワーク問題とチューニング II部 管理者とプランナーのためのチューニング 3章 チューニングプロセスの計画と管理 3.1 応答時間の問題の管理 3.2 長時間実行ジョブの管理 3.3 システムのワークロードの管理 3.4 追加機材購入の決定 3.5 管理のチェックポイント 3.6 マネージャのためのパフォーマンスのヒント 4章 システム標準の定義 4.1 共通の設計方法論の選択 4.2 ソフトウェアの選定 4.3 ハードウェアの選択 4.4 画面と帳票テンプレートの設定 4.5 モジュラプログラミング技術の使用 4.6 システムライブラリの定義 4.7 プログラムのバージョン管理の実施 4.8 ドキュメンテーション標準の確立 4.9 データベース環境の標準の確立 4.10 セキュリティの標準 4.11 パフォーマンスの標準 III部 設計者とアナリストのためのチューニング 5章 パフォーマンスのための設計 5.1 典型的な設計の問題 5.2 アーキテクチャの選択 5.3 データモデルのチューニング 5.4 索引のチューニング 5.5 パフォーマンスのためのデータモデルのテスト 5.6 データベースの非正規化 5.7 制約 5.8 トリガー 5.9 パッケージ、プロシージャ、ファンクション 5.10 大規模データベースアプリケーションの設計 IV部 プログラマのためのチューニング 6章 SQL文の標準 6.1 SQL文の標準 6.2 SQLオプティマイザ 6.3 SQL文のチューニング 6.4 SQLの常識 6.5 SQL文のパフォーマンス秘訣とヒント 6.6 パフォーマンス改善のための索引の使用 6.7 SQL文のチューニングの代替策 6.8 低速なSQL文の識別方法 6.9 時間の経過に伴うSQL文のチューニング 7章 PL/SQLのチューニング 7.1 PL/SQL とSQL 7.2 PL/SQLが提供する機能 7.3 PL/SQLの制限 7.5 PL/SQLのチューニング 7.6 PL/SQLの機能の活用 7.7 Oracle PL/SQLの機能拡張 8章 ロック戦略の選択 8.1 ロックとは何か 8.2 ロックの解放 8.3 おそろしい デッドロック の回避 8.4 Oracleの機能に関するロックの留意点 8.5 デフォルトのロック戦略の変更 8.6 内部的なロックの競合 8.7 ロック検出スクリプト V部 データベース管理者のためのチューニング 9章 新規データベースのチューニング 9.1 データベースの設計のステップ 9.2 メモリのチューニング 9.3 ディスクI/Oのチューニング 9.4 データベースの作成 9.5 表領域の作成 9.6 ロールバックセグメントの作成 9.7 表の作成 9.9 ビューの作成 9.10 ユーザの作成 9.11 INIT.ORAパラメータのまとめ 9.12 大規模なデータベースの作成 10章 診断ツールとチューニングツール 10.1 MONITOR :システムアクティビティ表の監視 10.2 SQL_TRACE :トレースファイルの書き込み 10.3 TKPROF :トレースファイルの解釈 10.4 EXPLAIN PLAN :オプティマイザの計画の説明 10.5 ORADBX :LISTINGイベント 10.6 ANALYZE : 統計の検証と計算 10.7 UTLBSTAT.sqlとUTLESTAT.sql:スナップショットの取得 10.8 その他のOracleスクリプト 10.9 独自のスクリプト 10.10 Oracle Performance Manager 11章 既存データベースのチューニングと監視 11.1 チューニングされていないアプリケーションコードの特定 11.2 メモリのチューニング 11.3 ディスクI/Oのチューニング 11.4 競合の回避 12章 パラレルサーバのチューニング 12.1 パラレルサーバについて 12.2 パラレルサーバのアーキテクチャ 12.3 パラレルサーバのロック 12.4 パラレルサーバの設計 12.5 パラレルサーバのデータベース 12.6 インスタンスのチューニング 12.7 INIT.ORAパラメータ 12.8 継続的なチューニング 13章 パラレルクエリーのチューニング 13.1 パラレルクエリー入門 13.2 パラレルクエリーオプションの設計上の考慮点 13.3 パラレルクエリーオプションのためのデータベースの構築 13.4 INIT.ORAパラメータ 13.5 パラレルサーバの継続的チューニング 13.6 索引をパラレルに作成する 13.7 パラレルクエリーオプションを使ったデータロードの高速化 13.8 パラレルリカバリの実行 14章 バックアップとリカバリのチューニング 14.1 データベース管理者の責任 14.2 データベースのバックアップ 14.3 データベースのリカバリの準備 14.4 データベースのリカバリ VI部 システム管理者のためのチューニング 15章 長時間実行ジョブのチューニング 15.1 表と索引のサイズの最適化 15.2 配列 処理の利用 15.3 INIT.ORAパラメータの最適化 15.4 ディスクのチューニング 15.5 ジョブの並列実行 15.6 長時間実行ジョブのためのDBAのチューニング 15.7 夜間の抽出表の作成 15.8 索引の操作 15.9 PL/SQLを使用した更新の高速化 15.10 インライン関数 15.11 更新 数の最小化 15.12 EXPORT/ IMPORTユーティリティのチューニング 16章 クライアント/サーバ環境におけるチューニング 16.1 クライアント/サーバとは 16.2 ネットワークトポロジー 16.3 ネットワークハードウェアの設置場所 16.4 クライアント/サーバのパフォーマンスの問題 16.5 クライアント/サーバでのプリコンパイラのチューニング 16.6 ネットワーク自体のチューニング 16.7 SQL*Netのチューニング 16.8 クライアント/サーバの実務への適用 17章 キャパシティプランニング 17.1 キャパシティプランニングとは 17.2 テスト項目 17.3 キャパシティプランニングのチェックリスト 18章 システム固有のチューニング 18.1 UNIX固有のチューニング 18.2 VMS (Open VMS)固有のチューニング VII部 付録 付録A 新機能の概要 A.1 Oracle7.0の新機能 A.2 Oracle7.1の新機能 A.3 Oracle7.2の新機能 A.4 Oracle7.3の新機能 A.5 Oracle8.0の新機能 付録B チューニングの秘訣 B.1 プランナーとマネージャからの質問 B.2 アナリストと設計者からの質問 B.3 プログラマからの質問 B.4 データベース管理者からの質問 B.5 システム管理者からの質問 付録C Oracle Financialsのチューニング C.1 Oracle Financialsのチューニングの基礎 C.2 Oracle Financialsのインストール C.3 データベースレベルのチューニング C.4 Oracle Financialsのアップグレード C.5 同時実行の要求処理 C.6 アーカイブとパージ C.7 GLオプティマイザ C.8 開発用ユーティリティ C.9 Financials開発者用リソース 付録D Oracle Performance Pack D.1 Oracle Performance Manager D.2 Oracle Lock Manager D.3 Oracle Topsessions D.4 Oracle Tablespace Manager D.5 Oracle Expert と Oracle Trace 付録E Oracle Forms 4.0とOracle Forms 5.0のチューニング E.1 GUI に関するヒント E.2 一般的なヒント 付録F チューニング事例研究 F.1 事例研究データベース 1 F.2 事例研究データベース 2 付録G 動的パフォーマンス表 索引