Comments
Description
Transcript
ORACLE8iビギナーズガイド
はじめに Oracle8iとインターネットコンピューティングモデルは、まさに待望の処方箋です。 1990年代はパーソナルコンピュータの処理能力の強化に費やされてきました。最初の頃、ハー ドディスクはたったの40MBだったことを覚えていますか? 新しいマシンにソフトウェアを移 行しては、わくわくしながらディレクトリリストを眺めて、これで22MBの空きスペースができ たぞ、とほくそえんだものです。次は何だったでしょう? 8086の時代の後、4.77MHzから最大 8MHzまでクロックが切り替え可能な8088が登場しました。20世紀の終わりが近づくにつれ、新 たな時代に備えたアップグレードの必要性を痛感したものです。新しい構成に慣れた途端にまた すべてやり直す羽目になるのです。これでは財布の中身がいくらあっても足りません。 我々は今、ほとんどすべてのコンピュータ処理がデスクトップコンピュータから排除されると いう未来への途上に立っています。業界では、クライアントに表示レイヤー、中間階層にアプリ ケーションおよびビジネスロジックレイヤー、そして最上位階層にデータサーバーという3階層 クライアントサーバーがもてはやされていますが、オラクル社ほどこの方向にまっすぐ突き進ん できたベンダーはありません。本書は、現在および未来の多様なインターネットベースの処理要 件に対応するように設計されたオラクル社のソリューションと製品について説明します。 Oracle8iは、1997年6月にデビューしたOracle8サーバーから数えて4番目に当たるリリースです。 Oracle8iには、モバイルコンピューティング、ハンドヘルド型パーソナルデータアシスタント、 そしてシンクライアントインターネットコンピューティングモデル向けに設計された多数のソ xxv ORACLE8i ビギナーズガイド リューションが含まれています。オラクルテクノロジの既存のコンポーネントの多くが書き直さ れました。多くのコンポーネントはルックアンドフィールが新しくなっています。O r a c l e Enterprise Managerなど、あまりの変わりように驚くかも知れませんが、実際は以前と同じ製品 で、ルックアンドフィールが一新したのです。 ライトサイジングやダウンサイジングの試みが行き着くところは結局、インターネットコン ピューティングモデルでしょう。実際に、シンクライアントを使用する多くの企業はみなネット ワーク化を進めています。これは、12か月から18か月ごとのクライアントアップグレードにかか る多額の費用を節約する有効な解決法だからです。コンピュータオペレーションを中央に集め、 専門家に任せるという典型なのです。企業データの保護やバックアップ、アップグレードなど、 大変な作業はみんな専門家に任せてしまえばよいのです。 本書 『ORACLE8i ビギナーズガイド』 は、オラクルテクノロジの入門書です。オラクルテクノロ ジについてすでに相当の知識を持つ読者は、本書を通じてOracle8iに関する理解をさらに深める ことができるはずです。本書では、高い評価を受け、広く使用されているOracle Serverを取り上 げ、モバイルコンピューティングの分野におけるOracleの製品についても紹介します。また、デー タベース管理者向けのOracle8iテクノロジの技術的な側面についても詳しく説明します。不思議 なことに、これまでOracleに関連して各地を回って知りあったDBAの中には、全く偶然に、本人 の意思とは関係なくデータベース管理者になった人が少なくありません。そういったDBAの多く は、訳も分からず責任を背負わされて、短期間で何とか波に乗れるように無我夢中で方法を模索 してきたのです。そこで登場したのがこの『ORACLE8i ビギナーズガイド』 です。本書を読めば、 きっと次のような気持ちになれることでしょう。 「Oracle担当を任されるなんて何ていうことだ。これまでの担当者が辞めてしまって、気づいて みたらそのお鉢が回ってきてしまった。それだけでも大変なのに、いきなりこれをやれ、あれを やれと注文ばかりだ。本当に大変だったけど、ふと気づいてみるといつのまにか面白くなってき て、いろいろな仕事を達成してきている。もっともっと知識を吸収したいとという気持ちにも なってきたぞ。実際、はまってきた。うん、Oracle担当の技術者っていいもんだ!」 xxvi CONTENTS 序 文 ...................................................................................................... xix 謝 辞 ...................................................................................................... xxi はじめに ............................................................................................. xxv CHAPTER1 Oracleとは ............................................................... 1 用語解説 ................................................................................................. 2 Oracleとは ............................................................................................. 6 手始めに ....................................................................................................... 6 手始めに:ポイントの要約 ...................................................................... 10 今日のオラクル社 ..................................................................................... 11 オラクル社が現在の地位にいる理由 ...................................................... 12 Oracle8i Server .................................................................................. 15 Oracle8iServerの特徴 .............................................................................. 15 Oracle8i Serverのオプション ................................................................... 21 SQL*Plus ―― ユーザーフレンドリーインタフェース .................. 26 SQLとOracle ............................................................................................. 27 SQL*Plus:ポイントの要約 ....................................................................... 27 iii ORACLE8i ビギナーズガイド Oracle Forms ―― フロントエンド ................................................ 28 Oracle Reports ―― レポートライター ......................................... 28 マスター/ディテールレポート .............................................................. 29 マトリックスレポート ............................................................................. 29 フォームレター ......................................................................................... 30 SQL*Loader ......................................................................................... 31 自社のツールを使用したオラクル社の社内アプリケーション ....... 32 Oracle Designer ................................................................................ 32 Personal Oracle8i ............................................................................. 33 Oracle Discoverer ............................................................................. 34 Oracle8i Lite ....................................................................................... 34 サービス ............................................................................................... 34 Oracleユーザーグループ ―― イベントと出版物 .......................... 37 Oracleのデータウェアハウジング .................................................... 38 次は . . . ................................................................................................... 38 CHAPTER2 Oracle8i の「 i 」....................................................... 39 用語解説 ............................................................................................... 40 なぜインターネットコンピューティングモデルなのか .................. 43 e-business ........................................................................................... 43 本当にファットクライアントは必要なのか ..................................... 44 経済の作用 ................................................................................................. 45 ゼロ管理とは ............................................................................................. 46 変化が必須のパラダイム ......................................................................... 47 ネットワークコンピューティングアーキテクチャ .......................... 48 オプションのソフトウェアコンポーネント .......................................... 50 成功か失敗か、判断はお任せします ...................................................... 51 インターネットコンピューティング製品 ......................................... 51 Oracle8iLite ............................................................................................... 51 Oracle8iAppliance .................................................................................... 52 InternetFileSystems (iFS)....................................................................... 52 Web-to-Go ................................................................................................. 53 Portal-to-Go ............................................................................................... 53 次は . . . ................................................................................................... 54 CHAPTER3 Oracle8iとオブジェクトリレーショナル テクノロジ ............................................................... 55 用語解説 ............................................................................................... 56 オブジェクト指向データベースとは ................................................. 59 オブジェクトとは ..................................................................................... 61 iv CONTENTS クラスとは ................................................................................................. 61 カプセル化 ................................................................................................. 61 データベーストリガー ............................................................................. 62 拡張性 ......................................................................................................... 63 継 承 ............................................................................................................. 63 多様性 ......................................................................................................... 64 オブジェクト指向テクノロジのまとめ .................................................. 64 Oracle8iの概要 ................................................................................... 65 Oracle8iの主な焦点 .................................................................................. 65 Oracle8iのバックアップと回復 ............................................................... 72 Oracle8iのオブジェクトと新しいデータベースオブジェクト ...... 72 ネストされたオブジェクト ..................................................................... 73 VARRAY ....................................................................................................... 74 型の中の型 ................................................................................................. 74 メソッドと型 ............................................................................................. 75 オブジェクトビュー ................................................................................. 76 マテリアライズドビュー ......................................................................... 77 ディメンション ......................................................................................... 77 まとめ ......................................................................................................... 78 次は . . . ................................................................................................... 78 CHAPTER4 アーキテクチャ ....................................................... 79 用語解説 ............................................................................................... 80 アーキテクチャの勉強が必要 ............................................................. 82 データベースとは ................................................................................ 83 データファイル ......................................................................................... 83 ユーザーデータとシステムデータ .......................................................... 83 データベースとは:ポイントの要約 ...................................................... 84 表領域 ―― Oracleのフォルダ ......................................................... 84 表領域の名前と内容 ................................................................................. 86 表領域:ポイントの要約 .......................................................................... 87 Redoログ ―― トランザクションログ ............................................ 88 Redoログの動作方式 ................................................................................ 88 Redoログ:ポイントの要約 ..................................................................... 90 制御ファイル ........................................................................................ 91 制御ファイルの使用 ................................................................................. 91 制御ファイル:ポイントの要約 .............................................................. 92 プログラム ........................................................................................... 92 ユーザー(クライアント)プロセス ....................................................... 92 サーバープロセス ..................................................................................... 92 プログラム:ポイントの要約 .................................................................. 93 データベースの各種のバックグラウンドプロセス .......................... 93 データベースライター(DBWR)............................................................. 93 v ORACLE8i ビギナーズガイド チェックポイント (CKPT)...................................................................... 94 ログライター (LGWR)............................................................................. 94 システムモニター(SMON).................................................................... 94 プロセスモニター(PMON).................................................................... 94 アーカイバ (ARCH)................................................................................. 94 ロック(LCKn).......................................................................................... 95 リカバラ (RECO)..................................................................................... 95 ディスパッチャー(Dnnn)...................................................................... 96 ジョブキュープロセス(SNPn).............................................................. 96 キューモニタプロセス(QMNn)............................................................ 96 データベースの各種のバックグラウンドプロセス: ポイントの要約 .......................................................................................... 96 メモリ構造体 ―― 電話回線 .............................................................. 97 システムグローバル領域(SGA)............................................................. 97 プログラムグローバル領域(PGA)......................................................... 99 メモリ構造体:ポイントの要約 ............................................................ 100 Oracleのインスタンスとは ............................................................. 101 全部まとめると .................................................................................. 102 マルチスレッドサーバー(MTS)の詳細 ........................................ 103 次は . . . ................................................................................................. 105 CHAPTER5 データベースオブジェクト ................................. 107 用語解説 ............................................................................................. 108 表 ―― Oracleがユーザーデータを格納する場所 ........................ 109 ユーザー定義データ型 ........................................................................... 112 データベーストリガー ........................................................................... 113 ビュー ―― データ表示のカスタマイズ ......................................... 116 ビューを使用する理由 ........................................................................... 116 ビューの作成 ........................................................................................... 117 マテリアライズドビュー ....................................................................... 118 索引 ―― データに対するアクセスを簡単に高速化する .............. 119 索引のソート順序 ................................................................................... 121 索引による一意性の保証 ....................................................................... 121 列は1 つより 2つのほうがよい ............................................................. 121 where句とユーザー索引 ........................................................................ 121 シノニム ―― 新しい ID ................................................................... 122 プライベートシノニムとパブリックシノニム .................................... 123 権限付与 ―― アクセス権の付与 .................................................... 123 ユーザーに対する権限の付与 ................................................................ 123 権限の付与先 ........................................................................................... 125 ロール ―― ユーザーをグループ化する方法 ................................. 126 Oracle8iのその他のオブジェクト .................................................. 126 vi CONTENTS スナップショット ................................................................................... 126 ストアドオブジェクト ........................................................................... 127 データベースリンク ............................................................................... 128 シーケンス(順序).................................................................................. 128 クラスタ ................................................................................................... 128 データディクショナリ内のオブジェクト情報の表示 .................... 129 次は . . . ................................................................................................. 130 CHAPTER6 インストレーション ............................................ 131 用語解説 ............................................................................................. 132 Oracle Universal Installer ............................................................ 134 Oracle8i Enterprise Edition ......................................................... 135 Oracle WebDB ................................................................................. 145 Oracle Developer ............................................................................148 Oracle JDeveloper ........................................................................... 151 Oracle Enterprise Manager ......................................................... 155 インストール前の作業 ........................................................................... 155 OEMのインストール .............................................................................. 157 OEMConfigurationAssistant ................................................................. 160 Oracle8i Client ................................................................................ 163 次は . . . ................................................................................................. 168 CHAPTER7 SQLの基礎 ............................................................ 169 用語解説 ............................................................................................. 171 2種類のSQL文 ..................................................................................172 DDL(データ定義文).............................................................................. 172 DML(データ操作文).............................................................................. 173 SQL*Plus:使ってみよう .................................................................. 174 create文 .................................................................................................... 175 describe .................................................................................................... 177 insert ......................................................................................................... 178 select ......................................................................................................... 179 where ........................................................................................................ 181 order by .................................................................................................... 186 数値データ型 ...................................................................................... 186 数値データ型関数の使用方法 ................................................................ 187 文字データ型 ...................................................................................... 188 文字データ型関数の使用方法 ................................................................ 188 日付データ型 ...................................................................................... 189 日付データ型関数の使用方法 ................................................................ 190 vii ORACLE8i ビギナーズガイド 日付データ型で使用する特殊なフォーマット .................................... 191 日付に関する算術演算 ........................................................................... 192 型の変換 ............................................................................................. 193 update、delete、alter ................................................................... 193 update ....................................................................................................... 193 delete ........................................................................................................ 194 alter ........................................................................................................... 194 2つの表の結合 ................................................................................... 195 出力のフォーマット .......................................................................... 196 ページと行のサイズ ............................................................................... 198 ページのタイトル ................................................................................... 198 ページのフッター ................................................................................... 198 SQL*Plusの出力をファイルに格納する方法 ........................................ 199 出力内の列をフォーマットする方法 .................................................... 200 次は . . . ................................................................................................. 206 CHAPTER8 PL/SQL ................................................................. 207 用語解説 ............................................................................................. 209 PL/SQLはなぜ必要か ....................................................................... 211 PL/SQLの文字セット ....................................................................... 211 サポートされている文字 ....................................................................... 212 算術演算子 ............................................................................................... 212 関係演算子 ............................................................................................... 212 その他の記号 ........................................................................................... 212 変 数 ..................................................................................................... 213 予約語 ................................................................................................. 213 代表的なデータ型 .............................................................................. 214 varchar2 .................................................................................................... 214 number ..................................................................................................... 215 date ........................................................................................................... 215 ブール型 ................................................................................................... 216 PL/SQLのコンポーネント ................................................................ 216 ブロック構造 ........................................................................................... 217 declare部 .................................................................................................. 218 制御構造 ................................................................................................... 219 例 外 ........................................................................................................... 226 「処理なし」または「NULL」の構成体 ................................................. 229 カーソル ............................................................................................. 229 明示カーソル ........................................................................................... 230 暗黙カーソル ........................................................................................... 234 どちらのアプローチを使うか ................................................................ 235 PL/SQL表 ...........................................................................................236 viii CONTENTS PL/SQLのルックアンドフィール .................................................... 237 組込みパッケージ .............................................................................. 239 コンパイルエラー .............................................................................. 239 コーディング例 ..................................................................................240 例 1 ............................................................................................................ 241 例 2 ............................................................................................................ 241 例 3 ............................................................................................................ 242 インターネットのためのPL/SQL .................................................... 244 HTMLの基本 ............................................................................................ 244 OracleApplicationServerとPL/SQL ..................................................... 248 次は . . . ................................................................................................. 256 CHAPTER9 Oracle Developer .............................................. 257 用語解説 ............................................................................................. 258 Form Builder とは? ........................................................................ 260 アプリケーション階層とOracle Developer ................................ 260 Form Builder または Report Builder を実行する ワークステーションの準備 .............................................................. 262 Form Builder ―― クイックツアー ............................................... 263 オブジェクト・ナビゲータ .................................................................... 265 プロパティ・パレット ............................................................................ 265 レイアウト・エディタ ............................................................................ 266 PL/SQLエディタ ...................................................................................... 267 オブジェクト・ライブラリ .................................................................... 268 各種オプションの設定 ........................................................................... 268 Form Builderのファイルの操作 ............................................................. 270 マウスの右ボタン ................................................................................... 272 サンプルデータ ..................................................................................273 Form Builderでの作業 ―― 入門編 .............................................. 276 Form Builder の実践的演習 ............................................................ 284 演習 1 ........................................................................................................ 284 演習 2 ........................................................................................................ 289 Form Builder による画面のフォーマット ..................................... 293 カラー ....................................................................................................... 293 フォント ................................................................................................... 294 グラフィックス ....................................................................................... 295 Form Builder Runtime ――クライアント/サーバー ............... 296 Report Builderでの作業 ................................................................. 296 Report Builderでの問合せの処理 ―― 入門編 ........................... 296 Report Builder ―― 演習 ............................................................... 298 次は . . . ................................................................................................. 302 ix ORACLE8i ビギナーズガイド CHAPTER10 SQL*Loader......................................................... 303 用語解説 ............................................................................................. 304 SQL*Loaderとは............................................................................... 305 DOSウィンドウでのSQL*Loaderの実行 ...................................... 306 Userid ........................................................................................................ 307 Control ...................................................................................................... 308 Parallel ....................................................................................................... 308 Direct ........................................................................................................ 308 Skip ............................................................................................................ 309 Load .......................................................................................................... 309 LogとBad ................................................................................................. 309 Discard ...................................................................................................... 309 例1 ............................................................................................................ 309 例2 ............................................................................................................ 310 例3 ............................................................................................................ 310 SQL*Loader制御ファイル ............................................................... 311 パート1:Load data ............................................................................... 312 パート2:Infile ........................................................................................ 312 パート3:Into Table ............................................................................... 312 パート 4:列指定とフィールド指定 ...................................................... 313 SQL*Loaderの出力 ........................................................................... 314 ログファイル ── 完全ロード ............................................................. 314 ログファイル ── 不完全ロード ......................................................... 316 不良ファイル ........................................................................................... 317 廃棄ファイル ........................................................................................... 318 OEMからSQL*Loaderを使用するには .......................................... 318 次は . . . ................................................................................................. 323 CHAPTER11 アプリケーションチューニングの基礎 ............. 325 なぜ Oracle システムをチューニングするのか? .......................... 327 用語解説 ............................................................................................. 327 チューニングプロセスの主要要素 ................................................... 330 メモリ ....................................................................................................... 330 問合せ処理におけるデータの流れ ........................................................ 332 ディスクアクセス ................................................................................... 334 共有プール内SQL文の再利用 .......................................................... 336 SQL文の処理手順 .................................................................................... 337 プール内SQL文を再利用するSQL文の記述方法 ................................ 339 パラレル処理 ...................................................................................... 348 パラレル化の程度を決める ................................................................... 349 待ち状態を減らすには ...................................................................... 350 x CONTENTS 作業を小まめにコミットする ................................................................ 350 ロック設定はOracleに任せる ............................................................... 351 使用しないアプリケーションウィンドウを閉じる ............................ 351 マルチタスクは慎重に使用する ............................................................ 351 次は . . . ................................................................................................. 352 CHAPTER12 上級SQL ................................................................ 353 用語解説 ............................................................................................. 354 結果をグループ化する関数 .............................................................. 355 group by句を使用する方法 ................................................................... 355 having句の使用法 ................................................................................... 356 問合せ内の問合せ .............................................................................. 357 他のプログラムのデータファイルの作成 ....................................... 358 SQLを作成するSQL .......................................................................... 360 decode文 ...........................................................................................361 SQL*Plus内の変数の定義 ................................................................. 362 SQL*Plus内の置換変数..................................................................... 363 SQL*Plusの新機能 ............................................................................366 ヘッダコマンドとフッタコマンド ........................................................ 367 SQL*Plus環境の格納 ............................................................................... 367 setautotrace ............................................................................................ 367 serveroutput ............................................................................................. 367 Oracle8iに固有の拡張 ............................................................................ 368 repheader ―― タイトルのすべて ................................................ 368 column ―― 列のすべて ................................................................. 370 数値データのフォーマット ................................................................... 370 文字データのフォーマット ................................................................... 371 new_value ......................................................................................... 373 SQL*Plus 集合理論 ............................................................................374 union ......................................................................................................... 375 union all .................................................................................................... 375 intersect .................................................................................................... 376 minus ........................................................................................................ 376 構造化されたコードに関するテクニック ....................................... 377 コマンド行の編集 .............................................................................. 378 本物のエディタが必要! ....................................................................... 380 SQL*PlusのNULL ............................................................................. 381 比較演算でのNULLの問題 ..................................................................... 381 NULL比較にNVLを使用するには ......................................................... 382 NULL=NULL比較の変則型 ...................................................................... 383 次は . . . ................................................................................................. 384 xi ORACLE8i ビギナーズガイド CHAPTER13 上級アプリケーションチューニング ................. 385 用語解説 ............................................................................................. 387 最適化 ................................................................................................. 388 コストベースのアプローチ ................................................................... 388 SQL*Plusで統計を収集するには ............................................................ 390 PL/SQLプロシージャを使用して統計を収集するには ........................ 391 CBOの使用方法の制御 ........................................................................... 394 統計収集の方法 ....................................................................................... 395 ルールベースのアプローチ ................................................................... 397 なぜCBOはルールベース最適化に優先するのか ............................... 400 SQL文の処理 ...................................................................................... 401 解析フェーズ ........................................................................................... 401 実行フェーズ ........................................................................................... 404 取り出しフェーズ ................................................................................... 404 変数の命名 ......................................................................................... 405 どれに索引をつけるか? .................................................................. 406 主キー制約 ......................................................................................... 406 アプリケーションチューニングのツール ....................................... 407 共有プールの内容 ................................................................................... 408 explain plan .............................................................................................. 409 setautotraceの使用 ................................................................................ 412 SQLトレースとtkprof ............................................................................. 414 自分のトレースファイルを見つける .................................................... 417 次は . . . ................................................................................................. 418 CHAPTER14 DBAの基礎 ........................................................... 419 データベース管理者になる .............................................................. 420 用語解説 ............................................................................................. 421 Oracle Enterprise Manager ―― クイックツアー .................... 423 OEMコンソール ...................................................................................... 423 DBAManagementPackツール .............................................................. 425 Oracle Enterprise Managerの起動 ........................................................ 427 OEM 2.0を使用した管理 .................................................................. 429 データベースの起動 ............................................................................... 429 データベースの停止 ............................................................................... 431 シャットダウンオプション:データベースを停止できない場合 ...... 433 ユーザーの作成 ....................................................................................... 435 ユーザーの削除 ....................................................................................... 438 表領域の作成 ........................................................................................... 440 既存の表領域に領域を追加するには .................................................... 442 Server Manager .............................................................................. 444 xii CONTENTS 起 動 ........................................................................................................... 445 connectinternal ...................................................................................... 445 スタートアップ ....................................................................................... 446 シャットダウン ....................................................................................... 448 終 了 ........................................................................................................... 448 ユーザーの作成 ....................................................................................... 448 ユーザーの削除 ....................................................................................... 449 表領域の作成 ........................................................................................... 449 既存の表領域への領域の追加 ................................................................ 450 次は . . . ................................................................................................. 450 CHAPTER15 エクスポート/インポート ................................. 453 用語解説 ............................................................................................. 455 エクスポートとインポートの機能 ................................................... 456 エクスポートとインポートの類似点 ............................................... 457 エクスポートとインポートの相違点 ............................................... 457 操作方法 ............................................................................................. 457 対話方式のエクスポート ―― パラメータなしの起動 ...................... 458 対話方式のインポート ―― パラメータなしの起動 .......................... 459 プロンプトへの応答が後続のプロンプトに及ぼす影響 ..................... 461 プロンプトへの応答が成功または失敗に及ぼす影響 ......................... 462 パラメータドリブンのエクスポート .................................................... 463 パラメータドリブンのインポート ........................................................ 465 parfile予約語パラメータ ........................................................................ 468 対話方式とパラメータドリブン方式の併用 ........................................ 469 エクスポートとインポートの各モード ........................................... 470 表モードエクスポート ........................................................................... 470 ユーザーモードエクスポート ................................................................ 470 全データベースエクスポート ................................................................ 471 表モードインポート ............................................................................... 471 ユーザーモードインポート ................................................................... 472 全データベースインポート ................................................................... 472 モード切替 ............................................................................................... 473 それぞれのモードはいつ使用するか .................................................... 473 パーティション化された表にエクスポートとインポートを 使用するには ...................................................................................... 474 エクスポートとインポートを実行するための要件 ........................ 475 エラーとその解決法 .......................................................................... 475 Oracleが動作していない場合 ................................................................ 476 DBAの作成したエクスポートファイルの読み出し ............................. 476 全データベースエクスポートを開始できない場合 ............................ 477 パラメータの相互関係 ......................................................................477 xiii ORACLE8i ビギナーズガイド 例 ......................................................................................................... 478 サンプルシナリオ1 ................................................................................ 478 サンプルシナリオ2 ................................................................................ 479 サンプルシナリオ3 ................................................................................ 479 OEMからのエクスポートとインポート .......................................... 479 エクスポートウィザード ....................................................................... 480 インポートウィザード ........................................................................... 482 次は . . . ................................................................................................. 484 CHAPTER16 バックアップと回復 ............................................ 485 用語解説 ............................................................................................. 486 バックアップによって提供される保護 ........................................... 487 オブジェクトの保護 ............................................................................... 487 データベースの保護 ............................................................................... 488 データベースが稼動している状態でのバックアップの準備 ............. 488 エクスポートとインポートのバックアップ ................................... 493 「窓」の許容時間が十分な場合 ............................................................. 494 「窓」の許容時間が不十分な場合 ......................................................... 494 エクスポートファイルからの回復 ........................................................ 495 イメージバックアップ ...................................................................... 497 一貫性(コールド)バックアップ ......................................................... 497 オンライン(ホット)バックアップ ..................................................... 499 回 復 ..................................................................................................... 501 回復とは何か? ....................................................................................... 503 Redoログの種類 ...................................................................................... 503 回復の種類 ............................................................................................... 504 完全回復の実行 ....................................................................................... 504 不完全回復の実行 ................................................................................... 506 完全バックアップ計画 ...................................................................... 510 次は . . . ................................................................................................. 514 CHAPTER17 データベースチューニング ................................. 515 用語解説 ............................................................................................. 516 初期化パラメータファイル(init.ora)........................................... 517 初期化パラメータファイルのエントリのタイプ ................................ 518 Oracle8i Instance Manager ―― 設定の表示 ...................................... 518 Server Manager ―― 設定の表示 .......................................................... 519 初期化パラメータファイル ―― 何を変更するか .............................. 520 Oracle8i Instance Managerでパラメータ値を変更する ..................... 525 テキストエディタを使用してエントリを変更する ............................ 525 SGAの現行サイズの表示 ........................................................................ 527 xiv CONTENTS スプール結果 ........................................................................................... 527 入出力の流れ ...................................................................................... 528 表と索引 ................................................................................................... 528 システム表 ............................................................................................... 530 一時セグメント ....................................................................................... 530 ロールバックセグメント ....................................................................... 530 オンラインRedoログ ............................................................................. 531 要 約 ..................................................................................................... 531 次は . . . ................................................................................................. 531 CHAPTER18 上級DBA .............................................................. 533 用語解説 ............................................................................................. 535 起動オプション ..................................................................................536 StartupNormal ........................................................................................ 536 StartupMount ......................................................................................... 537 StartupNomount .................................................................................... 537 StartupRestrict ........................................................................................ 538 StartupForce ............................................................................................ 540 Startuppfile .............................................................................................. 540 操作モード ......................................................................................... 542 終了オプション ..................................................................................543 その他のユーザー管理責任 .............................................................. 543 データベースユーザーへの権限の付与 ................................................ 544 新しいプロファイルの作成と割当て .................................................... 546 新しいロールの作成と割当て ................................................................ 548 表領域に関するその他の保守責任 ................................................... 550 表領域への領域の追加 ........................................................................... 550 表領域の削除 ........................................................................................... 553 Redoロググループの管理 ................................................................554 Redoログのミラー化 .............................................................................. 555 新しいRedoロググループの追加 .......................................................... 558 既存のRedoロググループの削除 .......................................................... 559 Redoロググループの削除に関する問題 ............................................... 559 ロールバックセグメント .................................................................. 560 ロールバックセグメントの取得 ............................................................ 560 ロールバックセグメントの作成 ............................................................ 561 ロールバックセグメントの削除 ............................................................ 562 初期化パラメータファイル .............................................................. 564 初期化パラメータファイル内の入力項目のフォーマット ................. 565 初期化パラメータファイルの内容を検証する .................................... 566 パラメータ値の変更 ............................................................................... 567 最も一般的に変更されるパラメータ .................................................... 567 xv ORACLE8i ビギナーズガイド 制御ファイルに関する責任 .............................................................. 568 制御ファイルの使用 ............................................................................... 569 制御ファイルの追加 ............................................................................... 569 制御ファイルの削除 ............................................................................... 570 既存の制御ファイルの移動 ................................................................... 571 新しい制御ファイルの構築 ................................................................... 572 エラーメッセージの詳細 .................................................................. 574 オンラインエラーメッセージ ................................................................ 575 ORA-00600の内部エラー ....................................................................... 577 データディクショナリ ...................................................................... 577 ディクショナリビューの種類 ................................................................ 578 最も便利なv$ ビューとdbaビュー ...................................................... 579 Oracle Customer Support ............................................................ 579 「膨大な内容」.....................................................................................581 次は . . . ................................................................................................. 582 CHAPTER19 データウェアハウス機能 ..................................... 583 用語解説 ............................................................................................. 586 ビットマップ索引作成(7.3 および 8)............................................ 588 オプティマイザヒストグラム(7.3 および 8)................................ 590 オラクルのヒストグラム ....................................................................... 590 ヒストグラムの作成 ............................................................................... 591 パラレル化 ......................................................................................... 592 問合せ処理 ............................................................................................... 592 ロードオペレーション ........................................................................... 594 表と索引の作成 ....................................................................................... 595 オブジェクトのパーティション化(8)........................................... 595 なぜオブジェクトをパーティション化するのか ................................ 596 パーティション化されたオブジェクトの操作 .................................... 597 マテリアライズドビュー(8 i) ........................................................... 597 ディメンション ....................................................................................... 598 マテリアライズドビューの作成 ............................................................ 600 トランスポータブル表領域(8i)...................................................... 602 拡張集計演算(8i)............................................................................. 605 rollup ......................................................................................................... 606 cube .......................................................................................................... 607 top-n ......................................................................................................... 608 スター型問合せの最適化(7.3 および 8)........................................ 609 次は . . . ................................................................................................. 611 xvi CONTENTS CHAPTER20 WebDB ................................................................. 613 用語解説 ............................................................................................. 615 WebDBのアーキテクチャ ............................................................... 618 WebDBユーザー ...............................................................................620 WebDBのナビゲーション ............................................................... 621 データベースと WebDB ...................................................................624 データベースオブジェクトの参照 ........................................................ 625 WebDBオブジェクトの作成 ........................................................... 629 データベースオブジェクトの作成 ........................................................ 630 WebDBコンポーネントの作成 .............................................................. 632 WebDBとデータベースの管理 ........................................................ 639 ユーザーの管理 ....................................................................................... 640 パスワードの変更 ................................................................................... 644 WebDBを使用した監視 ...................................................................645 WebDBサイト ................................................................................... 649 次は . . . ................................................................................................. 651 CHAPTER21 JDeveloper .......................................................... 653 用語解説 ............................................................................................. 654 Javaの概要 ......................................................................................... 655 Javaアプリケーションのタイプ ............................................................. 655 JDeveloperとは ................................................................................ 657 Oracleに対してJDeveloperを実行するための ワークステーションの準備 .............................................................. 657 JDeveloper ―― クイックツアー ................................................... 658 メインウィンドウ ................................................................................... 658 メインメニュー ....................................................................................... 659 ツールバー ............................................................................................... 659 コンポーネントパレット ....................................................................... 659 AppBrowser .....................................................................................660 ナビゲーションペイン ........................................................................... 660 構造ペイン ............................................................................................... 661 内容ペイン ............................................................................................... 662 インスペクタ ........................................................................................... 663 JDeveloperプロジェクト ........................................................................ 664 JDBC ―― Oracle8iとの接続 ................................................................. 665 データアクセスのプロバイド/リゾルブモデル ................................ 666 初めてのアプリケーションの作成 ........................................................ 667 プロジェクトのコンパイルと実行 ........................................................ 675 JDeveloperのより実践的な演習 ..................................................... 676 演習その1 ............................................................................................... 676 xvii ORACLE8i ビギナーズガイド 演習その2 ................................................................................................ 681 次に進むべき道 .................................................................................. 686 INDEX .............................................................................................. 687 xviii CHAPTER 1 Oracle とは ORACLE8i ビギナーズガイド この章では、Oracleとそのツールの概要について説明します。最初は、オラクル社が実装した リレーショナルデータベースモデルの基本事項と、その中核となる開発ツールであるSQL*Plus、 Oracle Developer (Oracle Forms、Oracle Reports、Oracle Graphicsを含む) 、Oracle Designer、および SQL*Loaderについて説明します。これらの項目を理解すれば、Oracleが主導するテクノロジの動 向についても深く理解できるでしょう。次は、オラクル社の成長過程について説明します。ま た、顧客の標準的な業務要求を満たすようなアプリケーションをオラクル社が自社のツールを使 用して作成するようになった経緯についても説明します。そのあとで、今日のオラクル社に目を 向け、中核となるデータベースの新機能と各種の特長を取り上げます。最後に、Oracleユーザー グループの概要について説明します。 ヒント Oracleと、増え続けていくOracleのテクノロジリストへの投資か ら最大限の利益を得るためには、Oracleユーザーグループに参加 するのが最適です。 それでは始めましょう。Oracleとは何か、Oracleは実際にどのように動作するのか、そして Oracleを利用するにはどうしたらよいかを説明します。 注意 読者の皆さんのほとんどは、Oracle Serverについて聞いたことが あるか、実際に使用したことがあるはずです。この章だけでなく、 本書の内容のほとんどは、Oracle8i だけでなく他のOracle8リ リースにも適用できます。 用語解説 この章に出てくる専門用語の定義を、次に示します。 ■ オブジェクト指向データベースを使用すれば、従来のリレーショナルデータベーステクノ ロジにオブジェクト拡張機能を組み込むことができます。 ■ クライアント/サーバーコンピューティングには、コンポーネントが3つあります。ユー ザーはPC (クライアント) を使用して、規模の大きな中央コンピュータ (サーバー) とやりと りします。第3のコンポーネントは各種のネットワークソフトウェアであり、クライアン トとサーバーはこれを使用して通信します。 ■ データウェアハウスとは、基幹システムやその他の外部データソースから直接的あるいは 間接的に得られた、企業情報の集合です。その主な用途は、ビジネス上の意思決定支援で 2 Chapter 1 Oracle とは あって、ビジネス業務ではありません。データウェアハウスの詳細については、データ ウェアハウスの実践的な構築方法を詳説した 『ORACLEデータウェアハウジング』 (Corey、 Abbey共著;翔泳社刊;1997年)を参照することをお勧めします。 ■ フォールトトレランスとは、コンポーネントまたはプログラムに異常が発生した場合にコ ンピュータが修正操作を自動的に起動できることです。この典型的な例は、オンライン ディスクに障害が発生したときにバックアップディスクに切り替えるメカニズムです。こ の切り替えは人的な介入なく行われ、修正アクションについて知らせるメッセージが中央 の管理センターに送られます。 ■ 特定のイベントが発生すると、一部のコードが特定の作業を開始するようなプログラム を、イベントドリブンといいます。たとえば、お気に入りのワードプロセッサを終了する 際は、Exitコマンドに対応するイベントがあります。該当するイベントが発生したら、 ワードプロセッサのソフトウェアは文書を保存すべきかどうかをチェックし、必要なら保 存のダイアログボックスを表示します。 ■ 数字キーパッド上の特定のファンクションキー(1つまたは複数) を押して特定の作業を開 始する場合、そのプログラムはファンクションキー/キーパッドドリブンです。 ■ GUI (グラフィカルユーザーインタフェース) とは、マウス操作によるドラッグ&ドロップ 方式のインタフェースです。 ■ Telnetセッションとは、サーバー上で、ダム端末の機能をエミュレートする接続のことで す。 ■ ファイヤーウォールとは、外部から内部システムへの不正な侵入を防ぐためのセキュリ ティシステムです。ファイヤーウォールは外部ソースから着信されたリクエストを検査し て、内部システムに通してよいかどうか判断します。たとえば、Beto宛に送られた電子 メールメッセージは、その会社にその名前の社員がいなければシステムに入ることを許さ れません。さらに、ファイヤーウォールは通過を許されるサービスのタイプも判断できま す。たとえば、Telnetを介したリモートクライアントへのアクセスは許可されませんが、 電子メールはそのフィルタを通過できます。 ■ イントラネットサイトとは、インターネット技術を使用して作成された1つまたは複数の アプリケーションが常駐する場所です (図1-1を参照) 。アプリケーションにアクセスする には、Netscape NavigatorやInternet Explorerなどの汎用ブラウザを使用します。これはイン トラネットサイトですから、アプリケーションはファイヤーウォールの内側にあります が、TCP/IP、HTML、Javaなどのインターネット技術を使用してアクセスされます。イン トラネットサイトの主な目的は、組織内の利用者にサービスを提供することです。 ■ インターネットサイトとは、インターネット技術を使用して作成された1つまたは複数の アプリケーションが常駐する場所です。さらに、このサイトにはイントラネットサイトの 場合と同じように、汎用ブラウザを使用してアクセスします。インターネットサイトであ 3 ORACLE8i ビギナーズガイド るため、アプリケーションはファイヤーウォールの外側にあり、同じインターネット技術 を使用してアクセスされます。インターネットサイトの主な目的は、組織の外部の利用者 にサービスを提供することです。 ■ URL(Universal Resource Locator)とは、インターネットアドレスのことです。URLの一例 は、http://home.istar.ca/~masint/です。これは特定のインターネットサイトへの道路地図の ようなものと考えてください。 ■ World Wide Webとは、インターネットのグラフィカル部分です。Netscape Navigatorや Internet Explorerなどの汎用ブラウザが登場して以来、インターネットでは音声、ビデオ、 テキストなどあらゆる種類のデータを簡単に扱えるようになりました。この新しいグラ フィカル機能を使用すれば、誰でも簡単にインターネットをナビゲートすることができま す。Webのおかげで、かつては高度な技術者だけの聖域だったインターネットが、ごく普 通の人々にも利用できるようになりました。インターネットの爆発的かつ大々的な普及に より、ビジネスを行うための非常に実用的な商業プラットフォームが整ったのです。 ■ マスターファイルは、コンピュータシステムが複数のアプリケーションで使用する情報を 格納しておくために使用します。請求書作成システムでは、名前、住所、連絡先情報など インターネット LANファイルサーバー Webサーバー イントラネット 図 1-1. イントラネットとインターネット 4 ファイヤーウォール Chapter 1 Oracle とは をマスターファイルに格納できます。これらの情報は、売掛金、在庫管理、および買掛金 で使用できます。 ■ ファットクライアントとは、従来のPCシステムのことです。今購入すると、少なくとも 64MBのメモリ、8GBのディスク容量、Pentium IIIベースのチップとCD-ROMドライブが内 蔵されています。つまり、代表的なPC製品ということです。クライアント/サーバーで は、ファットクライアントには、すべてのコードやプログラムがそのローカル領域に入っ ています。 ■ シンクライアントとは、内蔵メモリが4MB程度でハードディスク容量がないが、小売価格 が1,000ドル以下のPentiumから32ビットRISCチップまで、何らかのマイクロプロセッサを 搭載しているパーソナルコンピュータのことです。将来的には、シンクライアントはパー ソナルデータアシスタント (Personal Data Assistants:PDA) からネットワークコンピュータ にまで拡大すると思われます。 ■ Oracleアプリケーションとは、クライアントの業務要求を電子的に解決するオラクル社製 の一連の市販プログラムのことです。これらのアプリケーションは、財務管理、人事管 理、在庫管理などの分野で顧客のニーズに応えます。 ■ OLAPとは、データのオンライン分析処理を意味します。これは、ユーザーがすばやく、 対話式の簡単な方法でデータを認識することを可能にするテクノロジの分野です。 ■ ROLAPでは、データがリレーショナルデータベースフォーマットで格納されますが、オ ンライン分野処理またはOLAPに合わせて調整されたテクノロジを介してアクセスできま す。 ■ MOLAP (Multi-dimentional-DBOLAP) とは、多次元データベースフォーマットで格納された データのことです。データを多次元にするためには、そのデータのさまざまなディメン ション (次元) /属性が識別されます。次に、データが変換され、たいていはこれらのディ メンションの交差に基づいて物理的に格納されます。交差はそれぞれ、そのデータの中の 一意なポイントを表します。 ■ ライトサイジングとは、企業で既存のコンピュータのハードウェアとソフトウェアを調査 し、将来の方向を決定することです。小規模で高性能なコンピュータの方向に業界が向か うと、多大なライトサイジングが実施され、その結果、一種のクライアント/サーバーコ ンピューティングが選択されることになります。 ■ ユーザーが期待することをほとんど自動的に実行してくれるようなアプリケーションは、 ターンキーと呼ばれます。そのようなアプリケーションは、習得しやすく、ほとんど練習 しなくても使用できます。ターンキーと呼ばれるのは、キーを回すだけで自動車 (この場 合はアプリケーション)が発進することになぞらえてのことです。また、ターンキーは、 完全なソリューションも意味します。つまり、プロジェクトまたはアプリケーションが ターンキーであるという場合、開発者がすでにすべての作業を完了しており、クライアン トは起動すれば使用できるようになっています。 5 ORACLE8i ビギナーズガイド Oracle とは なんて難しい問題でしょう。このような質問は、マニュアルが全部で3∼4冊しかなかった Oracleバージョン3を使い始めた頃にしてほしかったですね。その頃のオラクル社は、サービス業 務をほとんど運営していない、主にデータベース専門の会社でした。そして、アプリケーション パッケージを1つも持っていませんでした。今日では、様相ががらりと変わっています。この年 間80億ドル (1999年) の収益を上げている企業は現在、多数の製品、多様なサービス、そしてアプ リケーションさえ備えています。 オラクル社が特別なのは、たとえ技術的な課題であろうと、急速な成長に伴う問題であろう と、あらゆる障害を克服する実証済みの能力を備えていることです。また、オラクル社はこれま でずっと、われわれがこの情報対応時代の需要を満たすのを助けてくれる製品を提供してきまし た。この驚異的な能力があるからこそ、オラクル社は将来のテクノロジを見こし、明日のWebコ ンピューティングから将来のネットワークコンピューティングとなるものを定義するに至るま で、常に最先端を走り続けることができたのです。オラクル社について説明するために、その ルーツであり基礎となったデータベースを振り返ってみましょう。そこから出発して、現在のオ ラクル社までたどり、今日のオラクル社の機構を見ることにしましょう。 手始めに オラクル社は最初、単なるデータベース会社 (詳しくいえば、リレーショナルデータベース会 社) でした。当時、リレーショナルデータベースは、データの構造化方法と格納方法に関する新 しい考え方でした。この種のデータベースで重要なのは、データ間の関連 (リレーションシップ) を理解し、次にその関連を反映させた情報ベースを構築することです。このようにしておけば、 長期間の使用に耐えるような情報ベースが構築されます。リレーショナルデータベースの目標 は、構造自体は変更することなく、データだけ変更するようなデータベースを構築することで す。旧来の方法を、従来型アプローチと呼ぶことにしましょう。これら2つのアプローチの相違 点を理解するために、まず従来の顧客マスターファイルをそのリレーショナルデータベース版と 比較してみましょう。そして、両方のアプローチの特性と、それぞれのアプローチを使用した変 更方法を見てみます。そのあとで、これら2つのモデルの相違点を調べ、リレーショナルデータ ベースのアプローチが定着した理由を示します。この項以降しばらくは、 「従来型」 と 「リレーショ ナル型」 について説明する際、 「アプローチ」 と 「モデル」 という言葉を使用します。これらの用語は、 同義的、つまり同じ意味で使用する場合があります。 従来型アプローチ 図1-2に、従来の顧客マスターファイルを示します。この中には、顧客の名前、住所、市、州、 自宅の電話番号、勤務先の電話番号など、通常予想されるフィールドがすべて入っています。項 目ごとに場所が分かれているため、場所の個数は記録するデータタイプの個数に依存しています。 6 Chapter 1 Oracle とは FAXが普及するまでは、この従来型の設計で十分でした。この従来型のモデルにFAX番号を追 加するには、電話番号のフィールドがもう1つ必要であるため、該当するデータベースを完全に 構築し直す必要があります。また、この顧客マスターファイルを使用するアプリケーションの コードも、元から設計し直す (アプリケーション全部ではないにしろ、かなりの部分を書き直す) 必要があります (変更を行う際の多額のコストは別にして) 。従来型の設計を使用している場合、 マネージャは次のような決断に迫られます。 ■ アプリケーションのコードを変更する場合は、アプリケーションへの新規機能の追加に多 額のコストがかかります。導入先では、早期変更を希望しています。ミスすると、顧客処 理だけでなく、業務全体を中断させかねません。 ■ アプリケーションを変更しなければ、その変更に関するコストは不要です。しかし、コスト に代わる代償を要求されます。つまり、FAX番号を使用せずに、業務を行うことになりま す。もちろん、そのようなことがたび重なれば、大きな技術的リスクを業務でかかえ込む羽 目になります。長い目で見れば、 (FAX番号に対応した) 競争相手に負けるかもしれません。 ■ あるいは、既存のデータ要素を必要なFAX番号フィールドに置き換える方法もあります。 ビジネスでは、これはハッカーのスパゲティコードと呼ばれます。このアプローチは短期 的には有効ですが、長期的に見るとはるかにコストがかかります。 このような場合に手をこまねき、 「何だって? アプリケーションはときどき変更しなきゃだっ て? 知るもんか」 とうそぶく人もいるかもしれません。しかし、この世は刻々と変化しています。 時代に対応できないようなアプリケーションは、消滅する可能性があります。現実に、100年以上 前、スイスは世界の時計産業の覇者でした。しかしクォーツムーブメントを使用した新しいタイプ の時計が発明された際、スイスは対応しませんでした。その結果スイスは今日、世界の時計市場で ごくわずかのシェアしか占めていません。現在のビジネスは、常に変化を迫られます。20年前は、 顧客マスターファイル 顧客名 住所 市 州 自宅の電話番号 勤務先の電話番号 図 1-2. 従来型の顧客マスターファイル 7 ORACLE8i ビギナーズガイド コンピュータラインの耐用年数は3∼5年でした。現在は、毎年新しいハードウェアが次々と発売 されています。ビジネスモデルとそのコンピュータシステムも、最新の技術傾向に遅れをとらな いようにする必要があるのです。従来型のアプローチを使用していた場合、FAX番号を追加する よう顧客マスターファイルを変更したとしたら、FAX番号のフィールドを移入するため、その ファイルをロードし直さなければならないでしょう。そのうえで、顧客マスターファイル内の データを使用するすべてのプログラムを修正する必要があります。この時点で、従来型システム 内でのデータの格納方法について再度触れる必要があります。従来型のデータベースには、顧客 マスターファイル、給与マスターファイル、健康保健マスターファイルなどが格納されている かもしれません。これらの各マスターファイルはそれぞれ独立しています。これらのファイルの 複数個に影響を与えるような事態になると、問題が発生します。 従来型のアプローチがいかに厄介か (いかに高くつくかには触れませんが) を理解するために、 次のシナリオを考えてみましょう。従来型のシステムでは、似たような情報が複数の箇所に格納 されています。従業員手当のアプリケーションでは、手当マスターファイルに従業員名を格納し ています。給与処理部門では、給与マスターファイルに従業員名を格納しています。そのうえ、 長距離電話システムでは、長距離通信マスターファイルに従業員名を格納しています。ひとりの 女性が結婚後に姓を変更し、給与支払小切手に新しい姓を記載してもらいたい、という場合を考 えてみましょう。姓の変更は、給与マスターファイルには反映されるでしょうが、他の場所には いっさい反映されない可能性があります。 ヒント 同じデータが複数の箇所にある場合、それらのデータに対する変更を同 期化することは、従来型アプローチで確認が最も困難な点です。 従来型のデータベースでは、変更作業だけにかかる時間と労力は抜きにして、姓がすべての格 納先で正しく変更されたか確認するのに数か月かかるかもしれません。結婚したら健康保険を受 給できなくなったなんて、女性(たとえばSally)は怒らないでしょうか。 従来型のシステムは、設計主体のシステムです。つまり、新しい種類のデータをサポートする 際は、設計を変更する必要があります。業務要求 (FAX、携帯電話、自動車電話などの番号の格 納) が新しく発生するたびに、上級システムアナリストやデータベース管理者 (高給かどうかは別 として、優秀な技術者)は、既存のアプリケーションの設計を見直して、必要な変更を実施しな ければなりません。ここで重要な点は、設計の変更は確かに高くつきますが、多数の導入先がそ の変更を実施しないのはそれだけが理由ではないという点です。 では、リレーショナル型アプローチでは、このような状況にどう対処するのか見てみましょう。 8 Chapter 1 Oracle とは リレーショナル型アプローチ このアプローチを使用する場合、システムデザイナーは取り込み対象となる情報のタイプを別 に定義します。そのあとで、それらの情報のタイプ間のリレーションシップを指定し、図1-3に 示すようなデータベース構造を実装します。従来型モデルでマスターファイルと呼んでいたもの を、リレーショナルモデルでは表と呼びます。図1-3に示した、顧客表、電話番号表、および電 話番号タイプ表を見てください。各表は、データベース内の別個の表です。 図1-3で、顧客表と電話番号表の間のリレーションシップは、熊手のような線で表現されてい ます。これは、各顧客が、電話番号を1つ以上持てることを示しています。また、電話番号タイ プ表と電話番号表の間のリレーションシップを見てみましょう。この1本の線は、電話番号テー ブルの電話番号がどれか1つの電話番号のタイプに対応しなければならないことを示しています。 そのため、顧客と電話番号データの間のリレーションシップは、次の規則で管理します。 ■ 各顧客は、電話番号を1つまたは複数個持つことができる。 ■ 各電話番号は、ひとりの顧客だけが所有する。 ■ 電話番号のタイプは、自宅の番号、勤務先の番号、FAX番号、または移動電話の番号のい ずれかでなければならない。 これらのリレーションシップを理解し、これらの規則に従ってデータベースを設計したら、あ とは、電話番号タイプにデータを1行追加するだけでFAX番号を追加できます。データベースを 構築し直す必要はありません。アプリケーションプログラムを最初から設計し直す必要もありま 電話番号表 顧客表 顧客番号および電話 番号タイプによって分類 顧客番号は一意 電話番号タイプ表 各電話番号のタイプは,次のように一意 HO1 : 自宅の1本目 B1 : 勤務先の1本目 FX1 : FAX用の1本目 MB1 : 移動電話の1本目 図 1-3. リレーショナルモデルを使用した場合の 3 つの表(マスターファイル) 9 ORACLE8i ビギナーズガイド せん。新しい機能をプログラミングする必要もありません。このアプローチを使用すれば、ほん の少しの作業で、FAX番号を追加できます。 かわいそうなSallyの健康保険の受給について、もう一度考えてみましょう。リレーショナルモ デル(図1-3を参照)では、Sallyの名前は1箇所に格納されます。手当用のアプリケーションは、 Sallyの名前を読み込む際に、それを顧客テーブルから読み込みます。同様に、給与および遠距離 電話のシステムも、Sallyの名前が必要になった際は、顧客テーブルから読み込みます。 リレーショナルモデルを使用して構築したシステムでは、情報は1箇所に格納されます。中央の リポジトリ (データベースの構造などを格納している場所。Oracleではディクショナリとも呼ばれ、 それ自体もデータベースの中に格納されている) に対する変更や追加は、すぐに反映されます。 ヒント リレーショナルデータベースでは、どのデータも一度しか格納されない ため、データに対する変更の同期化はまったく問題なく行えます。 リレーショナルなシステムは、データ主体のシステムです。たとえば、個人で複数の電話番号 を持てるようにする場合は、主要なリレーションシップの識別とシステム内への作り込みができ るように、技術レベルの高い人にシステムの構築を依頼する必要があります。しかし、電話番号 の表を新しく追加する場合は、システムを設計し直す必要がありません。また、高給のアナリス トに依頼して変更を実施しなくても、電話番号タイプの表に新しい電話番号のタイプを自分で追 加すればよいのです。 リレーショナルデータベースモデルでは、顧客と電話番号の間のリレーションシップは変わり ません。新しい電話番号のタイプを、電話番号タイプの表に登録するだけで済みます。 2 つのアプローチの相違点 従来型システムとリレーショナル型システムの構築方法と相違点については、FAX番号の例を 使用して、表1-1に示してあります。 手始めに:ポイントの要約 リレーショナルデータベースの特長を要約すると、次のようになります。 ■ リレーショナルデータベースはデータを主体としたものであり、設計を主体としたもので はありません。設計が完了すると、アプリケーションに影響を与えずに、何度でもデータ を変更できます。 ■ データは自己記述型です。たとえば、電話番号のタイプは、電話番号タイプとして識別さ れます。 10 Chapter 1 Oracle とは タスク 従来型 リレーショナル型 アプリケーションの設計 どのようなアプリケーションがどの ようなタイプの情報を必要とするか 考え、一連のマスターファイルを準 備する。 収集対象となるデータのタイプを 定義し、それらタイプ間のリレー ションシップを定義する。 アプリケーションの実装 マスターファイルにデータをロード し、各マスターファイルの該当箇所 に各情報項目を格納する。 データのタイプを該当する表にロ ードする。各項目は、1箇所にし か格納されない。 アプリケーションの修正 データベースを再設計し、その変更 (取り込むデータタイプの追加) を反映するようすべてのプログラム を修正する。変更の影響を受けるマ スターファイルを、すべてロードし 直す。 データのサブセットの修正 各マスターファイルを、先頭から末 尾まで読む。変更対象となるサブセ ットに行が所属している場合はその 行を処理し、所属していない場合は 次のレコードに進む。 影響を受けるデータタイプが定義 されている表(電話番号タイプ表) を特定する。該当する表に存在す るデータは、そのままとする。 該当サブセットに所属する行の集 合を特定し、該当する変更を1つ のSQL文で実行する。 表 1-1. 従来型モデルとリレーショナル型モデルの相違点 ■ データは1箇所に格納され、1箇所から読み込まれ、1箇所で変更されます。データは一度し か格納されないため、すべてのアプリケーション間で一貫性が容易に維持できます。 ■ データの格納方法の定義と施行を、規則で制御します。 ヒント 分散型コンピューティング環境では、データは複数の場所に格納さ れると考えられます。このような場合は、常にリレーショナルデー タベース管理システムとアプリケーションの間でデータの同期を確 保する必要があります。 今日のオラクル社 オラクル社は今日、カリフォルニア州レッドウッドショアに拠点を置き、情報を電子的に管理 するためのソフトウェア製品の開発とサービスの提供を行っています。オラクル社は、1999年の 収益が80億ドルを超えるような、世界規模のコンピュータソフトウェアのプロバイダです。オラ クル社は世界の90か国以上の国々で事業を展開しており、そのソフトウェアは100種類を超える コンピュータ上で動作しています。オラクル社は、情報スーパーハイウェイで主要な役割を果た しています。 11 ORACLE8i ビギナーズガイド オラクルは、分散アプリケーションがWorld Wide Webに配備されるインターネットコンピュー ティングモデルの採用において重鎮的な役割を果たしています。インターネットは、アプリケー ションを配布するための最適なインフラです。コンポーネントベースのアプローチへの移行が進 みつつある今、インターネットは分散アプリケーションを構成するピースを収めるには理想的な 場所なのです。3階層クライアント/サーバーコンピューティングアーキテクチャと併用すれば、 インターネットはこれらのシステムにとってまさにぴったりな場所となります。このアプローチ を構成する3つの階層は次のとおりです。 1. プレゼンテーションレイヤーとも呼ばれるクライアントには、ユーザーに表示される情報 が格納され、ここで入力が受け取られて処理されます。 2. アプリケーションレイヤーでは、システムによって実行されるロジックに従って処理が行 われます。ビジネスルールが実施され、データの整合性が検証されて、システムの要件に 応じて複雑な処理が実行されます。このレイヤーは、3階層アプローチにおいてエンジン としての役割を果たします。 3. バックエンドとも呼ばれるデータレイヤーは、他の2つのレイヤーからの要求に対応する 情報の格納庫としての役割を果たします。全部とは言いませんが、ほとんどの場合、デー タレイヤーには、ユーザーがシステムと対話すると、アプリケーションからデータを受け 取り、再びアプリケーションに情報を渡すように特に最適化されたリレーショナルデータ ベースが使用されます。 オラクル社は、最高のテクノロジを利用者に提供する終わりのない競争の中にいるのです。将 来のテクノロジの傾向を見こす力と重要なテクノロジを早期に採用する能力は、オラクル社の存 続に貢献するだけでなく、オラクル社が競合の中で常に大きなリードを保つ主な要素でもあるの です。その基盤となるのがOracle Serverです。それでは、Oracle8 i Serverと、Oracle8i Serverを中 心として発展する製品群を製造することがどうして可能であったかを詳しく見ていくことにしま しょう。 オラクル社が現在の地位にいる理由 成長を続ける一連の情報管理ベンダーのトップにまでOracleを押し上げた影には、重要な機能 がたくさんあります。情報技術は動く標的です。すべての機能を紹介することは無理ですが、い くつかの機能を説明することにします。 意思決定支援 意思決定支援システム(DSS)は、多大な役割を果たしています。今ではどこを見渡しても、 Oracle Serverベースのデータウェアハウスを広く配備している企業が目に付きます。データウェ アハウスの関心と普及が高まるにつれ、Oracle Serverと関連するOLAP製品は企業の経営陣の間で 重視されるようになりました。意思決定支援ツールであるExpress製品ラインを買収し、ビジネス 12 Chapter 1 Oracle とは ビュー主体のOracle Discoverer製品を開発したオラクルは、このシステム市場のニッチマーケッ トにおける現在と未来を掌握する優位な立場を確保したことになります。 大量なデータの管理 データベースシステムが動作するハードウェアは、日進月歩の勢いで強化されています。本書 の執筆を始めた時点で、プロセッサまたはディスクストレージ市場では最高速かつ最強のCPUが 求められていたとすると、この本を書き終えた時点ではすでに技術の進歩によりそのCPUが実現 されているはずです。オラクルは常に大量のデータの管理を重視してきました。オラクルでは、 リリース7.3 (1997年) 以来、ずっとデータのパーティション化という機構でこの問題に対応してき ました。データのパーティション化では、大量のデータをもっと管理しやすい小さなチャンクに 分割し、システムが動作し、ユーザーセッションが問合せを処理する間に透過的にデータがまと められます。 セキュリティ機構 Oracleの高度なセキュリティ機構では、各種の権限を使用することにより、機密データへのア クセスを制御します。ユーザーは、データベースに接続する際に使用した名前に基づいて、デー タに対する表示、修正、および作成の権利が与えられます。カスタマーはこれらの機構を使用す ることにより、特定のユーザーにのみ機密データの参照を許可することが確実に行えます。 バックアップと回復 Oracleは、バックアップと回復に関して、高度なルーチンを提供しています。バックアップで はOracleデータの2次コピーが作成され、回復ではバックアップからデータのコピーが復元されま す。Oracleのバックアップと回復では、問題が発生した場合のデータ消失と停止時間が最小にな るよう考慮されています。また、Oracle Serverは24時間年中無休でアクセスできるバックアップ と回復のスキームを提供しています。 領域の管理 Oracleの領域管理には、柔軟性があります。将来の要求に備えて領域の確保方法をOracleに指 示することによって、データ格納用のディスク領域の割り当てと次回以降の割り当てを制御で きます。また、非常に規模の大きなデータベースを念頭に置いて設計された一連の特殊な機能も あります。実際、Oracle8およびOracle7.3は、データウェアハウスを考慮して設計されています。 通常は大規模なデータベースを意図して設計されます。 オープンな接続性 Oracleでは、他のベンダーのソフトウェアに対して、オープンな接続性を提供しています。 Oracle Access Managerを使用すれば、異なるベンダー製品で実行している多様な企業システムを 容易に統合できます。たとえば、IBMのAS/400プラットフォーム向けマネージャを使用すれば、 13 ORACLE8i ビギナーズガイド COBOLやCなどの第3世代、または第4世代言語で書かれたアプリケーションからOracleデータに アクセスできます。PL/SQLもサポートされているので、AS/400アプリケーションからリモート Oracleストアドプロシージャを呼び出すことも可能です。Access ManagerとOracle Transparent Gatewaysを使用すれば、企業はIBMハードウェアやソフトウェアソリューションに投じた投資を 有効利用することができます。 Access Managerは非Oracleデータベースマシンに常駐し、ユーザー数は基礎となるオペレーティ ングシステムによって、AS/400 Access Managerの場合はDB2/400によって制限されます。Oracle データベースに対して業界標準のSQLは次のような目的でサポートされています。 ■ Oracleデータベースではオブジェクトの定義(たとえば、create tableやcreate indexな ど)、1人以上の受信者の権限の変更(grant select onなど)、またはOracle8iデータベース をサポートするインフラの操作 (altert tablespaceなど) にDDL(データ定義言語) 構文が使 用されます。 ■ DML(データ操作言語)は、新しいデータの作成(insert intoなど)、既存のデータの操作 (updateなど)、既存の行の削除 (delete fromなど)、あるいはお馴染みのselectキーワー ドでデータを表示するのに使用されます。 Access Managerを入手すると、Computer Associate社のIDMS、Datacom、Ingresや、Microsoft社 のSQL Server、Informix、Teradata社のEDA/SQL、Sybase、およびIBM社のCICSなどから、Oracle データに簡単にすばやくアクセスできます。 開発ツール Oracle Server(一般にはデータベースエンジンと呼ばれています) では、広範な開発ツール、エ ンドユーザー照会ツール、市販アプリケーション、およびオフィス全体で使用できる情報管理 ツールをサポートしています。Oracle FormsとOracle ReportsはOracleの開発ツールの中核を成し、 Webやインターネットコンピューティングの3階層アーキテクチャでの配備に向けた手段を提供 します。 Oracle Enterprise Developer Suiteには、トレーニングが全くまたはほとんど不要でありながら、 柔軟でハイパフォーマンスかつ保守が容易でスケーラブルなアプリケーションを実現できるコン ポーネントがバンドルされています。主な4つのコンポーネントは次のとおりです。 ■ Oracle Designerは、システムコンポーネントの定義 (つまり、データソースとその関係)お よびアプリケーション定義とデータベースの定義を目的に設計された一連のツールです。 ■ Oracle Developerは、インタラクティブアプリケーションおよびトランザクション、あるい はOLTPベースのシステムを短時間で構築するためのアプリケーション開発環境です。 ■ Oracle Developer Serverは、多層アプリケーションを構築するための堅牢な開発環境です。 ■ Oracle Application Serverは、トランザクション分散アプリケーションの配備を容易にする ように設計されたオープンソリューションです。 14 Chapter 1 Oracle とは それでは、ますます人気が高まるOracle8i Serverについて詳しく説明することにしましょう。 Oracle8i Server Oracle8i Serverは最先端の情報管理環境です。Oracle8i Serverは大量のデータのためのリポジト リであり、そのデータへのすばやいアクセスをユーザーに提供します。Oracle8 Serverでは、アプ リケーション間でのデータの共有が可能でした。つまり、情報は1か所に格納され、多数のシス テムで利用されます。最初のリリースでは、Oracle8i ServerはSun SolarisとWindows NTのみの対 応でしたが、今では他の多数の異なるコンピュータでも動作し、次のような構成をサポートして います。 ■ ホストベース ユーザーはデータベースが常駐している同一のコンピュータに直接接続し ます。 ■ クライアント/サーバー ユーザーはパーソナルコンピュータ (クライアント) からネット ワークを介して接続し、データベースは別のコンピュータ(サーバー) 上に常駐します。 ■ 分散処理 ユーザーは、複数のコンピュータ上にあるデータベースにアクセスします。 データベースは複数のマシンに分散され、ユーザーは自分が作業をしているデータが物理 的にどの場所にあるのかを意識することはありません。 ■ Web対応コンピューティング インターネットベースのアプリケーションからデータにア クセスできます。 われわれは、優れた情報ベンダーのリストの筆頭にオラクルを押し上げたのは、オラクルのこ れまでのサーバー製品の功績であり、Oracle8/Oracle8iはその伝統を受け継いだものであると思っ ています。 オラクルは、そのサーバーテクノロジと共に、サーバー機能を拡張する多数のアドオンオプ ションを販売しています。ほとんどのオラクルのお客様の場合、基本製品でも十分に要件に対応 できます。追加機能を必要とするお客様向けに、オラクルは一連のオプションも販売していま す。以降では、これらの機能とオプションについて詳しく説明します。要するに、「機能」とは Oracle8i Serverの基本製品に組み込まれた機能を意味し、「オプション」 とは有料でベースのサー バー製品に追加できる機能を意味します。 Oracle8i Server の特徴 信頼性、可用性、そして保守性は、オープンシステムの分野で重視される重要な要素です。オ ラクルは、最も人気のある広く採用されたリレーショナルデータベースソフトウェアを販売し、 ほとんどのハードウェアプラットフォームにおいて大きなシェアを有しています。オラクルの成 功は偶然の賜物ではなく、オラクルのサーバーテクノロジに組み込まれた未来が、業界でのリー 15 ORACLE8i ビギナーズガイド ダーとしての地位を獲得し、維持する後押しとなってきたのです。 データのアクセス性 Oracle Serverを購入すれば、データを格納し、アクセス可能な状態にしておくための多様な機 能が手に入ります。データをバックアップするためのユーティリティも提供されます。これらの ユーティリティには、ユーザーが使用中の情報をバックアップする機能も含まれています。この 概念を説明するのに 「ホットバックアップ」 という表現を使用します。これは、生のデータをバッ クアップする機能を表し、オラクル社の公式な用語では 「アーカイブモードバックアップ」 と呼び ます。企業でデータベースのバックアップ中に、アプリケーションへのアクセスを遮断する必要 はもうありません。つまり、Oracleデータベースを24時間年中無休で稼働しておけるということ です。 Oracle Serverは、データの整合性も提供します。あるユーザーがOracleデータベース内のデータ を変更しているときに何らかの障害が発生しても、障害があると思われるトランザクションを元 に戻したり、ロールバックすることができるのです。Oracle Serverを使用すれば、どのトランザ クションのステータスについても絶対に自信を持てます。また、中に入っているすべてのデータ について完全な行レベルのロックも可能です。 たとえば、Oracleリポジトリの上に構築された株式購入アプリケーションを使用して、ふたり のユーザーがロット番号5を購入しようとしたとします。これはDatabase Technologies社の100株 に相当します。この場合、データベースはこの取引を許可しません。なぜなら購入できるロット が1つしかないからです。データベースは一方のユーザーに購入へのアクセスを許可します。も うひとりのユーザーはその間、待たなければなりません。2番目のユーザーがアクセスを許可さ れると、そのユーザーにはロット番号5のステータスが売却済みになって表示されます。Oracle Serverは透過的にこれらの状況を処理し、データの整合性を維持します。 プロシージャ機能 Oracle8i Server製品には考えられるすべてのプロシージャ機能が組み込まれています。このオ プションの基盤は、Chapter 8で説明するオラクルのプログラミング言語であるPL/SQLです。PL/ SQLとこのコンポーネントを使用すれば、次のような機能を実行できます。 ■ ストアドプロシージャ ストアドプロシージャは、Oracleデータベース内に格納され、イ ンストレーション先のために主要な機能を実行するプログラム (またはコードセグメント) です。たとえば、ケーブルテレビの課金アプリケーションでストアドプロシージャを使用 すれば、支払が延滞している顧客に確認書を作成できます。ストアドプロシージャは、顧 客の毎月の明細を作成する際に60日を過ぎても支払がないと実行されます。 ■ データベーストリガー データベース内に存在し、ユーザーのアプリケーション内で発生 したイベントによって起動されるコードのことです。たとえば、人事管理アプリケーショ ンの場合は、新しい従業員を採用する際、人事情報の新しい集合を作成するときにデータ 16 Chapter 1 Oracle とは ベーストリガーを使用すれば、会社の他の部署に送るメッセージを作成できます。これら のメッセージは、新しい従業員をデータベースに追加する際に作成されるため、メッセー ジセンターのオペレータに新しい従業員の存在を通知できます。 ■ パッケージ パッケージは、各種のプロシージャをまとめたものであり、該当コードは単 一のプログラム単位としてデータベースに格納されます。たとえば、書店チェーンの中央 の倉庫では、特別注文を該当の小売品が存在する場所に回すようパッケージを設計するこ ともできるでしょう。このパッケージの中には、品物の転送の開始、単品注文の通知処 理、追加注文の処理など、各種のプロシージャが格納されています。 分散処理 多くのインストレーションでは、企業データの一部が他の都市にある別のコンピュータ上に存 在しています。たとえば、売掛金はダラス、調達はトロント、研究開発はジャカルタ、そして本 社はリスボンにあるとします。企業データは各地に分散していますが、ユーザーはそれらの情報 が同一の中央コンピュータ上にあるかのように使用できる必要があります。分散処理コンポーネ ントを使用すれば、このようなシナリオを実現できます。 「位置の透過性」により、横浜にいる ユーザーは、データの物理的な格納場所を知らなくても、トロントにある情報を操作するような ことができます。この調達データの物理的な場所は、どのユーザーにも知らされません。Oracle の分散処理コンポーネントを使用すれば、このようなことが実現できます。 パラレルクエリー このコンポーネントが提供するパラレルクエリー機能を使用すれば、ユーザーは中央処理装置 (CPU) を複数個持つコンピュータ上で問合せを処理できます。CPUが1つしかないマシン (または CPUが複数個あってもパラレルクエリー機能のないマシン)では、単一のプロセスがデータベー スにアクセスし、選択条件に基づいて照合するデータを表示します。処理は、図1-4のように実 行されます。 マルチCPUのマシン上でパラレルクエリー機能を使用した場合、Oracleは問合せプロセスを複 数に分割し、並列に実行します。これらの問合せプロセスは、該当する問合せ処理を分割したも のであり、同時に動作します。処理結果は、準備ができると結合され、該当するユーザーに返さ れます。図1-5に、このパラレルクエリー機能の基本動作を示します。 パラレルクエリーを実行するこの機能を使用すれば、空いているCPUをすべて活用することに よって、かつては何時間もかかった問合せがほんの数分で完了します。 Enterprise Manager オープンシステム化への流れの中でいつも皮肉に感じることの1つが、日常的なツールがなかっ たことです。たとえば、既存の最も速いUNIXマシン/オープンシステムの1つを使用していて も、テープ管理システムはありませんでした。このようなツールが使用できなかったのは、そん 17 ORACLE8i ビギナーズガイド なツールが存在しなかったからです。テープソリューションを販売しているベンダーがいなかっ たのです。 しかし、この数年で状況は変わりました。メインフレーム環境で販売していたツールを購入し て、UNIXで使用する企業が増えてきました。このようなツールを作成することになったそもそ もの理由は、オープンシステムの環境にも当てはまります。コンピュータシステムをテープのよ うな安価な媒体にバックアップすることは非常に重要ですから、よいテープ管理システムが必要 なことに変わりはないのです。このようなテープを見つけたり、テープを管理することは非常に データ データに対する要求 問合せ結果 サーバープロセス データに対する要求 問合せ結果 ユーザープロセス 図 1-4. 問合せ処理(パラレルクエリーを使用しない場合) 18 Chapter 1 Oracle とは 重要なニーズです。Platinum社は、オープンシステム環境に合わせて製品を構成し直したよい例 です。Platinum社はIBMメインフレーム用に構築したツールの多くをオープンシステム/UNIX向 けに作り直しました。たとえば、今ではOracle市場向けにもトランザクションログアナライザが 出回っています。これらは、目的の遂行に必要なアプリケーションを実行する上で不可欠なツー ルです。市場にニーズ (あるいは空白) が生じると、必ずどこかの会社がそのニーズに応えてくれ ます。これが基本的な需要と供給の原則です。全体的に見て、これは市場が成熟していることを 示すよい兆候であり、アプリケーションが目的を遂行するには望ましい環境だと思います。 Oracleの市場で見つけるのが最も難しい技能の1つが、優れた安定したデータベース管理によっ て彼らの仕事にもたらされる知識であることを認識することが大切です。また、安定した管理 ツールがなければ、Oracleの利用者はより大きい、複雑なデータベースを実行できないことにも 注意しなければなりません。オラクル社はこの問題に自ら答えを出しました。それがOracle Enterprise Manager (OEM) です。この種のツールを使用すれば、データベース管理者の生産性が向 上します。経験の少ないデータベース管理者にとっては、その能力を補う非常に強力なツールと なります。 R e q u e s t データ R e s u l t s 問合せプロセス1 問合せプロセス2 問合せプロセス3 問合せ ディスパッチャプロセス 問合せ 結果 問合せ 要求 プロセスの起動,作業の調整 結果の組立てとマージ ユーザー 図 1-5. 問合せ処理(パラレルクエリーを使用した場合) 19 ORACLE8i ビギナーズガイド ヒント 安定したシステム管理ツールは、Oracleデータベースをスムーズ に稼動させるために不可欠なツールです。市販されているあらゆる システム管理オプションを吟味することをおすすめします。予算と 必要に応じて適切なものを選択してください。 Oracle Enterprise Managerは、システム、アプリケーション、ネットワーク、そしてデータベー スを含むOracle環境全体の管理に役立つように設計された管理ツール一式です。1つのツールでさ まざまなOracle環境を管理できるだけでなく、インテリジェントエージェントと、サードパーティ 製品の利用に役立つオープンインタフェースも含まれています。 Managerコンソールから、データベース管理者はGUIを通じてOracle環境全体を管理することが できます。Oracle Enterprise Managerコンソールの主なコンポーネントは、次の4つです。 ■ ナビゲータ すべてのネットワークノードとサービスを、ファミリーツリーのような方法 で表示し、操作できます。 ■ マップウィンドウ これを使用すれば、データベース管理者はグラフィカルにオブジェク トのサブセットを表示し、マッピングできます。たとえば、多数のOracleデータベースが 動作する大病院では、入院、緊急治療室、研究結果という3つの異なる観点からOracle環境 を見ることができます。このツールを使用すれば、非常に複雑な環境をより統合されたサ ブセットにマッピングできます。 ■ ジョブ制御システム これを使用すれば、データベース管理者は何度も繰り返し行う作業 を自動化できます。リモートサイトでのタスクを1箇所から自動化できます。たとえば、 バックアップを自動化すれば、データベース管理者はバックアップ作業から解放されて他 の仕事に従事できます。 ■ イベント制御システム これを使用すれば、データベース管理者はシステムやデータベー スイベントを遠隔監視して、事前設定されたしきい値に基づいてジョブスケジューリング システムで動作する修正ジョブを起動することができます。たとえば、データベースの空 き領域を監視するイベントをセットアップして、データベースの領域が不足しないように することができます。 管理対象のOracleデータベースではすべて インテリジェントエージェントプロセスが実行さ れます。このプロセスは、OEMに既知のデータベースを監視し、データベースのパフォーマンス に関する統計を収集し、Oracle8リポジトリに情報を格納してOEMに送り、データベース管理者 はこれを基に検査または修正アクションを行います。このエージェントを通じて、OEMはさまざ まな機能を実行できるのです。さらに、これはオープンなので、サードパーティ製品でも利用で きます。Oracle8i Serverをインストールすれば、Enterprise Managerが標準製品として付いてきま す。 20 Chapter 1 Oracle とは Oracle8i Server のオプション Oracle8iサーバーは箱から出したその状態ですでに、世界中の他のどのソリューションよりも 多くのリレーショナルデータベースのお客様に使用されている高度な次世代テクノロジです。言 わば、すでにデコレーションが施された状態のケーキのようなものです。ベース製品には、さま ざまなアドオンを追加できます。ここでは、いくつかのオプションを取り上げます。 Oracle Advanced Security Oracle Advanced Securityは、統合されたセキュリティサービスとディレクトリサービスを提供 します。Webを利用して買い物や様々な支払いを行うユーザーが増えるにつれて、インターネッ トの中を流れるセキュリティで保護された情報も増加しています。Oracle Advanced Securityを使 用すれば、各ユーザーとユーザーのアクセス権限は中央で定義されるため、複数のサーバーにシ ングルログインを使用できます。Oracle Advanced Securityは、ユーザーに付与されたOracleデー タとの対話権限がエンタープライズ全体の企業データベースネットワーク全般で適用されるよう に確保します。 Oracle Advanced Replication Oracle Advanced Replicationは、複数のリモートサイトの間でのデータの格納と分散を実現しま す。レプリケーションとは、1つ以上のサイトに格納されたデータをレプリケーション実行に参 加するサイトの間に分散する機構のことです。 それでは、Oracle8i Serverそのものについてさらに細かく考察してから、Oracle8i Serverオプショ ンのいくつかを復習し、これらのオプションが提供する機能について説明してみたいと思いま す。Oracle Serverは、オラクル製品全体および一連のアプリケーションの基盤です。データとは、 ごく単純な意味では数字や文字のことです。情報が猛スピードで広まる今、企業が生き抜いてい くためには情報へのアクセスが不可欠です。Oracle Serverは、このような重要なデータが格納さ れる場所です。ご存知のように、データや情報は、単なる数字や文字以外にさまざまな形態を取 ります。Oracle Serverと追加オプションを使用すれば、形態にかかわらず、あらゆるデータを格 納、操作および表示することができます。データには数字や文字から、ビデオ、音声、そして構 造型および非構造型など、さまざまな形態があります。Oracle Serverはこのようなデータを極め てすばやく格納および操作するためのリポジトリなのです。 Oracle Parallel Server 一部のメーカーでは、クラスタ構造をサポートしたコンピュータを製造しています。クラスタ 内の各マシンは、自分専用のメモリを持ちますが、ディスク記憶デバイスを共有します。パラレ ルサーバーオプションを使用すれば、Oracleをこのような構成で動作させることができます。ク ラスタ内の各マシンはノードと呼ばれ、これらのノードを表すのに疎結合という用語が使用され ます。図1-6に、動作方式を示します。 21 ORACLE8i ビギナーズガイド PSO=Parallel Serverオプション ノード1 ノード2 ノード3 コンピュータA PSO コンピュータB PSO コンピュータ PSO ユーザー要求 ユーザー要求 ユーザー要求 共通のディスク上に存在するデータベース 図 1-6. クラスタ内で疎結合されたノード このオプションの重要な点は、2台以上のコンピュータが同時に同じデータベースと通信でき るようになることです。これにより、ごくわずかなコストでほぼフォールトトレラントなパ フォーマンスを実現できます。何らかの理由で1台のマシンが故障しても、ユーザーを別のマシ ンに経路変更することができます。可用性は99.9%に近づきますから、ほぼフォールトトレラン トと言えます。Oracle8 Serverが使用できなくなるのは、2台のマシンが両方ともハードウェア障 害を起こした場合だけです。また、2台以上のコンピュータの処理能力を自在に利用できます。 1台のマシンで処理が追いつかなければ、もう1台マシンを追加することができます。 ヒント Parallel Serverオプションは、標準製品の一部ではなく別売です。 Oracle Visual Information Retrieval(ビジュアル情報抽出) Oracle8i Visual Information Retrieval (VIR) は、サーバーにVIRのコンテンツベースの抽出機能を 取り込みます。ユーザーは、イメージデータで一般的に使用される色やテキスチャ、パターンな どの検索基準を用いて、Oracle8iリポジトリに格納された大量のイメージデータを検索します。 Oracle8iに格納されたイメージデータの場合、ユーザーはディクショナリイメージの類似点を探 すのにデータベースの検索機能を利用できます。VIRを使用して、WindowsビットマップやTIFF、 GIF、PCXを含めた多数の一般的なファイルフォーマットの検索がサポートされるほか、フォー マット間でのコード変換もサポートされています。 22 Chapter 1 Oracle とは Oracle inter Media このオプションは、メディアリッチなアプリケーションで使用される多様なデータ型に必要と される高度なデータ管理サービスに対応します。オンラインカタログにはグラフィックスや高解 像度のイメージが散りばめられており、多くの企業リポジトリにはビジネス上の意思決定に役立 つ (グラフや地図、製品の写真など) 多様なビジュアル資料が格納されています。Oracle interMedia はOracle8iの機能を拡張して、これまでは印刷物にしか使用されなかったようなたくさんのイメー ジが詰まった資料をサポートして、インターネットビジネスに必要なリッチデータ型の管理に対 応します。interMediaオプションは実際には、複数のコンテンツ管理サービスが1つに集約された ものです。 ■ 以前のConTextオプションに基づくinterMedia Textを使用すれば、高度な検索と自然な言語 問合せを使用してテキストを検索できます。 ■ interMedia Imageは、スケーリングやクロッピングなど、標準のイメージ管理サービスを提 供します。 ■ interMedia Videoは、ビデオデジタル情報の管理格納を強力にサポートします。 ■ interMedia Audioは、オーディオデジタル情報の管理格納を強力にサポートします。 ■ interMedia Locatorには、小売アプリケーションで指定された場所からの距離や、店舗と店 舗の間での (北や南などの) 変位の性質等の空間変数に基づいて情報を探すフックが内蔵さ れています。 Oracle Spatial Oracle Spatialは、空間データの拡張管理機能を提供します。空間データとは、場所コンポーネ ントを持つデータとして定義されます。Oracle Spatialは、統合された一連のファンクションおよ びプロシージャを使用して、空間データを分析用に格納、管理および提供します。 Oracle Spatialオプションを使用すれば、空間データと属性データの両方を1つのデータベースに 格納して操作できます。標準のどのOracle8i表も、Oracle8i Spatial Dataオプション表と一緒にデー タベースに格納することができます。こうして、標準のOracleツールセットを使用していずれの 表にもアクセスできます。 空間データとは何か、Oracle8 i Serverにとって何を意味するのかを理解するために、Oracle8i Serverがその中に格納されたデータに通常どのようにアクセスするかを説明しましょう。Oracle データベースは、データベースオブジェクトに格納された表と呼ばれるデータで構成されていま す。表は、複数のデータの列で構成されます。これらのデータ列は、その表の属性です。 たとえば、表1-2に示すようなstate (州) という表があるとします。この表は6つの属性、つまり データ列で構成されています。 州名とコードにアクセスする必要があるアプリケーションの大半にとって、州知事情報に関連 した属性は興味の対象外です。ですから、Spatial Dataオプションを使用しないOracle8 Serverで 23 ORACLE8i ビギナーズガイド State_code State_name Gov_Lname Gov_fname Gov_Mi Party_Code MA マサチューセッツ Weld Bill I R CA カリフォルニア Smith Darryl E R ID アイダホ Head Potato A D WI ウィスコンシン Head Cheese A D NH ニューハンプシャー Farnham Mark O R VT ヴァーモント Jerry Ben A D RI ロードアイランド Chapman Cindy W D 表 1-2. 州を表す表の列の値 は、州名とコードに索引と呼ばれるデータベースオブジェクトを作成することが可能です。 索引とは、一般的なアプリケーションの興味対象であるデータのサブセットだけが入ったデー タベースオブジェクトです。索引を作成するときには、検索可能にする列を指定します。これら の列はキーと呼ばれます。 表1-3は、state_indexという名前の索引の例です。索引からデータを抽出したほうがずっと速い のは次の2つの理由によります。 ■ データセットのほうが小さいので検索時間が短縮されます。扱うデータの列 (属性)が少な いからです。索引のエントリは、キーを指定すればデータセット内の場所がすばやく探せ るように格納されます。 ■ このデータ検索方法は、たいていのアプリケーションには効率的に機能してきました。 データベースのサイズと索引の効率性の要素となるのがデータベースのパフォーマンスで した。非常に大きなデータベースが普及し、大型のデータウェアハウスの傾向が増すにつ State_code MA マサチューセッツ CA カリフォルニア ID アイダホ WI ウィスコンシン NH ニューハンプシャー VT ヴァーモント RI ロードアイランド 表 1-3. 州索引による州コード 24 State_name Chapter 1 Oracle とは れて、既存のOracle索引メカニズムでは新しいクラスのユーザーのパフォーマンス要件に 追いつかなくなってきました。 この新しいユーザークラスのニーズに対応するため、オラクル社はSpatial Dataオプションを開 発しました。パフォーマンスは、データセットのサイズではなく、実際に検索するデータの量に よって決まります。空間データベースでは、データが索引です。空間データベース表では、検索 対象のすべてのディメンションを特定します。Spatial Dataオプションは、これらのさまざまな ディメンションを、検索対象のディメンションすべての交差点を表す1つの値にまとめることが できます。これらのディメンションの組がすべて1つの一意な点につながります。ディメンショ ンが特定されると、データがコード化され、適切な方法でまとめられます。データへのアクセス リクエストが発行されると、関係のないデータはその問合せの対象から除外されます。データは 索引なので、対象外のデータは無視されます。つまり、1MBのデータを対象として行われる問合 せが、10MBの表や1テラバイトの表からデータを検索するのと同じ時間で実行できるわけです。 パフォーマンスに最大の影響を及ぼす要素は、対象となるデータセットです。 Oracle inter Media Text Oracle8i ServerのinterMedia Textオプションは、非構造型テキスト情報リソースを構造型データ と同じくらい迅速に管理することを可能にするテキスト管理ソリューションです。構造型データ とは、state_cd列のように列に格納されたデータです。非構造型テキストデータの例は、契約書や 雑誌の記事などです。図1-7と図1-8は、構造型データと非構造型データの違いを示しています。 interMedia Textオプションを使用すれば、SQLのようなインタフェースを使用してテキストベー スのアプリケーションを作成し、実行することができます。 スプレッドシート 図 1-7. 構造型データ 25 ORACLE8i ビギナーズガイド 地図 書籍 新聞 青写真 図 1-8. 非構造型データ 皮肉なことに、企業はこの10年ほどの間に構造型データを短時間で検索できるアプリケーショ ンの構築に資力を投じてきました。しかし、まだ世界のほとんどのデータは非構造型です。世界 のデータの9割が非構造型であることが、多くの調査からわかっています。非構造型データの例 としては、雑誌の記事やWebページ、ファックス、電子メール、契約書、マニュアルがありま す。これらのドキュメントに格納された情報がいかに重要であるか考えてみてください。データ ウェアハウスアプリケーションがすべての署名済み契約書にアクセスできたらどうでしょう。こ れまで送信したすべての電子メールからテーマごとにデータを格納し、検索できたら、とても便 利だと思いませんか。今の情報対応時代にはデータへのアクセスが鍵となります。全体の9割を 占める世界のテキスト情報を無視するなんて馬鹿げています。interMedia Textオプションを使用 すれば、Oracle8サーバーで非構造型データを扱えるようになり、世界中のデータの9割と予想さ れるデータにアクセスすることができるのです。 SQL*Plus ―― ユーザーフレンドリーインタフェース ここまでは、Oracle8 i Serverについて説明してきました。次にSQL*Plusについて説明しましょ う。SQL*Plusは、Oracleのリレーショナルデータベース内のデータに対して、定義と操作を行いま す。SQL (Structured Query Language : 構造型問合せ言語)は、すべてのデータベースベンダーが採 用している業界標準です (SQLは、 「シークェル」 と発音する人もいますが、1文字ずつ発音するこ とが多いようです) 。OracleのSQL*Plusは、標準SQLのスーパーセットになっていますが、SQL準 拠言語の標準に適合しています。一部にOracle独自の追加がなされているため、SQL*Plusという名 前になっています。SQL*Plusは以前、UFI (ユーザーフレンドリーインタフェース) と呼ばれていま した。FORTRANのような普通のプログラミング言語でプログラムを記述するのに比べて、 SQL*Plusではプログラミングが簡単です。 26 Chapter 1 Oracle とは SQL と Oracle Oracle Serverは、SQLを使用して記述した文しか解釈しません。Oracle Formsのようなツール は、データベースとやりとりする際、SQL文しか渡しません。SQLをOracleで実装したSQL*Plus は、ANSI(American National Standards Institute:米国規格協会) とISO(International Standards Organization:国際標準化機構) に準拠しています。Oracleのほとんどのツールでは、同じSQL構文 をサポートしています。 SQLは、リレーショナルモデルの能力を発揮できるよう工夫されています。データはすべてリ レーションシップによって格納されるため、行が別々になっているデータでもひとまとめにして 処理できます。SQL*Plusを使用すれば、従来のデータベースに比べて、データの検索が簡単に行 えます。たとえば、1行づつレコードを読み込む必要はありません。その代わり、エンティティ (実体)に関連したすべてのレコードを処理するプログラムを記述します。レコード自体に差はあ りません。SQL*Plusでは、ユーザーが実行するアクションはすべて、完全な集合として処理され ます。これがどのように処理されるかについては、Chapter 7とChapter 12で説明します。 ヒント すべてのベンダーは、リレーショナルデータベースに移行しまし た。リレーショナルモデルは、すっかり定着しています。 SQL*Plus:ポイントの要約 Oracleの基本プログラミング言語について学習したことを要約すると、次のようになります。 ■ SQL*Plusは、Oracle版のSQLです。 「Plus」 は、SQL言語にOracleで独自に機能を追加したこ とを示しています。 ■ リレーショナルデータベースの操作はすべて、SQLをベースとしたプログラミング言語で 行います。 ■ SQL*Plusは、ユーザーにとって使いやすい言語です。 ■ SQL*Plusでプログラミングする際は、データの集合を操作します。つまり、情報をレコー ド単位で処理することは行いません。 ■ SQL*Plusの「Plus」コンポーネントを使用すれば、役に立つレポートが簡単に作成できま す。SQL*Plusを使用したレポートの作成方法については、Chapter 7とChapter 12で説明し ます。 27 ORACLE8i ビギナーズガイド Oracle Forms ―― フロントエンド 強力なデータベースの基盤とレポート作成用の強力な言語(SQL*Plus) によるサポートを備えて いるため、Oracleが画面ジェネレータにまで手を伸ばしたのは当然の結果といえます。ほとんど のユーザーは、画面を使用してデータベースを操作するのですから。そして、このようなプログ ラムがOracle Formsです。Oracle Formsは、Developerのコンポーネントであり、Microsoft Windows (Windows 3.x、Windows 95、Windows 98、またはWindows NT)のルックアンドフィールを備え たグラフィカルユーザーインタフェース(GUI)環境で動作します。 アプリケーションの開発者は、データ入力画面と問合せ画面をOracle Formsで作成します。エ ンドユーザーは、これらの画面を使用して、Oracleデータベースのデータを操作します。ユーザー インタフェースは、イベントドリブンまたはファンクションキー/キーパッドドリブンです。 Oracle Formsで作成するモジュールには、表1-4に示すように、3つの種類があります。これらを 使用すれば、開発者およびエンドユーザーは、フォームをベースとして業務データの入力処理を 行うことができます。Oracle8 Formsでは、これら3種類のプログラムを組合せて、完璧なアプリ ケーションを作成します。このツールの詳細については、Chapter 9で説明します。 Oracle Reports ―― レポートライター 強力なリレーショナルデータベースを基盤とし、堅牢な開発ツール群を中核として、Oracleは さらに手を伸ばしました。SQL*Plusは、すばらしいレポート作成ツールですが、レポート作成だ けを目的として設計されているわけではありません。そこで、レポート作成だけを目的としたと して、OracleはSQL*QMX、RPT、Easy*SQLなど、各種のツールを開発しました。Oracle Reports (およびその前身であるSQL*Reportwriter) は、Developerのコンポーネントであり、Oracleの基幹と なるレポートライターです。Oracle Reportsについては、Chapter 9で説明します。 Oracle Reportsは、SQL*Reportwriterの機能を継承してOracleバージョン6で登場したツールで す。SQL*Reportwriterでは、開発者によるレポートの設計とエンドユーザーによるレポートの実 プログラムの種類 内容 フォーム Oracleオブジェクト内のデータに関して、更新、作成、および削除が 行えます。 メニュー 各種のメインメニューを定義します。また、任意の数のサブメニュー から構成されるサブセットを定義することもできます。 ライブラリ Oracle Forms内の他のタイプのモジュールからアクセスされるPL/ SQLコードを集中的に管理するリポジトリです。 表 1-4. Oracle Forms のモジュールの種類 28 Chapter 1 Oracle とは 行の両方に対応したレポート作成環境を提供していました。しかし、Windowsベースでマウスを 使用したインタフェースをユーザーが強く望んだため、進化してOracle Reportsになりました。 Oracle Reportsを使用すれば、Oracleデータベース内のデータを使用して、グラフィカルなレポー トを作成できます。 Oracle Reports(最初はバージョン2.0)は、本当の意味でのマルチメディアレポート作成環境で す。イメージ、サウンド、およびチャートを取り込むことができ、各種の色やフォントを使用し てレポートを作成できます。Oracle Reportsを使用すれば、ポピュラーなレポート出力スタイルを 簡単に作成できます。その強力なデフォルト機能を使用すれば、開発者はプログラミングをほと んど行わなくても、マスター/ディテールレポート、マトリックスレポート、およびフォームレ ターを作成できます。 マスター/ディテールレポート マスター/ディテールレポートを設計する際、プログラマはレポートを構成するデータの階層 を定義します。つまり、まず第1レベルのデータをすべて表示し、次はそれらに関連する第2レベ ルのデータを表示し、...というように定義します。次に示す簡単なマスター/ディテールレポー トでは、自動車メーカーを例にしています。このメーカーのことを、マスターといいます。マス ターを1つ表示すると、それに関連するディテール情報がすべて表示されます。 メーカー: モデル 日産 Quest Maxima Ultima メーカー : モデル Safari Impala TransAm スタイル 価格クラス ミニバン セダン スポーツ D G F スタイル 価格クラス ミニバン セダン スポーツ D G F GM マトリックスレポート マトリックスレポートでは、行と列の値をラベルとして使用します。たとえば、次のような データの集合を考えてみましょう。 販売員 4 半期 ノルマ 10 10 1 2 500 400 29 ORACLE8i ビギナーズガイド 20 20 20 30 30 1 2 3 2 3 600 900 350 900 235 このデータは、マトリックスレポートでは次のように表示されます。 1 500 600 10 20 30 2 400 900 900 3 350 235 4半期の列の値が列の見出し、販売員の番号が行の見出しになっている点に注意してください。 フォームレター フォームレターでは、データベースから情報を取り出し、その情報をレターの本体に取り込み ます。データベースからは、名前や住所といった簡単な情報だけを取り出す場合もあれば、レ ターの本体に記載するテキストを取り出す場合もあります。次に示す例では、イタリック体のテ キストは、データベースに格納されている情報に基づいて印刷されています。レターの本体に記 載されている太字でイタリック体のテキストも、データベースから取得しています。 ... Dear This ... Dear This . . . Ms. Stroud: is to inform you that ...... no later than the end of May, 2004. Mr. Flaherty: is to inform you that ...... no later than the middle of July, 2004. ヒント Oracle Reportsはレポートライターです。SQL*Plusとは異な り、グラフィック指向が非常に強くなっています。コンピュータの パワーとマウスを使用すれば、きわめて説得力のあるレポートを、 ポイント&クリック操作で作成できます。 30 Chapter 1 Oracle とは SQL*Loader Oracleには以前、ODL (Oracle Data Loader) と呼ばれる特殊なツールがありました。これが時を 経てSQL*Loader(Oracle Loaderとも呼びます)に進化し、Oracleのデータベースにデータを高速に ロードできるツールになりました。このツールは標準のツールセットの一部として入手できま す。このようなツールは、Oracleのデータベースにとって非常に重要です。世間には、従来型の アプローチを使用しているユーザーが、まだ非常にたくさんいます。ほとんどの人がリレーショ ナルデータベースは優れたツールであると認識してはいるものの、従来型システムをリレーショ ナル型システムに移行するには、既存のシステムのデータを変換しなければなりません。そこで 登場するのが、SQL*Loaderです。これは、Oracleのデータベースにデータを移行するためのツー ルなのです。 ヒント SQL*Loaderは、データウェアハウスにデータを移動する必要があ る場合には非常に便利なツールです。 他の優良ベンダーと同様に、オラクル社もニーズに応える製品を提供し続けています。従来の データベースからリレーショナルデータベースにデータを移行するためのツールには、非常に強 いニーズがあります。また、従来のデータベースにリレーショナルデータベースからアクセスで きるようにするツールにも、強いニーズがあります。 Oracle Open Gatewaysには、Oracle Transparent Gateways、Oracle Procedual Gateways、そしてOracle Access Managersという3つの製品ファミリーがバンドルされています。外部データソースにSQL コマンドを実行したり、外部データソース上でプロシージャを実行するなど、幅広い機能があり ます。つまり、オラクル社の製品群は接続性で他社のどの製品よりも優れています。 また、Developer製品群でデータをOracleのデータベースに移行すれば、その内容を操作するた めのレポートや画面を簡単に生成できるのは明らかです。しかし、この移行に何年もかかるかも しれないのも現実です。SQL*Loaderのように既存のデータをOracleに移行するためのツールや、 SQL*Connectのように従来型データベースとやりとりするためのツールを、オラクル社ではすで に開発済みです。 31 ORACLE8i ビギナーズガイド 自社のツールを使用した オラクル社の社内アプリケーション オラクル社は、時が経つにつれ、市販の汎用アプリケーション分野が大きな市場であることに 気付きました。そこで、オラクル社は、財務アプリケーションの開発に着手しました。このこと (つまり、オラクル社自体で使用するのと同じ製品を、Oracleのカスタマーが使用する) は、オラ クル社を取り巻く残りの環境に、2つの点で重要な影響を与えました。 まず、オラクル社が自社のツールを実際に使用してアプリケーションを作成したことです。そ れらのツールは、自社でどんどん使用され、改良が重ねられました。オラクル社は、まさに自社 のツールにどっぷり浸った生活を開始したのです。自社のツールは、使い込むほどに改良点が検 出されました。そのため、それらのツールの品質と機能は、ごく短期間に大幅に向上しました。 次に、リレーショナルデータベースモデルを基盤としたアプリケーションの作成を開始すると 同時に、オラクル社が自社のソフトウェアを自社の基幹業務(給与計算など) に使用し始めたこと です。これによって、オラクル社のデータベースソフトウェアの拡販に拍車がかかり、オラクル 社が開発した新しいテクノロジを企業が続々と使用し始めました。 オラクル社は今日、会計から製造、業種に固有なソリューションまで、すべての主要な製品領 域に各種のアプリケーションを提供する部門を設けています。また、教育から製薬まで、さまざ まな産業に対してソリューションを提供しています。 Oracle Designer Oracle Designerは、Oracleのクライアントがシステムの設計、プログラミング、実装、および保 守を行う際に必要となるソリューションを提供します。これらを使用すれば、クライアント/ サーバーのWindows環境でアプリケーションを短期間に開発できます。Designerの高度な機能で は、BPR (ビジネスプロセスリエンジニアリング) と、Oracleのデータベースエンジンを使用して 処理できるような処理をサーバーに処理させる機構をサポートしています。DesignerはOracle Serverと強く統合されていて、データベースに格納されている同じレジストリを共有します。 Oracle Designerの主なコンポーネントは、次の3つです。 ■ Business process reengineering ■ Modellers ■ Generators Oracle DeveloperとOracle Designerは同じ情報のリポジトリを共有するため、情報のやりとりは ほぼシームレスに行われます。必要条件を収集して情報を記録すると、リポジトリに移入されま す。次に、その情報に基づいて、モデルが作成され、コードが作成されます。フォームが作成さ 32 Chapter 1 Oracle とは れると、共通のリポジトリが利用されます。 アナリストとOracle Designerの間のインタフェースは、レポート作成およびフォーム作成用の Oracleの最新の開発ツールに搭載されているような、Net8の共通のGUI機能によってサポートさ れます。小さなワークグループ単位で開発できるので、数百というユーザーに簡単にアプリケー ションを配布できます。Oracle Designerには、コードの自動生成機能だけでなく、ソフトウェア の自動配布機能もあります。オラクル社の開発製品すべてに組み込まれているPL/SQLにより、 Oracle DesignerとOracle Developerでは、クライアントとサーバーの両方で同じプログラム開発環 境を使用できます。Oracle Designerでサポートしている広範な業務モデル機能を使用すれば、企 業は簡単なものから複雑なものまで、あらゆるシステムを構築できます。Oracle Designerは、オ ラクル社が提供する次世代のCASE (Computer Assisted Software Engineering : コンピュータ支援に よるソフトウェアエンジニアリング)製品群です。 Oralce Reports Generatorは、Oracle Designerリポジトリの情報を基にOracle Reportsを作成します。 システムの成長と変化に応じて、レポートを作り直します。ディクショナリに行われた変更はレ ポートを通じて伝えられます。 Personal Oracle8i これはOracle8iデータベースの成熟バージョンで、みなさんがご使用のサーバーに配備された Oracle8i Enterprise Editionと強固に統合されています。企業の中には、サーバーから配備作業の負 担を無くして、プログラマや他のシステム担当者がネットワークの複雑さに煩わされることなく 仕事ができるようにした所もあります。Oracle8i Navigatorを使用して、ユーザーからの要望が強 い標準のドラッグアンドドロップ操作でオブジェクトを管理することができます。Personal Oracle8iの推奨ハードウェア構成は、メモリ64MB、ディスク容量350MBと極めて軽量です(監修 者注:これは、Oracle8i Personal Edition for Windows 98 R8.1.5を使い、「最小」 インストールを行っ た場合の値です)。Personal Oracle8iレプリケーションサービスを使用する場合には、必要なメモ リやディスク容量はもっと増えることになります。レプリケーションサービスを利用すれば、複 数のノードにデータのコピーを保持して、サイト間で変更を伝播することができます。 Personal Oracle8iを使用すれば、全く新人の (何も経験のない) DBAでも、現実の企業データベー スネットワークの動作を阻害することなく、すぐにデータベースの技術的な詳細を扱えるように なります。DBAにとって特に重要なのは、レプリケーションやスナップショット技術などを備え たオラクルの分散システム機能です。スナップショットとは、格納され、定期的に別の場所でリ フレッシュされる1つのサーバー(Oracle8 i Enterprise Editionの場合)、または1つのPCのデータの 読取り専用コピー(Personal Oracle8iの場合)のことです。 33 ORACLE8i ビギナーズガイド Oracle Discoverer Oracle Discovererは、オラクルの意思決定支援ソリューションの主なコンポーネントであるデー タ分析ソリューションを企業ユーザーに提供します。エンドユーザーは、Oracle8iデータベース に渡される基礎となるSQLについて何も知らなくても、高度な問合せを作成できます。SQLは、 構造型問合せ言語(Structured Query Language)の略で、リレーショナルデータベースの業界標準 であり、ほとんどのベンダーのデータ操作および定義向けの製品の基盤となっています。Oracle Discoverer出力はボタンをクリックするだけで、Webに公開できます。 Oracle Discovererの管理者は、エンドユーザーレイヤーを定義してから、ビジネスグループに 企業データの同じビューまたは異なるビューを表示します。エンドユーザーは、リレーショナル データ定義とその基礎となる関係の複雑さを意識する必要はありません。オラクルは、製品にリ ソース管理機能を組み込んでいるため、必要に応じて、非定型問合せを実行するユーザーによっ てサーバーにもたらされる追加の作業負荷を軽減することができます。リリース3.1は、Windows 95/98およびNTに対応しており、Web対応Oracle Discovererを通じて他のプラットフォームにも アクセスできます。 Oracle8i Lite Oracle8 i Liteは、モバイルコンピューティングアプリケーションシステム分野の製品です。 Oracle8i Liteは、モバイルアプリケーションの開発、配備、および管理を簡略化します。ユーザー は多様なPDA (パーソナルデータアシスタント)やモバイルパーソナルコンピュータ (ノートブッ クやラップトップ) を使用して、どこからでもOracle8 iデータベースに格納された情報にアクセス できます。 どこからでも企業データベース情報にシームレスにアクセスできることで、オフィスを出る前 にデータのスナップショットを読み込む必要もなくなり、外出中に情報が更新されて古くなって しまう心配もなくなります。Oracle8 i LiteはJavaに対応し、Windows 95/98/NT、Windows CE、 およびPalm Computingプラットフォームをサポートしています。モジュール形式のデータベース カーネルはわずか50∼750KBで、安全なデータおよびアプリケーションの同期化機構を備えてい ます。Oracle8iのインターネット向け機能についてはChapter 2で説明します。 サービス オラクル社のサービス部門も、次のようにさまざまなサービスを市場に提供しています。 ■ オラクル社の広範な製品群だけでなく、リレーショナルデータベースのモデリング、設 計、および分析理論の一部についても、Oracle Educationの熟練したインストラクタが説明 します。Oracle Educationでは、全製品とアプリケーションをカバーする幅広いトレーニン 34 Chapter 1 Oracle とは グコースを提供しています。受講前にコンピュータ支援トレーニング(CBT) 電子メディア を介した自習形式の予習を受けることも可能です。世界各国にある50か所のセンターで は、エンドユーザ、開発者、アナリスト、そしてIT (情報技術) 管理者向けに講義と社内ト レーニングを提供しています。 ■ オラクル社の製品とオラクル社のパートナーのテクノロジを使用した業務システムの構築 を、Oracle Consultingの実績のある専門家がいつでもお手伝いします。オラクル社の製品 と一緒に使用できるような製品を独自に開発/販売している複数の会社が1つのネットワー クを形成しています。オラクル社は、これらの会社とパートナーシップを結んでいます。 専門的な指導と技術移行を行うことによって、カスタマーに貴重なソリューションを提供 します。ビジネスプロセスリエンジニアリングの実施、オープンシステムへの移行、アプ リケーションの開発など、各種の問題についてサポートします。Oracle Consultingでは、 経営 (戦略計画など) 、技術(パフォーマンスのチューニングなど) 、開発 (カスタムシステ ムなど) 、およびOracleアプリケーションの実装といったサービスを提供します。Oracle Consultingの方向性を示す文書では 「世界とIT業界に影響を及ぼす問題に関する記事を通じ て、示唆に富むアイデアの交換を可能にする知識のイニシアチブ」を誇ると書いてありま す。 ■ Oracle Consultingは次のような分野で数多くのサービスを提供しています。 ■ コミュニケーション、消費者向け製品、エネルギー、財務、工業の分野での業界 の専門知識を提供します。 ■ 移行の問題と再使用性を促進する中央でのリポジトリベースのソリューションを 重視したOracleアプリケーションの実装。 ■ 構成プラン、実装サービス、システムのアップグレード、パフォーマンスチュー ニング、継続的なシステム監査を含むEnterprise Serverテクノロジのサポートを専 門とするスタッフによるコアテクノロジ/OLTP(オンライントランザクション処 理)サービス。 ■ 意思決定支援 (いわゆるデータウェアハウジング)サービスでは、Oracleウェアハウ スソリューションを使用します。最先端の分析製品に精通したOracle Consultingな らではのサービスです。 ■ インターネットと電子商取引サービスを担当するスタッフは、セキュリティの要 件に対応しながら、クライアントのニーズを満たし、容易なアクセスを提供する インターネットベースのモデルシステムを実現します。 ■ カスタム開発サービスでは、プロフェッショナルで構成されたチームが実証済み の方法を使用して納期以内に確実にシステムを完成させます。OracleのWeb対応開 発ツールを使用して、システムを土台から構築するか、客先の専門家と協力して システムの構築を進めます。 35 ORACLE8i ビギナーズガイド ■ ビジネスソリューションサービスの担当者は、お客様と協力してビジネスプロセ スの再構築と改善に取り組みます。 ■ Oracle Oneは、各分野で最高の技能を持つOracleチームのコンサルタントとの連絡 を容易にします。オラクルの専門コンサルタントは、多様な地域や文化圏で大手 の国際的な組織で長年経験を積んだプロばかりです。 ■ プロジェクト/プログラム管理サービスは、企業がビジネスニーズに変化に対応 し、顧客を拡大する情報技術プロセスの開発を手助けします。 ■ オラクルのハイパフォーマンススケーラブルソリューションサービスは、Oracle8i Serverテクノロジのハイエンドコンポーネントを対象としたオラクルテクノロジ、 すなわち、Oracle Parallel Server(OPS)とMPP(大量パラレル処理)アーキテクチャ を実装します。OPSは、複数のコンピュータがディスク領域を共有し、同じデー タベースにアクセスすることを可能にします。MPPシステムは、複数のCPU (中央 処理装置)を持つハイエンドコンポーネントを処理します。 ■ Oracle Customer Supportのアナリストは、オラクル製品の保守と充実の面でお客様 に技術的な助言を提供します。年中無休のパーソナライズされたサービス (Oracle Gold) から、WebのMetaLinkと呼ばれるプライベートサポートフォーラムを通じた オンライン電子サポートに至るまで、お客様のニーズに合わせた多様なレベルで サポートサービスを提供しています。 注意 MetaLinkにアクセスできるかどうかは、現在のオラクルとのサ ポート契約によって異なります。MetaLinkへのアクセスは自動的 には有効になりませんが、MetaLinkを利用する権利のあるお客様 は無料でメンバーになることができます。 ■ Oracle Partner Programでは、オラクルテクノロジを使用してシステムソリューショ ンを作成し、業界の特定のベンダーと協力して重要な問題を特定します。このプ ログラムでは、業界の専門家と協力して、ビジネスシステムの目標を細かく分析 し、企業が競争を一歩リードする上で役立つシステムを構築します。21世紀にイ ンターネットモデルベースのソリューションの普及が拡大すると予想される中 で、このプログラムの重要性はますます高まると思われます。 これらのサービス領域は毎年拡大されています。オラクル社のサービスを使用すれば、カスタ マーはOracleのコオペラティブサーバー技術を使用した信頼性のある最新鋭のテクノロジを実装 できます。各種のサービスは、ノウハウの移行と継続的なシステムソリューションがOracleの専 門家とのパートナーシップから得られるよう、細かく用意されています。 36 Chapter 1 Oracle とは Oracle ユーザーグループ ―― イベントと出版物 Oracleユーザーグループは世界中に多数あり、イベントも世界中で多数開催されています。オ ラクル社(とそのユーザーグループのコミュニティ)は、南北アメリカ大陸 (Americas) 、ヨーロッ パ/アフリカ/中東 (Europe/Africa/Middle East) 、アジア-環太平洋 (Asia-Pacific) という3つの地 域をベースにして展開されています。これら中心となるすべてのユーザーコミュニティの連絡先 は、シカゴにあるInternational Oracle Users Group (IOUG) -Americas(http://www.ioug.org、1(312)2451579)にお問合せください。 世界中にあるユーザーグループは、定期的に集まり、Oracleの使用方法に関連した技術的な問 題点について論議しています。ユーザーコミュニティ、サードパーティベンダー、およびオラク ル社からは、Oracleに関連した広範なテーマについて、各種の発表会が開催されています。 3つの地域のユーザーグループの中心となる連絡先は、米国、オーストリア、およびオースト ラリアにあります。それぞれの地域ではOracleコンファレンスが1年に1回以上開催されています が、規模の最も大きいのは次のものです。 ■ 北アメリカが開催するIOUG- A Live。通常は、毎年春に米国で開催されます。 ■ アジア-環太平洋 (Asia-Pacific) ユーザーフォーラム。オーストラリアまたはニュージーラン ドで、通常は毎年11月に開催されます。 ■ ヨーロッパ/アフリカ/中東 (Europe/Africa/Middle East) が開催するEuropean Oracle User Forum(EOUF)。通常は、毎年3月または4月に開催されます。 世界中にある多数のOracleユーザーグループでは、オラクル社の製品とサービスに関する記事 を掲載したニュースレターや雑誌を発行しています。たとえば、IOUG-Americasでは、『Select』 と いう雑誌を年に4回発行しています。英国のOracleユーザーグループでは、 『Relate』 という雑誌を 年に4回発行しています。 日本ではJOUG(Japan Oracle User Group:日本オラクルユーザ会)があります。JOUGでは 『オラ クル・マガジン』 という会報を年に4回発行しています。JOUGが主催する年1回の定期総会では、 ユーザーによる事例紹介や研究発表、さらに米国オラクル社の製品企画・開発担当者によるセミ ナー等も実施されます。また、国内外のオラクル社、販売会社における技術担当者によるテクニ カルプレゼンテーションおよびミニ教育セミナーが行われ、Oracleに関連するすべての人が直接 コミュニケーションできる場として利用することができます。そのほかに、各種分科会、ユー ザー研究会も実施されています。 37 ORACLE8i ビギナーズガイド Oracle のデータウェアハウジング 現在、われわれは情報化社会に生きており、その情報はビジネスの原動力となっています。今 や企業はこぞってデータウェアハウスやデータマートの構築に着手しています。本書では、デー タウェアハウスやデータマートとは何かを概説し、データウェアハウス戦略をビジネスに導入す る最善の方法に関する最近の考察について説明します。次に、テクノロジについて触れ、Oracle の新しいデータウェアハウジング機能を説明します。Chapter 19の目標は、データウェアハウス をサポートするのに役立つOracleの概念と主な機能を理解するために必要なすべてを読者のみな さんに知ってもらうことです。 次は ... この章を読み終えた今、読者の皆さんは、オラクル社自体とその製品について、基本的な知識 を習得できたことでしょう。そして、オラクル社のルーツがデータベースにあることがおわかり いただけたと思います。オラクル社はそれをベースにして、一貫したサービスを提供するベン ダー(PCからIBM 3090までのコンピュータ上で動作するデータベースを提供するベンダー)に成 長したのです。また、オラクル社は、上位にも下位にも完全に移行できる中核のツールセットも 提供しています。さらに、オラクル社は、ターンキーアプリケーション、コンサルティング、教 育、およびWeb対応アプリケーションのような新しいテクノロジなど、一貫したサービスを提供 するプロバイダでもあります。さて、これであなたも仲間です。次に進みましょう。 38