Comments
Description
Transcript
ORACLE8 トラブルシューティング
まえがき 変化の激しい今日のテクノロジの世界では、グローバル化、競争によるプレッシャー、ダウン タイム (不稼動時間)のコストなどからの影響で、企業の情報システムに対する要求が高まり、高 い可用性だけでなく、テクノロジの限界を超えることさえ要求されています。そして、サービス を提供する側の組織にとっては、それが大きな課題になっています。迅速なサービスというパラ ダイムだけでは、もはや十分なソリューションを提供することができない状況です。どのような 業務を遂行する上でも、積極的な先取りのアプローチが必要になっています。 Oracle Support Services (OSS) で調査した結果、「運用上の障害の多くが、ネットワーク、アプリ ケーション、およびシステムの不適切なセットアップや、データベースのインストール/管理に 関するDBAのスキル不足に原因がある」 ということが判明しています。問題のほとんどは、デー タベース管理者が予期しなかったような状況で発生しています。データベース管理者やアプリ ケーションの技術専門家は、限られた時間内に問題を解決しなければなりません。また、問題自 体の特質にもさまざまなレベルがあります。そのため、問題の解決という作業は、困難でフラス トレーションの多い、大変なタスクになる可能性があります。問題自体は多岐に渡っています。 しかし、科学的なアプローチを採れば、その原因を簡単に追跡できるかもしれません。 ほとんどのデータベース管理者/システム管理者は、さしせまった問題をできるだけ簡単に解 決したいはずです。ソリューションをインプリメントするための時間が限られている場合は、特 にそうです。Rama Velpuri氏とAnand Adkoli氏のOSSでの勤務年数を合わせると、14年になりま す。そこで両氏は、Oracleのデータベース、ツール群、および接続性に関するトラブルシューティ xi ORACLE8 トラブルシューティング ングと問題解決の分野で、豊富な知識をユーザーと共有する作業に着手しました。 この『ORACLE8トラブルシューティング』 では、当社のアプリケーションチーム(Worldwide Solutions Support Group;WSSG) が両氏に協力し、Oracleアプリケーションサーバーでのトラブル シューティングについて、いくつかのヒントやテクニックを提供しています。問題に遭遇した場 合は、本書を見れば、診断・解決を最善の方法で、最短時間で実施することができます。そのた め、平均回復時間(MTTR)を短縮することができます。 以上のような理由から、本書は、アプリケーションの開発者、データベース管理者、システム 管理者、ネットワーク管理者、Oracle Support Servicesのアナリスト、および問題解決時に援助を 必要とするすべてのOracleユーザーにとって必携の書と言ってよいでしょう。 Oracle Support Services Education Services Business Online Services 上級副社長 Randy Baker xii 謝辞 本書の執筆というアイデアをはじめて提案したとき、Randy Baker氏(Oracle Support Services、 Education Services、Business Online Servicesの上級副社長) は、我々を励ましてくれました。また、 本書のPartⅡにすすんで寄稿してくれ、我々を助けてくれました。氏が力を貸してくれなかった ら本書は完成しなかったかもしれません。 本書の執筆期間中は、Oracle CorporationのOSSのアナリストや開発者の多くに助けてもらいま した。製品部門の開発者であるNorman Woo、Scott Mckinley、Steven Breyer、Rita Morin、Steve Bower、David Wong、Daniel Ryan、Marcus MacNeill、Paul Turner、Darek Kozlowski、Gael Turk、 Amrish Srivastava、Dattatri Ramanna、およびShivkumar Narasaihには、特に感謝します。本書のさ まざまな章をレビューしてくれ、貴重なフィードバックをしてくれました。 また、OSSのZeke Duge、Ming-Bong Lee、Christian Shay、Preeti Somal、Lisa Giambruno、Bimal Patel、Poonam Gupta、Lawrence To、Roderick Manalac、およびRanu Sharmaには、意見を述べて くれたことに感謝します。 本書に直接的あるいは間接的に貢献してくれた人もいます。Sharon Castledine、Simon Slack、 Per Brondum、Greg Lawson、Steve Essery、Richard Powell、Andrew Beecroft、Lalji Varsani、Adam Fleet、Philip Heagney、Russel Hodgson、Martin Hall、Jose Aphang-Lam、Probal Shome、Raghu Viswanathan、Robert Pearson、およびMichael Husseyに感謝します。 本書のPartⅡに貢献してくれたWSSGのメンバーには特に感謝します。Jonathan LukとBetsy xiii ORACLE8 トラブルシューティング Mooneyは、PartⅡに貢献してくれました。Joanne Bersamin、Chinmaya Sahu、Loi Tsang、Salim Ahmed、Susana Fong、およびKurt Larsenも貴重な貢献をしてくれました。Joanne Bersaminには特 に感謝します。彼は、OSSの20名を超える人々のコーディネート、コンサルティング、および Oracle Corporationでのアプリケーション開発を担当してくれました。 Osborne/McGraw-Hillのクルーたち(Scott Rogers、Jeremy Judson、Jody McKenzie、Nancy Crumpton、および制作スタッフ全員)にも感謝します。 Anu VelpuriとDeepak Aatreshにはサポートしてくれたことに感謝します。 xiv はじめに Oracleの顧客は今日、高い可用性を追求すると同時に、テクノロジの限界を押し広げようとも しています。しかし、そのような動きは、異種混合ネットワークの多様性、クライアント/サー バーアーキテクチャへのトレンドの高まり、およびカスタムアプリケーションの利用によって、 ますます複雑になりつつあります。顧客からのそのような要求に応えるために、オラクル社は世 界中の市場で製品の範囲を広げようとしています。しかし、サービスを提供する側の組織 (Oracle Support Services〔OSS〕 など) では、世界中の顧客に高品質のサポートを提供する必要から、プレッ シャーが増大しつつあります。OSSでは毎週、顧客から何千という問合せを受けています。我々 の経験から判断すれば、OSSに寄せられる技術的な問題の80%は、Oracleの製品に関する20%の知 識で解決することができます。本書は、この20%の知識を世界中のOracleユーザーに提供するも のです。本書は、Oracleデータベースとツール、およびOracleアプリケーションサーバーという2 つの部分に大きく分れています。本書では、問題解決に役立つような情報を念入りに整然と紹介 しています。そのため、多くの読者に喜んでもらえるはずです。そして、Oracleの製品を初めて インストールする場合でも、Oracleの製品に障害が発生した場合でも、問題を短時間で解決する ことができます。また、 「措置を事前に講じることによって問題の発生を防止することが重要」 と いう点も強調してあります。OracleのOSSのアナリストは、本書を読むことにより、高品質のサ ポートを世界中に一貫して提供することができるでしょう。 xv ORACLE8 トラブルシューティング 対象読者と記述範囲 本書には、アプリケーション開発者、データベース管理者、ネットワーク管理者、システム管 理者、Oracleソフトウェアのインストールに従事するあらゆる人、および各サイトで問題の解決 に従事する人に役立つような、実用的な情報が記載されています。本書では、Oracleの多数のマ ニュアル、テクニカルインフォメーション、および長年の経験に基づいた有用な情報を、簡単に 取得することができます。本書では、OSSの全アナリスト、およびOracleの製品を現在使ってい るか、あるいはこれから使おうとしている個人や企業を対象としています。そのため、ネット ワーク接続に関する概念を基本的に理解しており、オペレーティングシステムの使用方法を十分 に把握していることが前提になります。ただし、インストールに関する基本的な問題も、本書に は記載してあります。そのため、熟練度を問わずあらゆるOracleユーザーに利用していただけま す。 本書の使い方 本書は、2つのパートから構成されています。PartⅠ (Chapter 1∼Chapter 8) では、インストール に関するヒントとトラブルシューティングのテクニックを、オペレーティングシステム (デスク トップシステム∼UNIXシステム) 別に紹介します。Oracleの製品をセットアップする際の予防措 置に関するヒントも、このPartⅠで紹介します。また、一連のプリコンパイラ、Developer/2000、 Designer/2000、Net8といったポピュラーなOracle製品についても説明します。もちろんRDBMSに ついても説明します。PartⅠの一連の章では、Oracleに関する問題の診断/解決を実施するための 実用的な情報を紹介します。本書のPartⅡ(Chapter 9、Chapter 10)では、インターネットコン ピューティングの概要、Oracleのインターネットコンピューティングアーキテクチャ (ICA)、お よびI C A環境でトラブルシューティングを行う際のヒントを紹介します。そして、O r a c l e Application Server (OAS) に焦点を当て、OASのアーキテクチャとインストール時の問題について 説明します。最後のChapter 11では、OSSの内部プロセスとOSSから提供されるさまざまなものに ついて説明します。この章を読めば、OSSの一連のサービスをうまく利用し、よりよいサポート が受けられるようになるはずです。 本書には、顧客サポート用のデータベースに格納されている数百ものTAR (顧客からOSSに寄せ られたTechnical Assistance Request)の内容をもとにした「FAQ (よく尋ねられる質問事項とその回 答)」 という節を各章の末尾に設けてあります。 本書を1章ずつ順番に読む必要はありません。読みたいところから読んでください。PartⅠで は、Oracle製品のインストール先プラットフォームの章や、使用している製品に関する章からい きなり読んでもかまいません。ただし、PartⅡでは、Chapter 10を読む前に、Chapter 9を読んだ方 がよいでしょう。また、OSSとやり取りするユーザーはすべて、本書の最後の章 (Chapter 11)を 読むべきです。この章はいつ読んでもかまいません。 xvi はじめに 問題が発生したら、自分のプラットフォームや製品に関連した章を直接参照してください。そ の際は、該当する章全体を読む前に、その章のFAQ (よく尋ねられる質問事項とその回答) をまず チェックした方が得策かもしれません。お薦めする方法としては、自分のプラットフォームや製 品に関連した一連の章にまず目を通しておき、問題が発生した時点でそれらの章を参照して問題 を解決するのがよいでしょう。 Chapter 1「予防保守: MS Windows NT の場合」 MS Windows NTのプラットフォームにOracleの製品をインストールする際に発生しやすい問題 の防止方法について説明します。また、Oracleの製品を実行するためのWindows NTのチューニン グ方法も紹介します。 Chapter 2「予防保守: MS Windows 95 の場合」 重要なインストールファイル、設定が必要な環境変数、およびインストール時のテクニックに ついて説明します。また、MS Windows 95のプラットフォームにOracleの製品をインストールす る際の問題を防止するためのヒントも紹介します。インストール前およびインストール後の チェック方法も紹介します (監修者注:本書ではWindows 95の使用を前提に説明していますが、 オラクル社の最新世代のほとんどの製品はWindows 98でも使用できます。詳しくは、次節 「Oracle データベース製品のWindows 98対応について」を参照してください) 。 Chapter 3「予防保守: Solaris の場合」 重要なインストールファイル、Sun SPARC Solaris 2.xサーバーの構成処理、設定が必要な環境 変数、およびインストールのタイプ (スタンドアロン、クライアント/サーバー)について説明し ます。また、SolarisにOracleの製品をインストールする際に発生しやすい各種の問題も紹介しま す。 Chapter 4「予防保守: UNIX の場合」 UNIXシステムの構成処理について説明し、セマフォ、共有メモリ、コアダンプといったUNIX システムでお馴染の事柄について説明します。Oracle製品のインストール先がSolaris以外のUNIX システムである場合は、この章を参照してください。ただし、UNIXサーバー上でSun Solaris 2.5 が動作していない場合は、Chapter 3を参照してください。 Chapter 5「問題解決: RDBMS」 パフォーマンスのチューニング、およびバックアップとリカバリに関する方針について説明し ます。Oracleで発生しやすいエラーとOracleの診断機能を、項目ごとにまとめてあります。そのた め、どのようなOracle DBAでも問題を確実にすばやく解決することができます。 xvii ORACLE8 トラブルシューティング Chapter 6「問題解決: 接続性」 Net8の主要なコンポーネント、およびサーバー/クライアントでのNet8のインストールと構成 処理について説明します。また、Net8のアーキテクチャ、マルチスレッドサーバー、およびOracle Namesについても説明します。そこでは、Net8のトレースファイルを作成したり、その内容を解 釈したりする際のテクニックも紹介します。さらに、この章では、ODBCに関連した接続性に関 する問題についても説明します。発生しやすいエラーや、そのようなエラーの対策方法もわかり やすく紹介してあります。 Chapter 7「問題解決: アプリケーション開発ツール」 Developer/2000とDesigner/2000のインストールおよび移植に関するヒントを紹介します。また、 この章では、Developer/2000に固有な印刷およびフォント関連の問題など、発生しやすい一連の 問題についても説明します。さらに、アップグレード時のテクニックについても包括的に説明し ます。 Chapter 8「トラブルシューティング: Oracle のプリコンパイラ」 プリコンパイラを使ったプログラム開発およびサポートされているコンパイラについて説明し ます。また、CHARおよびVARCHARデータ型での一般的な “ミス” や、浮動小数点数の扱い方に ついても説明します。さらに、大きなデータ (64KBを超える) の処理方法についても説明します。 Chapter 9「インターネットコンピューティングアーキテクチャ」 インターネットコンピューティングの概要について説明し、Oracleのインターネットコン ピューティングアーキテクチャ (ICA)とICA環境でのトラブルシューティングについて説明しま す。 Chapter 10「Oracle Application Server」 OASアーキテクチャの概要について説明します。そして、OAS内での問題の切り分け方と一般 的な問題について説明します。また、インストール、リスナー、Web Request Broker(WRB) に関 するトラブルシューティングについても説明します。さらに、OASでのロギングやセキュリティ などについても説明します。 Chapter 11「Oracle Support Services との効果的な連携」 OSSと効果的にやり取りし、サポート契約の投資効果を向上させるための方法について説明し ます。そして、米国内のOracleの顧客から収集した最適な実践方法と、サポート組織から最適な サービスを得るための方法を紹介します。 xviii はじめに Oracleデータベース製品のWindows98対応について Oracle8 Client 関係 Oracle8 リリース 8.0.5からWindows98に対応します。リリース8.0.4までの製品については Windows98での利用はできません。ただし、Oracle8 Personal Edition R8.0.4についてはスタンドア ロンでの使用条件付きとなります。 ■ Oracle8 Enterprise EditionとOracle8 Workgroup Serverのクライアント (主要なコンポーネントのバージョンは以下のとおり) ■ Pro*C/C++ 8.0.5以降 ■ Pro*Cobol 8.0.5以降 ■ Oracle Objects for OLE 2.3.0.2以降 ■ ODBC Driver 8.0.5以降 ■ SQL*Plus 8.0.5以降 ■ Net8 Client 8.0.5以降 ■ Oracle Enterprise Manager 1.6以降 ■ Oracle Enterprise Manager Performance Pack 1.6以降 ■ Advanced Networking Option 8.0.5以降 ■ Oracle8 Personal Edition R8.0.4 Windows 98対応の条件 ■ Oracle8 Personal Edition R8.0.4のCD-ROMメディアに含まれているNet8、ODBCドライ バー、Oracle Objects for OLE、SQL*Plusを使用してOracle8 Personal Editionにアクセ スすることはサポートされます。 ■ Oracle8 Personal Edition R8.0.4のCD-ROMメディアに含まれているNet8、ODBCドライ バー、Oracle Objects for OLE、SQL*Plusを使用したリモートのOracleサーバーにアク セスすることはサポートされません。 ■ データベース・リンクやレプリケーションなどの分散データベース機能、ならびに Oracle8 Personal Edition R8.0.4のCD-ROMメディアに含まれているOracle8 Navigatorを 使用したリモートのOracleサーバーへのアクセスはサポートされます。 ■ Pro*C/C++ R8.0.4で作成したOracle8 Personal Edition R8.0.4用アプリケーションについ ては、Windows 98上での実行をサポートします。 ■ Windows 98上でのPro*C/C++ R8.0.4を使用したOracle8 Personal Edition R8.0.4用アプリ ケーションの開発はサポートされません。 xix ORACLE8 トラブルシューティング Oracle7 Client 関係 Oracle7関連製品については、R7.3.4のみWindows98に対応します。それ以前のバージョンの製 品はWindows98での利用はできません。 ■ Oracle7 ServerとOracle7 Workgroup Serverのクライアント (主要なコンポーネントのバージョンは以下のとおり) ■ ■ Pro*C/C++ 2.2.4以降 ■ Pro*Cobol 1.8.4以降 ■ Oracle Objects for OLE 2.2.2.0 及び 2.2.3.0 ■ ODBC Driver 2.5.3以降 ■ SQL*Plus 3.3.4以降 ■ SQL*Net Client 2.3.4以降 ■ Oracle Enterprise Manager 1.3.6以降 ■ Advanced Networking Option 2.3.4以降 Personal Oracle7 R7.3.4以降 JRE を使用するプログラムについて Oracle8製品に含まれているJava Runtime Environment (1.1.1.0.0) を使用するプログラムにはNet8 Assistantがあります。JREのWindows98での正式なサポートはJRE 1.1.7から予定されています。 OS の移行にあたっての注意 現在動作しているWindows95の環境からWindows98に移行する場合には、オラクル製品のバー ジョンアップはWindows95上で行ってください。 Windows98での動作を確認していない製品の移行作業をWindows98上で行うことはできませ ん。 [例] Personal Oracle7 R7.3.2をPersonal Oracle7 R7.3.4に移行する場合には下記の手順で行ってくださ い。 xx 1 Windows95上でPersonal Oracle7 R7.3.2からPersonal Oracle7 R7.3.4に移行する。 2 Windows95をWindows98に移行する。 CONTENTS まえがき ................................................................................................. xi 謝辞 ....................................................................................................... xiii はじめに ................................................................................................ xv PART I Oracleデータベース、ツール、接続性 CHAPTER1 予防保守: MS Windows NTの場合 ...................... 3 Oracleの製品オプション ..................................................................... 4 インストール前のタスク ...................................................................... 5 使用可能なリソースの確認 ....................................................................... 5 構成情報のバックアップ ........................................................................... 6 その他のタスク ........................................................................................... 6 ファイルサーバーのインストールに関する特殊なタスク ..................... 9 Oracle Installerとインストールプロセス: Windows NTの場合 ..... 10 概 要 ............................................................................................................. 10 重要なインストールファイル .................................................................. 10 インストール時に使用可能な製品とコンポーネント ........................... 12 インストールプロセス ............................................................................. 13 iii ORACLE8 トラブルシューティング インストール後のタスク .................................................................... 15 構成情報のバックアップ ......................................................................... 15 スクリプトを実行してツールに必要な表を作る .................................. 15 環境変数を追加してOracle製品を簡単に使う ...................................... 15 5つのタイプのインストール .............................................................. 15 スタンドアロンシステム ......................................................................... 16 クライアント/サーバーシステム .......................................................... 19 3階層システム ........................................................................................... 22 サードパーティ製品 ................................................................................. 29 Oracle以外のRDBMS ................................................................................ 30 Windows NTのチューニング ........................................................... 31 メモリ ......................................................................................................... 31 CPU ............................................................................................................. 32 物理的な入出力 ......................................................................................... 32 Oracle8PerformanceMonitor ................................................................. 33 EXPLAINPLAN ........................................................................................... 33 インスタンスチューニング用のスクリプト .......................................... 33 Oracle8 Serverのバックアップ: Windows NTの場合 ............... 33 コールドバックアップ ............................................................................. 34 オンラインバックアップ ......................................................................... 35 FAQ (よく尋ねられる質問事項とその回答)................................... 39 CHAPTER2 予防保守 : MS Windows 95の場合 ................... 45 インストール前のタスク .................................................................... 46 使用可能なリソースの確認 ..................................................................... 46 構成情報のバックアップ ......................................................................... 47 その他のタスク ......................................................................................... 48 ネットワークドライブへの永続的なドライブ文字の割り当て ........... 50 Oracle Installerとインストールプロセス: Windows 95の場合 ..... 51 概 要 ............................................................................................................. 51 重要なインストールファイル .................................................................. 52 インストール時に使用可能な製品とコンポーネント ........................... 53 インストール後のタスク .................................................................... 56 構成情報のバックアップ ......................................................................... 56 システム表の作成 ..................................................................................... 56 環境変数の追加 ......................................................................................... 56 4つのタイプのインストール .............................................................. 57 スタンドアロンシステム ......................................................................... 57 クライアント/サーバーシステム .......................................................... 61 サードパーティ製品 ................................................................................. 64 Oracle以外のRDBMS ................................................................................ 64 Windows 95のチューニング ........................................................... 64 iv CONTENTS ハードディスクの最適化 ......................................................................... 65 仮想メモリ ................................................................................................. 65 FAQ (よく尋ねられる質問事項とその回答)................................... 65 CHAPTER3 予防保守 : Solarisの場合 ...................................... 69 インストール前のタスク .................................................................... 70 使用可能なリソースの確認 ..................................................................... 70 UNIX環境の構成処理 ................................................................................ 72 Oracleのインストールプロセス: Solaris 2.xの場合 .................... 73 Oracle Installerの概要 ............................................................................... 73 重要なインストールファイル .................................................................. 74 インストール時に使用可能な製品とコンポーネント ........................... 75 Oracle Installerを使ったインストール ................................................... 75 Oracle製品の実行可能プログラムの再リンク ....................................... 76 2つのタイプのインストール .............................................................. 77 スタンドアロンシステム ......................................................................... 77 クライアント/サーバーシステム .......................................................... 82 FAQ(よく尋ねられる質問事項とその回答).................................... 85 CHAPTER4 予防保守: UNIX の場合 .......................................... 93 UNIX環境の構成処理 .......................................................................... 94 Oracle製品の実行可能プログラムの再リンク ................................. 94 共有メモリとセマフォの構成処理 ..................................................... 95 コアダンプ ........................................................................................... 97 永続的なステージングエリアの作成 ................................................. 98 FAQ(よく尋ねられる質問事項とその回答).................................... 98 CHAPTER5 問題解決: RDBMS ............................................... 105 パフォーマンスのチューニング ....................................................... 106 メモリのチューニング ........................................................................... 106 I/Oのチューニング ................................................................................. 109 ソートのチューニング ........................................................................... 110 索引作成のチューニング ....................................................................... 111 バックアップとリカバリ .................................................................. 111 バックアップに関するヒント ................................................................ 111 リカバリ ................................................................................................... 116 Oracle8 Serverの診断機能 .............................................................116 Oracleのトレースファイル .................................................................... 116 トレースイベントの設定 ....................................................................... 121 v ORACLE8 トラブルシューティング V$ビュー .................................................................................................. 126 ロックユーティリティ ........................................................................... 126 Oracleのエラーとその解決 ............................................................. 127 Oracleでよく発生するエラー ................................................................ 128 Oracleの内部エラー ................................................................................ 155 緊急度1/緊急度 2の問題のカテゴリと診断処理 ................................ 157 FAQ(よく尋ねられる質問事項とその回答).................................. 161 CHAPTER6 問題解決 : 接続性 ................................................ 183 Net8の概要 ........................................................................................185 主要なコンポーネント ........................................................................... 185 Net8のインストール ........................................................................ 189 UNIX (Sun Solaris 2.5) の場合 ............................................................. 189 Windows NTの場合 ................................................................................ 194 マルチスレッドサーバー(MTS)..................................................... 201 構成処理 ................................................................................................... 201 リスナーへの登録 ................................................................................... 202 クライアントとの接続 ........................................................................... 203 Oracle Names ................................................................................... 206 Net8のトレース機能 ........................................................................ 207 トレースのレベル ................................................................................... 209 Net8のトレース情報の解釈 ................................................................... 209 パケット情報 ........................................................................................... 209 エラーの出力 ........................................................................................... 210 ODBCの概要 ...................................................................................... 211 ODBCのインストール ....................................................................... 211 Windows NT上でのODBCの構成処理 ................................................. 212 Net8 Assistant ................................................................................. 216 Net8 AssistantによるNet8リスナーの構成処理 ................................. 217 ホスト名による Net8での名前解決 ................................................ 228 ホスト名を使う方法での制限事項 ........................................................ 229 FAQ(よく尋ねられる質問事項とその回答).................................. 229 CHAPTER7 問題解決 : アプリケーション開発ツール .......... 235 Developer/2000のインストール .................................................. 236 Developer/2000の環境変数 .......................................................... 238 環境変数の設定 ....................................................................................... 240 Developer/2000へのアップグレード .......................................... 244 GUIの相違点 ............................................................................................ 245 アップグレードプロセスの概要 ............................................................ 245 vi CONTENTS Designer/2000のインストール .................................................... 257 FAQ(よく尋ねられる質問事項とその回答).................................. 260 CHAPTER8 問題解決 : Oracleのプリコンパイラ ................ 263 プリコンパイラを使ったプログラム開発 ....................................... 264 float およびdoubleの扱い ............................................................... 264 CHAR およびVARCHARの扱い ........................................................ 265 LONG RAWデータ ........................................................................... 268 C++コンパイラ ..................................................................................270 サポートされているコンパイラ ....................................................... 272 FAQ(よく尋ねられる質問事項とその回答).................................. 277 PART II インターネットコンピューティングアーキテクチャと Oracle Application Server CHAPTER9 インターネットコンピューティング アーキテクチャ .................................................... 285 インターネットコンピューティング ............................................... 286 Oracleのインターネットコンピューティングアーキテクチャ ... 289 ICA環境でのトラブルシューティング ............................................ 291 ICAの主要なコンポーネント ................................................................. 291 パフォーマンス ....................................................................................... 292 エラーのデバッグ ................................................................................... 296 この後は ... ............................................................................................... 298 CHAPTER10 Oracle Application Server ............................. 299 Oracle Application Serverのアーキテクチャ ............................ 300 Oracle Application Serverでの問題点の特定 ............................ 306 Webリクエストの例 ............................................................................... 306 カートリッジ間交換(ICX)の例 .......................................................... 308 監視用のツール ....................................................................................... 310 Oracle Application Serverのインストール ................................ 311 インストール時の検討事項 ................................................................... 311 useridの選択 ............................................................................................ 315 ポートの選択 ........................................................................................... 316 ホスト名の選択 ....................................................................................... 317 Oracle Web Listenerでのトラブルシューティング ................... 318 起動時の問題 ........................................................................................... 318 許可に関するチェックリスト ................................................................ 332 vii ORACLE8 トラブルシューティング シャットダウン時の問題 ....................................................................... 333 無効な仮想ホストに関するエラー ........................................................ 334 ホスティングおよび無効な仮想ホストに関するエラー ..................... 334 サードパーティ製のリスナー ................................................................ 337 リスナーの拡張性とパフォーマンスに関するチューニング ............. 339 Web Request Brokerでのトラブルシューティング .................. 344 起動時の問題 ........................................................................................... 344 シャットダウン時の問題 ....................................................................... 346 カートリッジのアーキテクチャ ............................................................ 347 トラブルシューティング: 内部エラー ................................................. 349 トラブルシューティング: PL/SQLカートリッジ ................................ 351 トラブルシューティング: Javaカートリッジ ...................................... 359 トラブルシューティング: LiveHTMLカートリッジ ........................... 363 拡張性とパフォーマンスに関するチューニング ................................ 365 Oracle Application Serverでのロギング .................................... 372 システムステータスのロギング ............................................................ 372 リクエストごとのロギング ................................................................... 376 Oracle Application Serverでのセキュリティ ............................ 381 認証のタイプ ........................................................................................... 381 認証サーバー ........................................................................................... 383 認証サーバーの構成処理に関するトラブルシューティング ............. 384 安全な Webセッションの確立 .............................................................. 387 Oracle Application Serverでの問題点をOracle Support Servicesに連絡する ...................................................................... 390 テストケースに関するガイドライン .................................................... 390 間欠的に発生する問題の再現 ................................................................ 391 適切な形式でバグをロギングする ........................................................ 393 WebStoneによるストレステスト ......................................................... 394 CHAPTER11 Oracle Support Servicesとの効果的な連携 . 395 Oracle Support Services ............................................................... 396 ツールと用語 ........................................................................................... 397 信頼できる医師のようなもの ................................................................ 399 サポートアナリストの仕事 ................................................................... 400 役割と責任 ............................................................................................... 403 サポートのプロセス ............................................................................... 403 効果的な TARの提出方法 ................................................................. 403 TARに記述すべき必要最低限の項目 ..................................................... 406 準 備 ........................................................................................................... 407 TARの重大度の定義 ................................................................................ 412 よりよいサービスを受けるためのステップ ................................... 413 1. 問題点を文書化する ―― 事前に準備 .............................................. 413 viii CONTENTS 2. 電子的な手段でTARを提出する ........................................................ 414 3. サポートを得るための内部プロセスを定義する ............................ 415 4. 自分のプロセスを管理する ............................................................... 417 5. やり取りを効果的に行う ................................................................... 419 6. 適切なインフラストラクチャを用意する ........................................ 421 7. 適切なスキルセットを備える ............................................................ 422 8. カスタマイズを管理する ................................................................... 423 9. エスカレーションプロセスを使う .................................................... 424 10. プロジェクト計画を評価する ......................................................... 425 11. インストールとアップグレード ..................................................... 427 12. バックアップを採取する ................................................................. 428 13. Oracle Applicationsのユーザーグループに参加する ................... 428 14. 顧客アンケートに記入する ............................................................. 428 結 論 ..................................................................................................... 429 INDEX .............................................................................................. 433 ix PART I Oracle データベース、 ツール、接続性 CHAPTER 1 予防保守: MS Windows NT の場合 ORACLE8 トラブルシューティング Windows NT 4.0は、短期間の間に、世界でトップのオペレーティングシステムの1つになりま した。Windows NTとOracle8 Serverを組み合わせて使えば、小規模∼中規模の企業では、エンター プライズレベルのアプリケーションをパーソナルコンピュータ(PC)上に配備することができま す。この章では、Windows NTに関連したOracleの問題点に焦点を当てて説明します。 Oracle Support Services(OSS) によると、ユーザーの抱えている問題のほとんどが、ユーザーシ ステムのセットアップが不適切であったり、重要なステップが間違っているなどのインストール プロセスに起因しているとのことです。この章ではまず、インストール前およびインストール後 に有用なヒントを紹介し、ポピュラーなほとんどのOracle製品でお馴染のインストール手順につ いて説明します。それが終わったら、チューニングに関する重要なヒントを紹介します。そし て、この章の最後の節では、Windows NTに関してよく尋ねられる質問事項とその回答 (FAQ)を 紹介します。 オラクル社では、Windows NT用の製品をいくつか製作しています。それらの製品は一般に Oracleサーバーとツール群という2つのカテゴリに分類することができます。現在リリースされて いるOracle Serverは、Oracle8です。Oracle8 Serverは、世界最高のリレーショナルデータベース管 理システムと、それに関連する一連の管理ツールから構成されています。Designer/2000や Developer/2000といった開発ツールを使用すれば、アプリケーションの開発者はOracle8 Serverに 統合可能なアプリケーションを構築することができます。オラクル社では、クライアント/サー バー接続に必要なNet8というソフトウェアも提供しています。クライアント/サーバーアーキテ クチャは、重大な制限を抱えているため、3層アーキテクチャに徐々に置き換えられています。 オラクル社は、インターネットコンピューティングアーキテクチャ(ICA)を提供することによ り、3層アーキテクチャの先駆者になっています。Oracle Application Serverは、3層アーキテクチャ のデータベースアプリケーションの基盤となるものです。アプリケーションの開発者は、これを 使えば、Oracle8 Serverと密接に統合したアプリケーションを構築し、それをWeb上に簡単に配備 することができます。このような一連の製品は、さまざまに組み合わせて使うことができます。 一般的な組み合わせについては、この章の後の方でいくつか紹介します。インストールをうまく 行うための一般的なタスクやヒントについて説明する前に、Windows NT上のOracle8で使用可能 な一連のオプションについて説明しましょう。 Oracle の製品オプション Oracle8のリレーショナルデータベース管理システム(RDBMS) は、Windows NTの場合、3種類 のパッケージがあります。そのため、要件に適したOracle8 Serverを選ぶようにしてください。 エントリレベルのパッケージは、Oracle8 Personal Editionです。このパッケージは、スタンドア ロン構成のWindows NTマシンに有効です。Windows NTをネットワーク環境以外で使用すること は非常にまれです。そのためこのパッケージは、おもにアプリケーションの開発、テスト、およ 4 Chapter 1 予防保守 : MS Windows NT の場合 び研修で使う場合に便利です。開発者の場合であれば、独自のOracle8ソフトウェアのイメージを 保持し、独自のデータベースを管理することができます。このような環境では、CBT (ComputerBased Training;コンピュータを使った研修) ツールも、有効に利用することができます。このパッ ケージは、旧バージョンではPersonal Oracle7として販売されていました。 Oracle8パッケージ(ドキュメントによっては「Standard Edition」と呼ばれている場合もある) で は、アドオンオプションとカートリッジを除くOracle8 Serverの全機能がサポートされています。 Net8 Serverおよびクライアントソフトウェアが入っているため、このパッケージはクライアント /サーバーアプリケーションを動作させるサイトで使用することができます。ただし、このパッ ケージでは使用できない管理ツールもあります。この製品は以前、Oracle Workgroup Serverとし て販売されていました。 Oracle8 Enterprise Editionは、アドオンオプションとカートリッジがすべて含まれている総合的 な製品です。このパッケージでは、その他の管理ツールも利用することができます。このパッ ケージは以前は、Oracle Serverとして販売されていました。 インストール前のタスク インストールプロセスは、簡単なタスクをいくつか実行するだけで、非常に容易にすることが できます。時間は多少かかりますが、次のような一連のタスクを実行することをおすすめしま す。 使用可能なリソースの確認 いつの場合でも、目的の製品(1つまたは複数) を実行するのに十分なリソースがあるかどうか を最初に確認する必要があります。パッケージには、Oracleの各種の製品を動作させるのに必要 なハードウェアおよびソフトウェアのリソース一覧が記載されています。ここでは、参考として 一般的な推奨事項を紹介しておきます。 ■ IBM、Compaq、または100%互換のPCを使用する。Pentiumベースの90MHz以上のプロセッ サを搭載したPCを推奨。 ■ Oracle8 Server for Windows NTだけを使用する場合、RAMは48MBを推奨。Developer/2000 Designerのツール群を使い、リモートデータベースを1つ使う場合、RAMは48MBを推奨。 また、Developer/2000を使い、ローカルなOracleデータベースを使う場合、最適なパフォー マンスを得るには、RAMは64MBを推奨。 ■ ローカルまたはネットワーク上のCD-ROMドライブにアクセスしてインストールを実行す る必要がある。Oracleのソフトウェアは、フロッピーディスクで配布されないため。 5 ORACLE8 ■ トラブルシューティング Oracle8 Serverを使用するには、ハードディスク上に200MBの空き領域が必要。開発ツール やアプリケーションを使用するには、ハードディスクの領域がさらに必要。 注意 Oracle Developer/2000およびOracle8 Serverは、Windows NT用のハイエンドな製品ですので、たくさんのハードウェアリ ソースを必要とします。 構成情報のバックアップ Windows NTにOracleの製品をインストールする過程では、PC上の構成ファイルのいくつかに 変更が加えられます (構成ファイルが追加される場合もあります) 。Windows NTでサポートされ ている標準のcopyコマンドやWindowsエクスプローラを使えば、表1-1に示す一連のファイルをコ ピーすることができます。この章では、ブートドライブがC:¥、Windows NTのインストール先が C:¥WINNT、Oracleの32ビットWindows NT製品のインストール先がC:¥ORANTであるとします。 また、16ビット (Microsoft Windows 3.1) のOracle製品のファイルも、Windows NTにインストール 済みとします。 C:¥ORANT¥BACKUPのようなフォルダを1つ作成し、表1-1に示した一連のファイルをそのフォ ルダにコピーしてください。それらのファイルから得られる情報は、問題を解決する際、Oracle Support Services (OSS)にとって非常に有用な情報になります。 また、Windowsのレジストリをコピーすることを習慣にしておくといいでしょう。レジストリ をコピーするには、Windows NT 上でregedit を起動し、「HKEY_LOCAL_MACHINE 」→ 「SOFTWARE」→ 「ORACLE」の順に展開します。そして、「レジストリ」 メニューの 「レジストリ ファイルの書き出し」 を選択した後、レジストリを保存するファイルに適切な名前を付けます。 レジストリファイルを取り込む場合は、Windowsのエクスプローラでファイルをダブルクリック するだけです。 その他のタスク インストールを実行する前は、その他のタスク (ファイルシステムの確認など)も実行する必要 があります。ここでは、そのような一連の重要なタスクについて説明します。 1. ファイルシステムの整合性の確認 PCは、ファイルシステムに小さな問題を抱えている場合がよくあります。そのため、インス トールを開始する前に、ハードディスクの整合性を確認することをおすすめします。たとえば、 OracleのソフトウェアをC:¥ORANTにインストールする場合は、次のようなステップに従って操 作してください。 6 Chapter 1 予防保守 : MS Windows NT の場合 ファイル名 格納場所 autoexec.bat*1 PCのブートドライブ(C:¥)。 win.ini *1 Windowsのホームディレクトリ(C:¥WINNT)。 *2 odbc.iniとodbcinst.ini C:¥WINNT。ODBCデータベース定義はすべて、これらのファイルに 格納される。 nt.rgs OracleのWindows NT製品をインストールした場合、このファイルは C:¥ORANT¥ORAINSTに格納される。このファイルには、PCにイン ストールされたOracleのWindows NT製品のリストが格納される。 Windows NT用のOracle Installerは、このファイルを使用し、イン ストールされたコンポーネントを任意の時点でチェックする。 tnsnames.ora Net8の場合は、C:¥ORANT¥NET80¥ADMINに格納される。 Oracle SQL*Net V2がインストールされている場合、このファイル はC:¥ORANT¥NETWORK¥ADMINに格納される。 sqlnet.ora Net8の場合は、C:¥ORANT¥NET80¥ADMINに格納される。 Oracle SQL*Net V2がインストールされている場合、このファイル はC:¥ORANT¥NETWORK¥ADMINに格納される。 names.ora Oracle Namesの構成処理を実行済みの場合、このファイルはC: ¥ORANT¥NET80¥ADMINに格納される。 表 1-1 インストール前にバックアップを採取すべきファイルの一覧 *1 Windows NTにインストールされている16ビット版のOracle製品の場合。 *2 ODBC(Open Database Connectivity) の場合のみ。 1. Windowsエクスプローラを起動します。 2. エクスプローラの左側のウィンドウ枠で「C:」を選択します。 3. 「ファイル」メニューの 「プロパティ」を選択します。 4. 「ツール」タブを選択すると、図1-1のような画面が表示されます。 7 ORACLE8 トラブルシューティング 図 1-1 Windows NT エクスプローラでファイルのプロパティを表示した場合 「チェックする」 ボタンをクリックすると、次のようなダイアログボックスが表示されます。そ こで、次のようなオプションを選択し、「開始」 ボタンをクリックします。 8 Chapter 1 予防保守 : MS Windows NT の場合 2. ディスク圧縮ユーティリティの実行 Oracle8 Serverをインストールする場合、データベースファイルは圧縮されていないパーティ ションにインストールする必要があります。Oracle8 Serverのソフトウェア自体は、圧縮パーティ ションにインストールすることができます。しかし、データベースは、非圧縮パーティションに 作成しなければなりません。この操作は、データベースを非圧縮パーティションの中に手動で作 成すれば、実行することができます。詳細については、Oracle8 Serverのreadmeファイルを参照し てください。 3. ウィルスチェックの実行 インストールを実行する際は、事前にウィルスチェックプログラムを使用し、ウィルスチェッ クを行うようにしてください。そうすれば、データベースがウィルスによって破壊されるリスク が減少します。 4. 言語の選択 Windows NTで必要な言語は、Oracle8 Serverをインストールする前にインストールしてくださ い。Oracle8で選択する言語は、Windows NT上の言語と同じでなければなりません。 5. インストール対象の製品のリストの作成 インストールを実行する際は、インストールすべき一連の製品のリストを事前に作成してくだ さい。製品をインストールする際の順序がインストールに影響を与える場合もあります。一般的 には、Oracle8 Serverを最初にインストールし、その後でNet8のソフトウェアをインストールしま す。Oracle Application Serverをインストールする場合は、Oracle8 Serverを次にインストールしま す。そして、必要な開発ツールやアプリケーションは、最後にインストールします。 6. ファイルシステムの選択 FAT(File Allocation Table)とNTFS (NT File System)のどちらを使うのかを選択してください。 MS-DOS、Windows 95、Windows 98、Novell NetWareのような他のオペレーティングシステムと ファイルを共有する場合は、一般にFATを使います。そうでない場合は、NTFSを使います。 ファイルサーバーのインストールに関する特殊なタスク Oracleの製品をファイルサーバーにインストールする場合は、それらの格納先となるフォルダ に、永続的なドライブ文字を必ず割り当ててください。Windowsエクスプローラで 「ネットワーク ドライブの割り当て」 を使った場合は、Oracleの製品をインストールした後でそのドライブ文字を 変更してはいけません。 9 ORACLE8 トラブルシューティング Oracle Installerとインストールプロセス: Windows NT の場合 ここでは、Oracle Installerと、Windows NTでのインストールプロセスについて説明します。 概要 Windows NT上のOracle Installerは、次の3つの主要なタスクを実行します。 ■ 依存性のチェック ■ 必要な製品ファイルのコピー ■ システム環境の構成処理 Oracle Installerは、最初に必要な製品をインストールするのに十分なディスク領域があるかどう かを確認します。次に、Oracleに関する他の依存性が満たされているかどうかを確認します。 Windows NT上の一連のOracle製品では、コードの多くの部分 (Required Support FilesやGUI Common Filesなどのコンポーネント下で使用可能) を共有します。Oracleの製品がすでにインストールされ ている場合は、共有コードに関連した依存性が新しい製品で満たされるかどうかをOracle Installer が確認します。必要に応じて、Oracle Installerは共通ソフトウェアコンポーネントをアップグレー ドします。Windows NTでは、このようなコンポーネントの多くがDLLとしてインプリメントさ れています。そのため、Oracle Installerでは、同じDLLの複数のコピーが、実行時に1つの製品で 使用されないようにします。DLLのコピーが複数存在していると、インストール時に警告が出力 されます。そして、その修正措置が自動的に提示されます。 次に、Oracle Installerは、製品を正常に機能させるのに必要な一連のファイルをコピーします。 ファイルは、適切なフォルダに自動的に格納されます。Oracle Installerでは、製品のインストール 先となるフォルダをユーザーが選択することができます。ただし、実行可能ファイルおよびDLL はすべて、C:¥ORANT¥BINフォルダに格納するのが普通です。 最後に、Oracle Installerは、インストール対象の製品に必要なプログラムグループとアイコンを 作成します。環境に対して必要な変更 (パスなど) も、警告メッセージが表示された後で実行され ます。Oracle Installerは、将来の参照に備えて、インストールした製品のバージョンに関する記録 を登録ファイル (nt.rgs)に追加します。製品に必要なエントリも、この時点でWindowsレジスト リに追加されます。 重要なインストールファイル Windows NT用のOracle Installerは、重要なファイルをいくつか使用します。ここでは、インス トールプロセスの理解を助けるために、これらのファイルについて簡単に説明しておきます。こ 10 Chapter 1 予防保守 : MS Windows NT の場合 こで説明するファイルは、すべてテキストファイルです。ただし、これらのファイルは、いかな る場合でも、手動で変更したり削除しないでください。Oracleのインストールプロセスを理解す るために、ファイルの内容を表示することは、いつでも自由に行ってください。これらのファイ ルの中で見当たらないものがある場合は、Windowsエクスプローラの検索機能を使い、インス トール媒体の中身を検索してみてください。 nt.prd これらのファイルには、インストール媒体の中にある使用可能なすべての製品とそのコンポー ネントのリストが含まれています。Oracle Installerは、インストール媒体の中にある使用可能な製 品のリストを取得する際、これらのファイルを読み込みます。メインのnt.prdファイルは、通常 インストール媒体上のINSTALLフォルダに格納されています。Windows NT用の任意のOracle媒 体に入っている使用可能な製品を、Oracle Installerを起動せずにすばやく調べたい場合は、テキス トエディタを使ってこのファイルを見ることができます。インストール媒体上の各製品のルート フォルダを見れば、同じ名前のファイルがほかにも入っています。 nt.ins このファイルには、Oracle Installerが使用するOracleインストールスクリプトが含まれていま す。このファイルは通常、インストール媒体のINSTALLフォルダに入っています。 nt.dei このファイルには、Oracle Installerが使用するOracle削除用のスクリプトが含まれています。こ のファイルも、インストール媒体のINSTALLフォルダに入っています。このファイルは、インス トール時に、C:¥ORANT¥ORAINSTにコピーされます。どの製品でも通常は、このファイル以外 に、インストール媒体の製品フォルダの中に削除処理用のスクリプトを持っています。C : ¥ORANTフォルダには、.deiという拡張子のファイルが多数格納されているはずです。 win32.stp、nt.stp これらのファイルには、Oracle7の製品用に環境変数を初期化するためのスクリプトが含まれて います。これらのファイルは、下位互換性を確保するためのものであり、Oracle8には適用されま せん。 welcome.htm このファイルには、製品に関する情報が一通り含まれています。このファイルに記載されてい る一連のリンクを利用すれば、関連するドキュメントやリリースノートにアクセスすることがで きます。 11 ORACLE8 トラブルシューティング 拡張子が .vrfのファイル これらのファイルには、一部の設定値や依存性 (バージョンの解析も含む) をチェックする際に Oracle Installerが使用する一連のスクリプトが含まれています。たとえば、path.vrfファイルは、 autoexec.batファイルに追加するパスがDOSの制限を超えていないことを確認する際に使用され ます。 拡張子が .map のファイル これらのファイルには、各製品コンポーネントの物理ファイル、インストール媒体上でのソー スフォルダ、およびターゲットフォルダが記載されたリストが含まれています。また、そのリス トには、各ファイルのサイズも記載されています。Oracle Installerは、.mapファイルに記載され ている情報を使い、十分なディスク領域が使用可能であるかどうかを判断します。 relnotes.wri、readme.txt これらのファイルには、製品媒体を作成した後で発生した変更点や指示が記載されています。 これらのファイルは、インストールを実行する前に読むようにしてください。これらのファイル は通常、インストール媒体のルートフォルダに入っています。readmeファイルは、製品のルー トフォルダに入っている場合もあります。 インストール時に使用可能な製品とコンポーネント Oracle Installerを起動すると、製品媒体に入っている使用可能なOracle製品のリストが表示され ます。インストールの対象となる製品のリストからは、上位の製品(Developer/2000 FormsやNet8 など) を選ぶとよいでしょう。Oracle Installerは、インストール時に、Required Support Filesのよう な依存性のあるファイルをすべてコピーします。OracleではWindows NT用の製品を多数提供して いますが、インストール時には表1-2に示すようなコンポーネントがよく見られます。 注意 表1 - 2 で紹介しているコンポーネントのいくつかは、多くの Oracle製品で使用されています。いずれのコンポーネントの場合 でも、原則的には最新バージョンをインストールすれば十分です。 一般的に言えば、ほとんどの場合、下位互換性が確保されていま す。ただし、Required Support Files(RSF)だけは、唯一の例外 です。RSFのバージョンは通常、データベースのバージョンに対応 しています。たとえば、Oracle8バージョン8.0.3では、RSF 7.3 ではなく、RSF 8.0.3を使用します。それと同様に、Net8では、 RSF 7.xではなく、RSF 8.0を使います。Oracle7の製品と Oracle8の製品の両方がインストールされていると、多数のバー 12 Chapter 1 予防保守 : MS Windows NT の場合 ジョンのRSFがインストールされていますが、それは正常な状況で す。各コンポーネントの詳細については、CD-ROMに入っている nt.prdファイルを参照してください。 インストールプロセス インストールの詳細な操作方法については、製品に添付されているWindows NT用のインストー ルガイドを参照してください。ここでは、それ以外の情報をいくつか紹介します。 ■ インストールする2つの製品のリリースが同じで、バージョンが異なっている場合は、そ れらの製品を別々のフォルダにインストールしてください。 たとえば、Oracle8バージョン8.0.3はC:¥ORA803フォルダ、バージョン8.0.4はC:¥ORA804 フォルダにインストールします。Oracle Home Selectorを使用すれば、Oracleの複数のイン ストール間で切り替えることができます。ただし、同一の製品であっても、リリースが異 なっていれば、同一のフォルダにインストールすることができます。たとえば、Oracle7お よびOracle8からそれぞれ1つずつバージョンをインストールする場合、それらのバージョ ンは同一のフォルダ (C:¥ORANTなど) にインストールすることができます。これが可能な のは、Oracle7とOracle8でファイル名が異なっているためです。Windows 3.1用のOracle製 品は、Windows NT用のOracle製品と同じフォルダにインストールしないでください。最善 の方法は、Oracle Installerから指示されるデフォルトのターゲットディレクトリをそのまま 使うことです。製品を目的のターゲットドライブに確実にインストールするために、ドラ イブ文字は自由に変更することができます。 ■ インストールを開始する前に、Oracleのアプリケーションをすべてシャットダウンしてく ださい。 ただし、Database Tablesコンポーネントは例外です。製品によっては、データベースにア クセスし、システム表を作成する必要があるからです。このコンポーネントの詳細につい ては、この章の後の方で説明します。また、製品のインストールガイドにも記載されてい ます。 ■ 構成情報、特にWindowsのレジストリのバックアップは、必ず採取してください。レジス トリ内の情報は、インストール関連の問題のトラブルシューティングを実施する際、常に 役立ちます。 ■ インストールの対象として選択するのは、上位の製品だけにしてください。 Required Support FilesやGUI Common Filesなどのサブコンポーネントは選択しないように してください。たとえば、Form Builderをインストールする場合は、インストールの対象 となる製品のリストからDeveloper/2000 Form Builderを選択してください。Oracle Installer が自動的に識別して、すべての依存性を保証してくれます。 13 ORACLE8 トラブルシューティング インストールの対象となる製品 説明 Forms Developer/2000 FormsのBuilderとRuntimeインストー ルの一式 Reports Developer/2000 ReportsのBuilderとRuntimeインストー ルの一式 Graphics Developer/2000 GraphicsのBuilderとRuntimeインス トールの一式 Forms Runtime Developer/2000のFormsアプリケーションの実行に必要な ランタイムファイル群 Reports Runtime Developer/2000のReportsアプリケーションの実行に必要 なランタイムファイル群 Graphics Runtime Developer/2000のGraphicsアプリケーションの実行に必 要なランタイムファイル群 Developer/2000 Procedure Builder Oracle Procedure Builder Developer/2000 Open Interfaces Developer/2000用のPVCSインターフェイス Oracle Open Client Adapter for ODBC Oracle以外のデータベース(ODBCに準拠) に対してOracleの ツール群からやり取りするためのアダプタ Net8 Oracleのネットワークインターフェイスソフトウェア Oracle Protocol Adapters ネットワーク用の通信プロトコル(TCP/IP、SPX、Named Pipesなど) GUI Common Files Oracleの製品をWindows NT上で動作させるためのユーザー インターフェイスを提供する共通ファイル Required Support Files Oracleの全アプリケーションに必要な共有ライブラリ Tools Utilities Oracleの製品で使うライブラリとツールキット System Support Files OLE2とOCXをサポートするためのファイル Oracle Installer Oracle Installerの実行プログラム Oracle8 Server Oracle8データベース 表 1-2 Windows NT 上で一般的な Oracle の製品コンポーネント 14 Chapter 1 予防保守 : MS Windows NT の場合 インストール後のタスク インストールを実行した後も、その他のタスク (ファイルのバックアップ処理など) を実行する 必要があります。次に、それらの重要なタスクについて説明します。 構成情報のバックアップ odbc.iniファイル、odbcinst.iniファイル(ODBCをインストールした場合のみ)、およびC: ¥ORANT¥NET80¥ADMIN¥*.ORAファイル (Net8をインストールした場合のみ)をコピーします。 スクリプトを実行してツールに必要な表を作る Oracleのツールの中には、表の中に情報 (セキュリティの詳細など) を格納するものもあります。 そのようなシステム表 (「データベース表」 ともいう) を作成するためのスクリプトは、Oracleから 提供されています。Developer/2000に必要なシステム表は、スタートガイドの 「Developer/2000デー タベースの表の作成」 の指示に従って作成してください。ただし、Oracle8データベースに接続す る際に障害が発生した場合は、その作業を実行する前に、この章の「クライアント/サーバーシ ステム」を参照してください。 環境変数を追加して Oracle 製品を簡単に使う 独自の環境変数をWindowsのレジストリに追加したり、既存の環境変数を編集したりすれば、 使い勝手がよくなります。よく使用する環境変数を、表1-3に示します。 5 つのタイプのインストール 典型的なインストールとしては、次の5つのタイプがあります。 ■ スタンドアロンシステム Oracleのクライアントツールで作成したアプリケーション を、Oracle8 Personal Edition for Windows NTで使用することができます。 ■ クライアント/サーバーシステム Oracleのクライアントツールで作成したアプリケー ションを、リモートのOracle8 Server (別のマシンに存在) といっしょに使用することができ ます。 ■ 3階層システム 大規模なネットワーク(WebサーバーやTCP/IPソフトウェアを使ったイ ンターネットなど)上でアクションを展開することができます。 ■ サードパーティ製品 サードパーティ製のツール(Microsoft Visual Basicなど)で作成し たアプリケーションを、Oracle8で使用することができます。 15 ORACLE8 トラブルシューティング 環境変数 FORMS50_PATH 説明 Formsのアプリケーションファイル (.FMX、.MMX、.PLLなど)のパス 情報 例 FORMS50_PATH=C:¥MYAPP; C:¥OTHERAPP REPORTS30_PATH Reportsのアプリケーションファイル のパス情報 REPORTS30_PATH=C: ¥MYAPP;C:¥OTHERAPP ORACLE_TEMP 一時ファイル用のフォルダ ORACLE_TEMP=C:¥TEMP TK25_ICON .ICOファイルの格納場所 TK25_ICON=C:¥MYICONS DEV2000_SCVIEWER アーカイブ差分レポートによって 生成された出力を表示するための エディタ DEV2000_SCVIEWER= NOTEPAD.EXE 表 1-3 Oracle アプリケーションでよく使う環境変数 ■ Oracle以外のRDBMS Oracleのクライアントツールで作成したアプリケーションを、 Microsoft AccessなどのOracle以外のデータベース (ODBCに準拠) で使用することができま す。 各タイプのインストールごとに、インストール方法を紹介します。そこで示す例を参考にすれ ば、Windows NTにOracle の製品をインストールする際の方法がすべてわかります。また、 Windows NT環境でのWindows 3.1のツールに関する特殊な問題についても触れます。 スタンドアロンシステム スタンドアロンシステムでは、同一マシン上のWindows NT上で動作しているOracle8データベー スに接続し、Oracleのツールを使ってアプリケーションを作成します。ここでは、スタンドアロ ン環境で、Oracle8 Personal Edition for Windows NTを使い、Developer/2000 Forms 5.0によってア プリケーションを作成する方法を紹介します。必要なステップは、次のとおりです。 16 1. Oracle8 Personal Edition for Windows NTをインストールする 2. Oracle8 Personal Editionが正しくインストールされたことを確認する 3. Form Builder 5.0 for Windows NTをインストールする 4. Oracle8 Personal Editionへの接続を確認する 5. Developer/2000 Forms用のシステム表をインストールする 6. Form Builderを使ってサンプルアプリケーションを作成する 7. サンプルアプリケーションを実行する Chapter 1 予防保守 : MS Windows NT の場合 8. システム表が正しくインストールされていることを確認する 9. 設定された構成で、Windows 3.1の16ビットのアプリケーションを実行する ステップ1: Oracle8 Personal Edition for Windows NTをインストールする インストレーションガイドに記載されている操作方法と、この章の 「インストール前のタスク」 で示したガイドラインに従って、Oracle8 Personal Edition for Windows NTをインストールします。 初期データベースは、「Typical Install」を選択してインストールしてください (これにより、ハー ドディスク上の約200MBの領域が使用されます)。 ステップ 2: Oracle8 Personal Edition が正しくインストールされたことを確 認する Oracle8 Personal Edition for Windows NTのインストールが終わったら、インストール時に実行 した変更が正しく反映されているかどうかを確認するために、PCを再起動するとよいでしょう。 再起動後は、Oracle8データベースが正しくインストールされているかどうかを確認することがで きます。Windows NTのコントロールパネルにある 「サービス」を使えば、Oracleの一連のサービス が起動されているかどうかを確認することができます。また、Windows NTのイベントビューア を使ってWindows NTのアプリケーションログを表示すれば、Oracleの一連のサービスが正常に起 動されているかどうかがわかります。orclalrt.logファイルを見れば、そのインスタンスの起動時 やデータベースのオープン時にエラーがなかったかどうかを確認することができます。 ステップ 3: Developer/2000 Form Builder 5.0 for Windows NTをインス トールする この時点で、必要なアプリケーション開発用のOracleツールをインストールすることができま す。ここでは、Developer/2000のForm Builder 5.0を使って、正しくインストールする方法を紹介 します。 Oracle Installerを再度起動し、Form Builder 5.0を選択します。Oracle Installerによって、Form Builderに関連するすべてのファイルがコピーされます。 ステップ 4: Oracle8 Personal Edition への接続を確認する Form Builderを起動し、データベースに接続できるかどうかを確認します。そのためには、 「ファイル」 メニューの 「接続」 を選択し、ログイン画面を表示します。そして、Oracleで有効なユー ザーのユーザー名とパスワードを入力します。それらが不明な場合は、Oracleに用意されている アカウント (ユーザー名は 「scott」、パスワードは 「tiger」) を使うこともできます。接続文字列の フィールドは、空白のままにしておいてください。 「ファイル」メニューで 「切断」という項目が使用可能になります。 Form Builderを終了します。 17 ORACLE8 トラブルシューティング ステップ 5: Form Builder 用のシステム表をインストールする 今度は、Developer/2000 Formsに必要なシステム表を作成します。Oracle Installerに戻り、 「Forms Database Tables」 というコンポーネントを選択してインストールします (「Developer/2000- Database Tables」というコンポーネントの展開が必要な場合があります) 。 必要なシステム表を作成するためのスクリプトを実行するには、SQL*Plus for Windows NTが インストールされている必要があります。画面の指示に従ってDeveloper/2000用のシステム表を 作成すると、SQL*Plusを使って必要なSQLスクリプトが実行されます。それらのSQLスクリプト が実行されると、ログファイルが1つ作成されます。それらのスクリプトの実行時にエラーが発 生していないかどうかは、注意深くチェックしてください。次のステップでは、Form Builderが 正しくインストールされているかどうかを調べるために、簡単なサンプルアプリケーションを作 成します。 ステップ 6: Form Builder を使ってサンプルアプリケーションを作成する Developer/2000 Form Builderを再度起動し、ステップ4に従ってデータベースに接続します。ウィ ザードの指示に従い、使用可能なデモ用の表を1つ使って、簡単なFormsアプリケーションを作成 します。 ステップ 7: サンプルアプリケーションを実行する 「プログラム」メニューの「フォーム実行」 を選択して、サンプルアプリケーションを実行しま す。 ステップ 8: システム表が正しくインストールされていることを確認する Formsアプリケーションを正しく実行することができたら、今度はそのアプリケーションをデー タベースに保存します。アプリケーションをファイルシステムに保存するのは簡単です。しか し、マルチユーザーの環境では、通常多数のユーザーで共有できる形でアプリケーションをデー タベースに保存する必要があります。アプリケーションをデータベースに保存することを考えて いない場合は、 「ステップ5」 のシステム表の作成を無視してもかまいません。しかし、アプリケー ションをデータベースに保存するつもりであれば、これらの操作を実行しておくと役に立ちま す。 ステップ9: 設定された構成で Windows 3.1の16ビットのアプリケーションを 実行する Oracle8 Personal Edition for Windows NTを使い、 (同一のマシン上で)Windows 3.1の16ビットの Oracleアプリケーションを実行する場合でも、ステップ1∼8のほとんどが適用されます。そのよ うなアプリケーションは、32ビットのアプリケーションと同じような方法で使うことができま す。ただし、16ビットのアプリケーションは、C:¥ORANTではなく、PC上の別のフォルダ (C: ¥ORAWINなど)にインストールしてください。 18 Chapter 1 予防保守 : MS Windows NT の場合 クライアント/サーバーシステム クライアント/サーバーシステムでは、別のマシン上で動作しているOracle8データベースに接 続し、Oracleのツールを使ってアプリケーションを作成します。接続処理は、OracleのNet8という ソフトウェアを使って実現します。Net8の詳細については、本書のChapter 6を参照してくださ い。ここでは、クライアント/サーバーシステムで、Oracle8(Sun Solaris 2.5.1のマシン上で動作) をTCP/IP経由で使い、Developer/2000 Form Builderでアプリケーションを作成する方法を紹介し ます。大まかなステップは、次のとおりです。 1. PCとSolarisマシンの間のネットワーク接続を確認する 2. SolarisマシンにNet8が正しくインストールされていることを確認する 3. Developer/2000 Form Builder for Windows NTをインストールする 4. クライアントにNet8 for Windows NTをインストールする 5. Solarisマシン上のOracle8にNet8経由でPCから接続できることを確認する 6. Developer/2000用のシステム表をインストールする 7. Form Builderを使ってサンプルアプリケーションを作成する 8. サンプルアプリケーションを実行した後、それをデータベースに保存する 9. 設定された構成で、Windows 3.1の16ビットのアプリケーションを実行する ステップ 1: PC と Solaris マシンの間のネットワーク接続を確認する OracleのNet8は、下位のネットワークレイヤーを使って、クライアントとサーバーを接続しま す。そのため、クライアント/サーバー型のアプリケーションでは、最初にこのネットワーク接 続を確認する必要があります。 TCP/IPをSolarisマシンにインストールします。PC上のTCP/IPの構成処理は、コントロールパネ ルの 「ネットワーク」 を使って行います。TCP/IPソフトウェアのインストールとPCおよびSolarisマ シン上での構成処理が完了したら、接続状況を確認できます。 PCからpingまたはtelnetユーティリティを使い、Solarisマシンがネットワーク上で検出されるか どうかを確認します。Solarisマシンのサーバー名やIPアドレスは、必ず確認してください。次は、 Solarisマシンから、pingを使ってPCをチェックします。これらのチェックは、両方とも成功しな ければなりません。 ステップ 2: Solarisマシンに Net8 が正しくインストールされていることを確認 する インストレーションガイドに従って、Net8およびNet8 TCP/IP AdapterをSolarisマシンにインストー ルします。操作方法に従って、tnsnames.oraファイル、listener.oraファイル、およびsqlnet.ora 19 ORACLE8 トラブルシューティング ファイルを作成します。tnsnames.oraファイルでは、Solarisマシン上のOracle8を表すNet8エイリ アス(mydb)を定義します。 注意 Net8のエイリアス(別名)は、Oracle NamesやHostnameなど の別の方法でも解決することができますが、この例では、 TNSNAMESを使うことにします。 リスナーを起動し、それが正しく動作していることを確認します。 % lsnrctl start % lsnrctl stat / * リスナーを起動 * / / * リスナーのステータス * / 次は、サーバー上のServer Managerなどのツールを使用してループバックテストを行い、Net8 を使って同一のサーバーに接続し直します。 % svrmgrl connect scott/tiger svrmgr>connect このコマンドによって正しく接続することができたら、Solarisマシンの上でOracle8が動作して いることになります。 svrmgr>connect connect scott/tiger@mydb このコマンドによって正しく接続することができたら、SolarisマシンにNet8が正しくインス トールされていることになります。 ステップ 3: Form Builder for Windows NT をインストールする この時点で、必要なアプリケーション開発用のOracleツールをPCにインストールすることがで きます。この例では、Developer/2000のForm Builderを使います。PC上でOracle Installerを起動し、 Form Builderを選択してインストールします。Oracle Installerによって、Form Builder 5.0に関連す るすべてのファイルがコピーされます。 ステップ 4: Net8 for Windows NT をインストールする この例ではTCP/IPを使用しているため、次はNet8 TCP/IP for Windows NTをPCにインストール する必要があります。Oracle Installerで、Net8のクライアントコンポーネントとNet8 TCP/IP Protocol Adapterのコンポーネントを選択し、インストールします。 今度は、Net8の構成ファイルであるtnsnames.oraとsqlnet.oraをPC上で作成します。以前のイ 20 Chapter 1 予防保守 : MS Windows NT の場合 ンストールでこれらのファイルをまだ作成していない場合は、FTPユーティリティを使い、これ らのファイルをSolaris マシンからコピーしておくとよいでしょう。Solaris のマシンでは、 tnsnames.oraおよびsqlnet.oraが通常、$ORACLE_HOME/network/adminディレクトリに入ってい ます。FTPを使い、これらのファイルをPC上のC:¥ORANT¥NET80¥ADMINフォルダに転送しま す。この段階で、tnsnames.oraファイルには、以前に作成したNet8エイリアス (mydb) が記述さ れているはずです。 ステップ 5: Solarisマシン上のOracle8にNet8経由で PCから接続できること を確認する Form Builderを起動し、データベースに接続できるかどうかを確認します。 「ファイル」 メニュー から 「接続」オプションを選択するか、Ctrlキーを押しながらJキーを押して、ログイン画面を表示 します。そして、Oracleで有効なユーザーのユーザー名とパスワードを入力します。それらが不 明な場合は、Oracleに用意されているアカウント (ユーザー名は scott、パスワードはtiger)を使う こともできます。接続文字列のフィールドには、mydbと入力します。すると、 「ファイル」メ ニューで 「切断」という項目が使用可能になります。Form Builderは、この時点でかならず終了さ せてください。 ステップ 6: Developer/2000 用のシステム表をインストールする 今度は、Developer/2000に必要なシステム表を作成します。Oracle Installerに戻り、 「Developer/ 2000 Forms Database Tables」 というコンポーネントを選択してインストールします ( 「Developer/2000 Database Tables」というコンポーネントの展開が必要な場合があります) 。 必要なシステム表を作成するためのスクリプトを実行するには、SQL*Plus for Windows NTが インストールされている必要があります。SQL*Plusがインストールされていない場合は、Oracle Installerを使ってインストールしてから、システム表をインストールしてください。 ステップ 7: Form Builder を使ってサンプルアプリケーションを作成する Form Builderを再度起動し、前述の 「ステップ5」 に従ってデータベースに接続します。この章の 「スタンドアロンシステム」 で紹介した操作方法に従って、サンプルアプリケーションを作成しま す。 ステップ8: サンプルアプリケーションを実行した後、それをデータベースに保存 する サンプルアプリケーションを実行した後、この章の「スタンドアロンシステム」で紹介した操作 方法に従って、そのサンプルアプリケーションをデータベースに保存します。 21 ORACLE8 トラブルシューティング ステップ9: 設定された構成で Windows 3.1の16ビットのアプリケーションを 実行する Windows NT上でWindows 3.1の16ビットのOracleアプリケーションを動作させ、リモートの Oracle8 Serverに接続することは可能です。ただし、目的のアプリケーションおよびSQL*Net V2 for Windows 3.1は、クライアント上で別のフォルダ(C:¥ORAWINなど)にインストールする必要 があります。これで、SQL*Netのエイリアスを使い、リモートのOracle8 Serverに接続することが できます。tnsnames.oraファイルとsqlnet.oraファイルは、C:¥ORAWIN¥NETWORK¥ADMIN フォルダに格納してください。ただし、32ビットのNet8 for Windows NTは、Windows 3.1の16ビッ トのアプリケーションでは動作しません。 3 階層システム 3階層システムでは、目的のアプリケーションをアプリケーションサーバーに配備し、標準的 なブラウザを使ってそのアプリケーションにアクセスします。このアーキテクチャは、アプリ ケーションをシンクライアント上で動作させることができる、インターネットのような大規模な ネットワークを対象とした特殊なものです。たとえば、Forms Server ( “Formsリスナー” ともいう) を使用すれば、Form Builderで作成したアプリケーションを配備することができます。そして、 そのようなアプリケーションは、Javaをサポートしているブラウザで実行することができます。 クライアントとアプリケーションサーバーの間の接続に、Net8は不要です。必要な接続機能は、 TCP/IPによって提供されるからです。しかし、アプリケーションサーバーとデータベースサー バーが別々のマシン上に存在している場合は、Net8を使ってアプリケーションサーバーからデー タベースサーバーに接続する必要があります。Webサーバーは、一連のクライアントからの要求 を処理します。 ここでは、Oracle Web Application Server (WAS) でのデフォルトのインストールを実行し、Oracle Form Builderで作成したFormsアプリケーションをWeb上に配備します。 WASの媒体に入っているsetup.exeを起動します。すると、次のような 「言語」ダイアログボッ クスが表示され、インストールする言語を選択することができます。 22 Chapter 1 予防保守 : MS Windows NT の場合 ヒント Oracle8 Server、WAS 3.0、Developer/2000バージョン2.1 の順でインストールしてください。WASより先にDeveloper/ 2000をインストールすると、Developer/2000用のRequired Support Filesを再度インストールしなければなりません。 操作が終わったら、図1-2に示す 「オプションカートリッジの選択」 ダイアログボックスを使っ て、コンポーネントやカートリッジを追加することもできます。 次は、図1-3に示すダイアログボックスを使って、Webサイトに関する情報(サイトやホストの 名前など) を指定する必要があります。ただし、UDPポートは、表示されたものをそのまま使っ てください。 「管理リスナー情報」 ダイアログボックス (図1-4)を使用すれば、管理作業に使うリスナーの ポートを設定することができます。ただし、管理ページにアクセスするたびに、ユーザー名とパ スワードを入力するよう指示されるようになります。 この例では、HTTPサーバーがほかにインストールされていません。しかし、インストールさ れている場合は、「管理リスト情報」ダイアログボックスを使ってリスナーを選択する際、それら のサーバーも表示されます。リスナーのポートとしては、80(デフォルトのポート) を使うように してください。ほかのポートを使う場合は、ポート情報をURLの中で指定しなければなりませ ん。たとえば、リスナーのポートとして6666を使う場合は、URLが次のような形式になります。 図 1-2 インストールするカートリッジの選択 23 ORACLE8 トラブルシューティング 図 1-3 WAS に対するサイト情報の設定 図 1-4 管理リスナーの設定 24 Chapter 1 予防保守 : MS Windows NT の場合 http://www.company.com:6666 同様に、ユーザーからのリクエストを処理するためのリスナーを設定することもできます。 注意 UDPサービスポートは、Web管理やWebリスナー用のポートでは ありません。デフォルトでは、Web Administration Listenerに はポート8888が設定され、ユーザーからのリクエストを処理する ためのWebリスナーには通常、ポート80が設定されます。 最後に、インストールの完了を確認するためのダイアログボックスが表示されます。 この時点で、WAS 管理リスナーを設定することができます。ブラウザでhttp://<server>:<admin port>というフォーマットのURLを指定し、WAS 管理のメインページにアクセスしてください。 この例でのテストマシンの場合は、次のようなURLを使いました。 http://aadkoli-lap.us.oracle.com:8888 ダイアログボックスが表示されるので、WASの構成処理を実行するための管理者ユーザーとパ スワードを指定します。認証処理が完了すると、WAS 管理のメインページが表示されます。 この段階では、デフォルトの構成処理用のリンクをそのまま使います。これで、データベース のwww_dbaおよびwww_userというユーザーアカウントとDatabase Access Descriptor(DAD) が作成 され、必要なデータベースオブジェクト(PL/SQLパッケージも含む) がデータベースにインストー ルされます。データベース上では、SQL*Netの接続文字列とDBAの有効なログイン情報を指定し ます。DADは、この情報に基づいて作成されます。 注意 WAS 3.0では、SQL*Net 2.xを使って、データベースサーバーに 接続します(監修者注:OAS 4.0ではNet8がサポートされていま す。OAS 4.0では、Net8を使って、データベースサーバーに接続 します)。 この作業には、約5分かかります。作業の進捗に伴って、ログが表示されます。作業が完了す ると、その旨が画面に表示され、一連のWebリスナーを再起動するよう指示されます。 WAS 3.0で提供されているサンプルアプリケーションを数分間操作し、構成処理が正常に実行 されていることを確認してください。そのためには、メインの管理ページを表示し、「Sample Apps」へのリンクをクリックします。 WASのデフォルトのインストールで作成されるwww_dbaというユーザーとして、デモパッケー 25 ORACLE8 トラブルシューティング ジをインストールします。デモページにあるリンクをたどり、一連のデモが正しく動作すること を確認してください。問題が発生した場合は、¥ORANT¥inst.logファイルを見て、診断情報を探 してください。 WASがインストールできたら、Developer/2000をインストールすることができます。この場合 も、Oracle Installerを使用すれば、デフォルトのインストールを実行することができます。 Developer/2000のインストールが完了したら、Form Builderを使って、サンプルフォームを1つ作 成します。ここでは、SCOTT/TIGERというアカウントに所属しているDEPT 表を使用する test.fmxというフォームを使います。そして、Forms ServerおよびWASを使って、このフォーム をWeb上に配備します。次の節で、その手順を詳しく説明します。 ステップ 1: .FMX を WAS 上に配備する ORANT¥BINというフォルダ、または変数FORMS50_PATHによって定義されているPATHに記 述されている他の任意のフォルダにtest.fmxファイルをコピーします。この例では、そのフォーム を¥APPS¥WEB¥HTMLフォルダにコピーします。 注意 レジストリエディタを使用すれば、FORMS50_PATHを編集する ことができます。変数F O R M S 5 0 _ P A T H は、H K E Y _ LOCAL_MACHINE → SOFTWARE → ORACLEの順に展開し て見つけてください。 ステップ 2: Forms Server を起動する タスクバーの 「スタート」 ボタン→ 「プログラム」 → 「Developer 2000 R2.1」 → 「Forms Server Listener」 の順に選択すれば、Windows NT 4.0上でForms Server(またはListener) を起動することができます。 これにより、F50SRV32.EXEというプロセスが起動され、Windows NTのタスクマネージャに表 示されます。タスクマネージャの 「タスクの終了」ボタンを使い、必要に応じてForms Serverを シャットダウンすることもできます。 ステップ 3: アプリケーションをエンドユーザーに展開する ここでの目的は、FormsアプリケーションにアクセスするためのURLをユーザーに教えること です。test.fmxというアプリケーションをユーザーから利用することができるようにするための 最小限の構成処理を、1ステップずつ説明します。 最初に、Webサーバー上でForms用の仮想ディレクトリを作成します。「Oracle Web Listener」 画 面から「構成画面」 にアクセスし、ポート80の汎用リスナーの構成処理を実行します。WASでデ フォルトのインストールを選択した場合、そのリスナーはwwwになります。「ディレクトリ」とい うリンクをクリックし、仮想ディレクトリの構成処理を実行します。 26 Chapter 1 予防保守 : MS Windows NT の場合 表1-4に示すようなWebフォーム用の仮想ディレクトリを作成します。 注意 詳細については、Developer/2000のマニュアルにある 「Oracle Developer/2000 Webアプリケーション利用ガイド」 という章で 「Developer/2000 Serverの設定」 という項を参照してください。 次に、カートリッジインプリメンテーションと非カートリッジインプリメンテーションのいず れかを選択します。カートリッジインプリメンテーションの場合は、Formsカートリッジを作成 する必要があります。Formsカートリッジは、初期のHTMLファイルを動的に作成します。カー トリッジインプリメンテーションの場合は、アプリケーションサーバーにOracle Web Request Brokerをインストールする必要があります。一方、非カートリッジインプリメンテーションの場 合は、Web Request Brokerは不要です。ただし、アプリケーションに固有な情報がハードコード されている静的なHTMLファイルを作成しなければなりません。この例では、非カートリッジイ ンプリメンテーションを選択することにします。 まず最初は、Oracleから提供されている静的なHTMLのテンプレートをコピーします。ファイ ルをテキストエディタで開き、アプリケーションの要件に合わせてテキストおよびアプレットの タグを変更します。ファイルは、HTMLファイル用に定義されているweb_htmlという仮想ディレ クトリに格納します。この例では、静的テンプレートstatic.htmをコピーし、それにtest.htmと いう名前を付けます。 C:エappsエwebエhtml> copy c:エorantエtoolsエdevdem20エwebエstatic.htm test.htm 次は、test.htmファイルを編集し、先に作成したアプリケーションtest.fmxに関する情報を指 定します。アプレットの定義は、次のようになります。 ファイルシステムのディレクトリ フラグ 仮想ディレクトリ C:¥ORANT¥FORMS50¥JAVA NR /web_code/ C:¥APPS¥WEB¥HTML NR /web_html/ C:¥ORANT¥FORMS50¥JAVA NR /web_jars/ 表 1-4 Forms 用の仮想ディレクトリの作成 27 ORACLE8 トラブルシューティング <!-- applet definition (start) --> <APPLET CODEBASE="/web_code/"CODE="oracle.forms.uiClient.v1_4.engine.Main" ARCHIVE="/web_jars/f50web.jar" HEIGHT=20 WIDTH=20> <PARAM NAME="serverArgs" VALUE="module=test userid=scott/tiger@aa_web"> </APPLET> <!-- applet definition (end) --> 注意 前記の情報の中には、大文字と小文字が区別されるものもありま す。前記の引数CODEの値の中の 「C」 と「M」は、大文字でなければ なりません。 モジュール名の場合は、拡張子.FMXは必要ありません。また、test.fmxファイルに対する完全 な物理パスも不要です。それは、環境変数FORMS50_PATHで定義されているパスの中に入って いるからです。パラメータuseridでは、Oracleユーザー、パスワード、およびSQL*Netの接続文字 列を指定します。 今度は、アプリケーションのテストを行います。この例では、Sun Microsystemsから提供され ているJDK Applet Viewerを使用します。コマンドプロンプトで、test.htmファイル(仮想ディレ クトリweb_htmlに入っている)のURLを指定し、appletviewerを起動します。 C:エorantエJDK1.1エjdkエbin> appletviewer http://aadkoli-lap.us.oracle.com/ web_html/test.htm アプリケーションtest.fmxが画面に表示されます。 注意 アプリケーションは、Java 1.1.1以降をサポートしているブラウ ザであれば、実行することができます。ただし、現時点では、 appletviewerを使ってアプリケーションをテストしてくださ い。なぜなら、HTMLのタグがすべて無視され、アプレットのコー ドだけが処理されるため、アプリケーションのデバッグを簡単に実 行することができるからです。appletviewerをインストールす るには、「スタート」ボタン→「プログラム」→「Developer 2000 R2.1」 →「Install JDK Applet Viewer」 の順に選択します。イン ストール先のフォルダには、c:¥orant¥jdk1.1を指定します。 コントロールパネルの「システム」を使って、次の環境変数が設定さ れていることを確認してください。 28 Chapter 1 予防保守 : MS Windows NT の場合 CLASSPATH=C:エORANTエJDK1.1エJDKエCLASSES.ZIP また、変数PATHにC:¥ORANT¥JDK1.1¥JDK¥BINというフォルダが含まれていることも確認し てください。 サードパーティ製品 場合によっては、Microsoft Visual Basicなどのサードパーティ製のツールで作成したアプリケー ションを、Oracle8といっしょに使わなければならないこともあります。このような場合は、 ODBC標準を使用すれば、比較的簡単に行えます。ODBCの詳細については、Chapter 6の 「ODBC の概要」を参照してください。 この例では、Oracle8 Personal Editionデータベースといっしょに、Microsoft Visual Basicで作成 したサンプルアプリケーションを使います。Windows NT上のODBCとNet8を併用すれば、リモー トのOracle8データベースに簡単に接続することができます。変更点は、Net8の接続文字列だけで す。一連のステップは、次のとおりです。 1. Oracle8 Personal Edition for Windows NTをインストールし、その確認作業を行う 2. Oracle8 ODBC Driver for Windows NTをインストールし、その構成処理を行う 3. Oracle ODBCのサンプルの実行可能プログラムを使い、ODBCのインストール状況をテス トする 4. Microsoftのマニュアルに従って、Microsoft Visual Basicをインストールする 5. サンプルアプリケーションとOracle8を使い、接続状況を確認する ステップ 1: Oracle8 Personal Edition for Windows NT をインストールし、 その確認作業を行う インストールガイドに記載されている操作方法とこの章で紹介したガイドラインに従って、 Oracle8 Personal Edition for Windows NTをインストールし、その確認作業を行います。 ステップ2: Oracle8 ODBC Driver for Windows NTをインストールし、その 構成処理を実行する C:¥WINNT¥odbc.iniおよびC:¥WINNT¥odbcinst.ini (存在する場合)のバックアップを採取しま す。次は、インストールガイドに従い、Oracle Installerを使ってOracle8 ODBCドライバをインス トールします。そして、インストールガイドに従って、ODBCデータベースの定義を作成しま す。Windows NTのコントロールパネルでは、 「ODBCデータソース」 のアイコンを使うことができ ます。データベースの名前には、Oracle8 Personal Editionを使う場合は、2:というテキスト文字列 を入力します。リモートのOracle8 Serverに接続する場合は、Net8のエイリアス (別名)を入力しま す。パスの中にC:¥ORANT¥BINが含まれていることを確認してください。 29 ORACLE8 トラブルシューティング 注意 Oracle7 ODBCドライバを必要とするアプリケーションを使う場 合は、Net8ではなくSQL*Net V2をクライアントにインストール してください。Net8は、Oracle7 ODBCドライバでは動作しませ ん。この状況では、ローカルなOracle8データベースに関しても、 SQL*Netのエイリアスを作成し、それを使う必要があります。ま た、接続文字列2:は機能しません。 ステップ 3: Oracle ODBC のサンプルの実行可能プログラムを使い、ODBC の インストール状況をテストする インストール媒体には、オラクル社から提供されているODBCサンプルプログラムが入ってい ます。このプログラムの詳しい使用方法については、Oracle ODBCドライバのマニュアルを参照 してください。ODBCサンプルアプリケーションを起動し、データベースに接続した後、サンプ ルの問合せを実行してテストしてください。 ステップ 4: Microsoftのマニュアルに従って、Microsoft Visual Basicをイン ストールする ここでも、Microsoft Visual Basicを使ってサンプルアプリケーションを簡単に実行することに なります。一連のサンプルアプリケーションも含め、Microsoft Visual Basic for Windows NTをイ ンストールしてください。SAMPLESというフォルダには、すべてのサンプルアプリケーション が入っています (本書の執筆時点では、 「visdata」 というサンプルアプリケーションが使用可能でし た)。 ステップ 5: サンプルアプリケーションと Oracle8 を使い、接続状況を確認する アプリケーションvisdataを起動した後、 「ファイル」 メニューの「開く」を選択し、Oracle8デー タベースをオープンします。使用可能な表を使い、問合せをいくつか実行してみてください。 Oracle 以外の RDBMS このような環境では、Oracleのクライアントツールで作成したアプリケーションを、Oracle以外 のデータベース (ODBCに準拠) といっしょに使うことになります。ここでは、Microsoft Accessの データベースにあるCUSTOMERという表に関し、Report Builderを使ってサンプルのレポートを 作成します。 1. Report BuilderおよびMicrosoft Access for Windows NTをインストールします。ただし、 ODBCコンポーネントは、カスタムなインストールプロセスを使ってインストールしてく ださい。インストール済み製品のリストには、Oracle Open Client Adapter for ODBCという 30 Chapter 1 予防保守 : MS Windows NT の場合 コンポーネントが表示されるはずです。 2. Microsoft Accessを起動し、表CUSTOMERを作成して定義をいくつか実行した後、それを データベースTESTに保存します。 3. データベースTESTのODBCデータベース定義acctestを作成します。その際は、コント ロールパネルの「ODBCデータソース」アイコンを使うことができます。 4. Report Builderを起動した後、定義acctestを使って接続を実行します。 接続文字列としては、odbc:ODBCデータベース定義の名前のように指定します。 また、ODBC:*という接続文字列を使用して、使用可能なデータベースの一覧を表示する こともできます。 Accessのデータベースの中にDeveloper/2000のデータベース表が存在していないために、エ ラーが出力される場合もあります。ただしそれはほとんど無害です。 5. サンプルのレポートを作成し、それを実行します。 定義acctestによって定義されているデータベースの中の表CUSTOMERに関してサンプルのレ ポートを作成し、それを実行します。ただし、Report Builderは、データベースTEST中のすべて の表をリスト出力できないことがあります。これは、そのような機能を提供するのに必要なデー タディクショナリ表がMicrosoft Accessにないからです。レポートの設計時は、select * from customerのようなSQL文字列を入力することができます。これにより、期待した結果が得ること ができます。 Windows NT のチューニング 多くのサイトでは、さまざまな分野に渡って、パフォーマンスのチューニングに多大な労力を かけています。ここでは、チューニングに関するWindows NTに固有な機能についてだけ説明し ます。Oracleのマニュアルにある『Oracle8 Server チューニング』 には、サーバーのチューニングに 関する詳細な情報が記載されています。NTの管理者は、この節で紹介する内容を読めば、Oracle のRDBMSに合わせてWindows NTサーバーを簡単にチューニングすることができます。I/O (入出 力) をチューニングすれば、パフォーマンスが大幅に改善されます。また、タスクをいくつか実 行すれば、ユーザーに対する応答時間も改善されます。 メモリ ここでの目標は、Oracleデータベースの各種の構造で、物理メモリに高速にアクセスできるよ うにすることです。メモリのチューニングは、常にアプリケーションのチューニングを実施した 後で行いますが、必ず物理I/Oのチューニングを実施する前に行います。また、メモリのチューニ 31 ORACLE8 トラブルシューティング ングは、オペレーティングシステムのレベルおよびOracleインスタンスのレベルで実行しなけれ ばなりません。オペレーティングシステムが、仮想メモリ (スワップファイルまたはページファ イル) をできるかぎり使用しないようにすることが重要です。メモリの使用状況に関する情報は、 Windows NTの診断プログラムを使えば取得することができます。ユーティリティを起動するに は、 「スタート」 ボタン→ 「プログラム」 → 「管理ツール(共通)」 →「Windows NT診断プログラム」 の順 にクリックします。 「メモリ」タブをクリックすれば、メモリの使用状況が画面に表示されます。 画面下部のページファイルには、特に注意してください。このファイルの使用量が少ないと、 アプリケーションを実行するのに十分な物理メモリがあることになります。ページファイルが絶 えず使用されている場合は、そのサイズを補うために物理メモリを追加することを検討した方が よいでしょう。すべてのSGAページをメモリに格納するには、PRE_PAGE_SGAパラメータを使 用します。このパラメータは、次のように設定します。 pre_page_sga = true パフォーマンスモニタ (PM) を使用すれば、ページファイルを監視することができます。PMで 「編集」メニューの 「グラフに追加」 を選択し、Paging Fileオブジェクトのチャートに 「%Usage」 およ び 「%Usage Peak」 を追加してください。また、Windows NT診断プログラムで使用可能と報告され た物理メモリも監視してください。メモリの使用状況は、PMでMemoryオブジェクトを選択して 監視することもできます。 CPU CPUがパフォーマンスのボトルネックになることはまずありません。しかし、PMでCPUのパ フォーマンスを監視してみる価値はあります。PMでProcessorオブジェクトを選択すれば、CPUの 使用状況に関する統計情報が表示されます。 物理的な入出力 ディスクに対する物理I/Oは、パフォーマンスに影響を与える可能性があります。PMでPhysical Diskオブジェクトを選択すれば、I/Oの統計情報が表示されます。少なくとも、ディスクに対する 書き込みとディスクからの読み込みを監視してください。これらの合計を、実際のハードディス クの仕様と比較してみてください。そして、ハードディスクおよびディスクコントローラがパ フォーマンスに影響を与えていないことを確認してください。 複数のディスクがある場合は、Oracleデータベースのファイルと同じディスク上にページファ イルが作成されていないことを確認してください。コントロールパネルの「システム」にある 「パ フォーマンス」タブを使用すれば、ページファイルの特性を設定することができます。 32 Chapter 1 予防保守 : MS Windows NT の場合 Oracle8 Performance Monitor Windows NT上のOracle8 Serverは、PMと統合されています。「スタート」 ボタン→「プログラム」 → 「Oracle for Windows NT」 →「Oracle8 Performance Monitor V8.0」 を順にクリックして、Oracleに関 連した統計情報を取得します。Oracle8 Performance Monitorを起動すると、Oracleから提供されて いるC:¥ORANT¥DBS¥oracle80.pmwという名前の作業領域ファイル付きでWindows NTのPMが起 動します。このファイルは、要件に合わせて変更することができます。 EXPLAIN PLAN SQLのEXPLAIN PLANコマンドを使用して、特定の問合せのアクセスパスに関する情報を取得 することができます。EXPLAIN PLANコマンドは、アプリケーションのチューニングに役立ちま すが、PLAN_TABLEという名前の表を作成する必要があります。表PLAN_TABLEは、ファイル C:¥ORANT¥RDBMS80¥ADMIN¥utlxplan.sqlのSQLスクリプトを使って作成することができます。 EXPLAIN PLANコマンドについては、製品マニュアル『Oracle8 Server SQLリファレンス』を参照 してください。 インスタンスチューニング用のスクリプト Windows NT上のOracle8では、インスタンスチューニング用の標準的なSQLスクリプトをすべ て使用することができます。これらのスクリプトは、C:¥ORANT¥RDBMS80¥adminフォルダに 入っています。これらには、utlestat.sql、utlbstat.sql、utlchain.sql、utldtree.sql、utllockt.sql などが含まれます。 Oracle8 Serverのバックアップ: Windows NTの 場合 Windows NTは、そのGUI方式のユーティリティ群によって、Oracle8 RDBMS用サーバーのプ ラットフォームとしてポピュラーなものになっています。管理タスクはかなりシンプルで、ほと んどどのようなユーザーでも簡単に理解することができます。これから説明する内容を読めば、 Windows NTの管理者はOracle8 Serverのバックアップを簡単に採取することができます。ただし、 データベースが使用中の状態にあるときは、Oracleのファイルをすべて他の場所にコピーするだ けでは不十分です。注意してください。ORANTディレクトリ全体をテープにコピーし、それが 有効なバックアップであると思い込んでいるユーザーがよく見かけられます。 Windows NTの場合、Oracleの多数のユーザーは、データベースのバックアップ処理に関して、 適正な方針を理解していません。1日の中の所定の期間、データベースを完全にシャットダウン することができるのであれば、 “データベースのコールドバックアップ”をおすすめします。デー 33 ORACLE8 トラブルシューティング タベースをシャットダウンすることができない場合は、 “オンラインバックアップ” を実行しなけ ればなりません。では、Windows NTのマシン上で実行可能なこれら両方の方法について、例を 使って説明しましょう。 コールドバックアップ コールドバックアップは、データベースを完全にシャットダウンさせることができる場合にだ け有効な方法です。シャットダウンを実行する時期が明確な場合は、Windows NTのコマンドを 使用すれば、コールドバックアップ処理を自動化することもできます。また、GUI版のスケ ジューラ(Windows Resource Kitに付属しています)を使用することもできます。 全体の操作手順は、次の3つのステップからなります。 1. データベースをシャットダウンする。 2. COPY機能を使って、全ファイルのバックアップを採取する。 3. データベースを再起動する。 GUI版のスケジューラを使う場合の操作と、Windows NTのコマンドを使う場合の操作について 説明します。 まず、スケジューラのサービスが起動していることを確認します。この確認は、コントロール パネルの「サービス」を使って行います。スケジューラサービスが起動中であることを確認してく ださい。 次に、バッチファイル (たとえば、orabak.bat) を作成し、そのファイルに次の文を記述します (Oracle RDBMSバージョン8.0.4およびデータベース関連の全ファイルは、RDBMS80というフォ ルダに入っているものとします。インストール時は、適切なディレクトリパスを指定してくださ い)。 s v r m g r 3 0 . e x e @d:エshutdown.sql d:エorantエbinエs svrmgr30.exe c o p y d:エorantエrdbms80エ*orcl.ora c:エbackup d:エorantエbinエsvrmgr30.exe @d:エstartup.sql 今度は、次のような内容のshutdown.sqlファイルを作成します。 set instance P: P:<NT Server Name:>ORCL connect internal/<password> internal shutdown immediate exit 34 Chapter 1 予防保守 : MS Windows NT の場合 注意 すぐ前のスクリプトでは、shutdown immediateを指定していま す。これは、ユーザーがデータベースに接続している場合でも、 データベースをシャットダウンします。 今度は、次のような内容のstartup.sqlファイルを作成します。 set instance P:<NT P Server Name>:ORCL connect internal/<password> internal startup exit 複数のデータベースが存在している場合は、startup.sqlファイルおよびshutdown.sqlファイル を変更して、それら複数のデータベースを指定する必要があります。すぐ前の例では、「ORCL」 というSIDを持つデフォルトのOracleデータベースを使っています。 今度は、バックアップ処理のスケジューリングをWindows NTで実行します。Windows NTのス ケジ ュー ラを 起動し 、「A d d 」をク リッ クし ます。 コマ ンド ライン で、 作成 したば かり の orabak.batファイルの完全パスを入力し、そのバッチファイルの実行時刻を入力します。 代わりに、Windows NTのDOSのコマンドプロンプトで、次のコマンドを入力することもでき ます。 d:>at at <time><command> たとえば、orabak.batファイルを午前2時に実行するようスケジューリングする場合は、次の ようなコマンドになります。 d:>at 02:00 "d:エorabak.bat" オンラインバックアップ データベースを完全にシャットダウンすることができないために、コールドバックアップが実 行できない場合もあります。そのため、ユーザーがデータベースに接続している状態 (つまり、 データベースが使用中の状態)でバックアップ処理を実行しなければならないこともあります。 ここでは、そのような場合の操作について説明します。 35 ORACLE8 トラブルシューティング 注意 この項では、Windows NTがC:¥WINNT、Oracle8 for Windows NT(バージョン8.0.4) がD:¥ORANTにインストールされているも のとします。また、OracleはWindows NTにデフォルトでインス トールしたものとし、「ORCL」というデフォルトのSIDを持つもの とします。 最初に、Oracle8を“archivelogモード”で動作させる必要があります。これは、オンラインバッ クアップを実行するには必須の操作です。D:¥ORANT¥DATABASE¥initorcl.oraを編集し、次の行 を追加します。 SET LOG_ARCHIVE_START = TRUE LOG_ARCHIVE_DEST = D:エORANTエARCH RAID構成になっているドライブを、アーカイブログファイルの格納先として使用しないでく ださい。続けて、次のコマンドをServer Managerから発行し、データベースをarchivelogモードで 起動します。 SVRMGR>CONNECT INTERNAL/<Password> CONNECT INTERNAL SVRMGR>STARTUP STARTUPMOUNT ALTER DATABASE ARCHIVELOG; SVRMGR>ALTER ALTER DATABASE OPEN; SVRMGR>ALTER ALTER SYSTEM SWITCH LOGFILE; SVRMGR>ALTER 最後のコマンドでは、ログファイルの切り替えを強制的に実行することによって、アーカイブ ログファイルを作成しています。次は、 “一番古いログ順序番号” を取得する必要があります。そ のためには、次のコマンドを発行します。 SVRMGR>ARCHIVE ARCHIVE LOG LIST Database log mode ARCHIVELOG Automatic archival ENABLED Archive destination d:エorantエarch Oldest online log sequence 59 Next log sequence to archive 61 Current log sequence 61 この例の場合、一番古いオンラインログ順序番号(oldest online log sequence) は、59です。つま り、順序番号59から始まるアーカイブログファイルすべてを、オンラインバックアップの一部と して保持しなければなりません(ログファイル自体の名前は、i n i t o r c l . o r a ファイルの中の log_archive_formatの設定値によって決まります。 「59」 は、そのファイル名の中に入っています) 。 36 Chapter 1 予防保守 : MS Windows NT の場合 今度は、スクリプトを実行し、バックアップの対象となる一連の表領域を設定します。つま り、バックアップの対象となる表領域にマークを付け、その表領域に関連しているすべてのデー タファイルをコピーして、表領域のバックアップ版を作成します (表領域にどのようなデータファ イルが所属しているのかが不明な場合は、DBA_TABLESPACESとDBA_DATA_FILESに対して問 合せを実行します) 。コピーの処理が終わったら、バックアップの末尾にマークを付けるための コマンドを発行します。では、user_dataという表領域のバックアップについて説明します。 svrmgr>@d:エtempエbegin_user_backup.sql @d:エtempエbegin_user_backup.sql begin_user_backup.sqlファイルの内容は、次のとおりです。 connect system/manager alter tablespace user_data begin backup; exit; 次に、OracleのocopyかWindows NTのcopyを使って、表領域user_dataに関連するすべてのファ イルをコピーします。 d:エorantエbinエocopy80 d:エorantエdatabaseエusr1orcl.ora d:エtempエusr1orcl.bak バックアップの対象となる表領域に関連するファイルをすべてコピーし終えたら、次のコマン ドを発行し、バックアップの末尾にマークを付けます。 svrmgr>@d:エtempエend_user_backup.sql @d:エtempエend_user_backup.sql end_user_backup.sqlファイルの内容は、次のとおりです。 connect system/manager alter tablespace user_data end backup; exit; スクリプト自体に、copyコマンドやocopy80コマンドを記述することもできます。この場合は、 SQLスクリプトの中でhostコマンドを使うことができます。先ほどの例の場合、すべてのコマン ドを1つのSQLスクリプトの中に記述すると、次のようになります。 connect system/manager alter tablespace user_data begin backup; host d:エorantエbinエocopy80 d:エorantエdatabaseエusr1orcl.ora 37 ORACLE8 トラブルシューティング d:エtempエusr1orcl.bak alter tablespace user_data end backup; exit; 次は、archive log listコマンドを再度発行し、 “現行のログ順序番号” を調べます。一番古いログ 順序番号から現行のログ順序番号(この例では63) までのアーカイブログファイルは、すべて保持 する必要があります。これらのアーカイブログファイルは、d:¥temp¥usr1orcl.bakファイルとと もに、表領域user_dataのバックアップになります。この場合も、alter system switch logfileを発 行し、ログファイルを強制的に切り替える必要があります。 SVRMGR>alter system switch logfile; SVRMGR>archive log list Database log mode ARCHIVELOG Automatic archival ENABLED Archive destination d:エorantエarch Oldest online log sequence 61 Next log sequence to archive 63 Current log sequence 63 次のコマンドを使って、制御ファイルのバックアップを採取することができます。 SVRMGR>ALTER DATABASE BACKUP CONTROLFILE TO ''d : エ t e m p エ c o n t r o l . b a k ' ; 注意 Oracleのファイルのバックアップをテープに採取する場合は、 ocopy80を使うことができません。Windows NTの管理ユー ティリティを使う必要があります。 Windows NTのOracle8には、データベースのバックアップを採取することができるNT Backup Managerユーティリティも用意されています。同様に、NT Recovery Managerを使用して、リカバ リ (回復)処理を実行することができます。さらに、Oracle Recovery Managerを使用すれば、バッ クアップの採取やリカバリの実行を行うことができます。Recovery Managerについては、 『ORACLE8バックアップ&リカバリー』 (翔泳社刊、1998年)を参照してください。 38 Chapter 1 予防保守 : MS Windows NT の場合 FAQ(よく尋ねられる質問事項とその回答) Q. Windows 3.1およびWindows 95を対象として記述されているアプリケーションが多数ありま す。そのようなアプリケーションをWindows NTで使うことはできますか。 A. 一般的に、Windows 3.1の16ビットのアプリケーションは、変更しなくてもWindows NT上で 動作します。ただし、Windows 3.1とWindows 95のOracle製品は、それぞれ別々のフォルダにイン ストールしなければなりません。その点には注意してください。たとえば、Windows 3.1の製品 がすべてC:¥ORAWINにインストールされている場合、Windows 95の製品はすべてC:¥ORAWIN95 にインストールします。Windows 3.1およびWindows 95のアプリケーションをWindows NT上で使 用する前に、それらを再生成する必要があります。たとえば、Windows 3.1用のDeveloper/2000 Forms 4.5のアプリケーションの場合は、Windows NT上で.FMXファイルを再生成し、Form Builder 5.0を使って使用します。互換性に関する問題については、表1-5を参考にしてください。 Q. Developer/2000は、Windows NT 4.0上で実行することができないと聞きました。それは本当 ですか。 A. Developer/2000バージョン1.3.2は、Windows NT 4.0上で実行することができます。これは、 1997年1月にオラクル社によって保証されています。 Win 3.1 Win 3.11 Win 95 Win 95 Win NT (32ビット (16ビット (32ビット 3.51 クライアント) クライアント) クライアント) Win NT 4.0 Oracleツール(16ビット) OK OK OK OK OK NG Oracleツール(16ビット)- OK SQL*Netも16ビット OK OK OK OK NG SQL*Net(16ビット) バージョン2.0以降 OK OK OK OK OK NG SQL*Net(32ビット) バージョン2.2 NG NG NG OK OK NG SQL*Net(32ビット) バージョン2.3.2以降 NG NG OK OK OK OK Oracleツール(32ビット) NG NG OK OK OK OK Oracleツール(32ビット) NG -SQL*Netは16ビット NG NG NG NG NG Oracleツール(32ビット) NG -SQL*NetとNet8は 32ビット NG OK OK OK OK 表 1-5 Windowsとの互換性 39 ORACLE8 Q. トラブルシューティング Oracle RDBMSで、Windows NTの認証を使用することは可能ですか。Oracleデータベース用 にユーザーアカウントを別に作成しなければならないのはなぜですか。 A. Oracleでは、オペレーティングシステムによる外部認証を使用することができます。アカウ ントの詳細については、Oracle8 Serverのマニュアルを参照してください。Windows NT上で簡単 なアカウントを作成する方法を紹介します。 まず、INIT.ORAファイルの中で次のようなパラメータが設定されていることを確認します。 os_authent_prefix remote_os_authent 次に、 「管理ツール」グループにあるユーザーマネージャを使って、Windows NT Server上でユー ザーアカウント (ABCなど) を作ります。Server ManagerまたはSQL*Plusを使い、Oracleデータベー スにユーザー“DBA”として接続した後、次のSQLコマンドを発行します。 SQL >CREATE CREATE USER ABC IDENTIFIED EXTERNALLY; GRANT CONNECT TO ABC; SQL >GRANT このアカウントを修正して、デフォルトの表領域や一時的な表領域を定義することができま す。この例では、 “USERS” というデフォルトの表領域と、 “TEMP” という一時的な表領域を割り 当てることにします。 ALTER USER ABC DEFAULT TABLESPACE USERS TEMPORARY SQL >ALTER TABLESPACE TEMP; Oracle8に接続するには、 “user” としてWindows NT Serverにログインします。その際、ログイン 画面のユーザー名フィールドには、スラッシュ(/) を入力します。これで、Oracleデータベースに 接続されるはずです。 注意 以前のリリースのOracleでは、OS_AUTHENT_PREFIXのデフォ ルト値がOPS$でした。そのため、NTでのユーザー名がABCで あったとすると、OPS$ABCという名前のユーザーをOracleで作 成する必要がありました。しかし、O r a c l e 8 では、 OS_AUTHENT_PREFIXに自由な文字列を設定することができま す。このパラメータにNULL文字列を設定すると、NTのユーザー とOracleのユーザーが同一になります。そのため、ABCという名 前のNTユーザーに対して、ABCという名前のOracleユーザーを作 成することもできます。 40 Chapter 1 予防保守 : MS Windows NT の場合 Q. Windows NTおよびWindows NTクライアントについてはどうですか。すぐ前の解決方法は、 これらにも適用されますか。 A. Windows NT Server上でOracle8 Serverを動作させ、その環境でWindows NTまたはWindows NTクライアントを使うことは可能です。また、その場合でも、オペレーティングシステムの認証 を使用することができます。Net8のNamed Pipes(Windows NTでデフォルトのネットワークプロ トコル)を使用する場合は、追加の操作は必要ありません。 ただし、その他のプロトコルの場合は、OPS$による認証が機能する前に、定義済みの “user” とし てWindows NT Serverに物理的に接続しなければなりません。その場合の操作は、次のようにな ります。 1. サーバー上でファイルマネージャかエクスプローラを起動し、適当な名前( “共有名” ) を付 けてディレクトリを1つ共有します。 2. 「アクセス権」 ボタンをクリックし、ステップ1で作成した共有ディレクトリにアクセスす るためのアクセス権を割り当てます。 3. Windows NTまたはWindows NTクライアント上で、定義済みの“user” としてログインし、 ファイルマネージャかエクスプローラを起動します。そして、「ツール」 → 「ネットワーク ドライブの割り当て」の順に選択し、ステップ1および2で作成したサーバー上の共有ディ レクトリに接続します。Windows NTの認証を使えば、Oracle8 Serverに接続することがで きるはずです。 (/) は、Oracleのユー Oracleのログイン情報には、/@<Net8 alias> を使います。先頭のスラッシュ ザー名とパスワードを表しています。Net8 aliasは、クライアント上のtnsnames.oraで定義されて いるエイリアス(別名) です。 Q. Windows NTの起動時に、Oracle8 Serverを自動的に起動するには、どのようにすればよいで すか。 A. OracleServiceORCLおよびOracleStartORCLというOracleサービスが自動的に起動するよう設 定します(コントロールパネルで 「サービス」アイコンをクリックします) 。 これらのサービスをまだ設定していない場合は、oradim80プログラムを使用して、自動起動オ プションが設定されたサービスを作成することができます。 Q. Windows NTに接続する方法として、TCP/IPとNamed Pipesのいずれを使うか悩んでいます。 Oracleにとっては、どちらがよいのでしょうか。 A. Oracleを使う場合は、どちらでもかまいません。ただし、どちらかに決定する前に、いくつ かの項目を検討する必要があります。Windows (3.1、95、NT)ベースのマシンだけでネットワー クが構成されている場合は、Named Pipesをそのまま使えるはずです (Named Pipesがネイティブ なプロトコルであるため) 。また、TCP/IPを使うUNIXマシンなどから構成されている異種混合の ネットワークでは、TCP/IPもNamed Pipesも使えるはずです。Net8のエイリアス(別名) を利用す 41 ORACLE8 トラブルシューティング れば、Oracleに接続するためのプロトコルをいつでも選択することができます。 Q. Oracleクライアント (Windows NT上) からOracle8サーバー(Windows NTサーバー上) に接続し ています。Oracleのデータベースファイル (Windows NTサーバー上) にアクセスするためのファイ ルアクセス権をWindows NTのユーザーに付与する必要がありますか。 A. いいえ、クライアントにアクセス権を付与する必要はありません。Oracleデータベースに対 するすべての接続は、Windows NTサーバー上のNet8リスナーが処理します。データベースオブ ジェクトに対するアクセス権は、Oracle RDBMSのレベルで処理されます。 Q. Oracle8 Serverをインストールするためには、Windows NT Serverを使う必要がありますか。 Windows NT Workstationではだめですか。 A. Windows NT Workstationを使えば十分です。どのような場合でも、Oracle8 Serverに対する接 続要求は、Net8が処理します。ただし、Microsoft Windows NT自体に関するライセンス上の問題 が発生することもあります。Microsoftのライセンスに関連する問題については、Microsoft Windows NTのベンダーに相談してください。Oracleパラレルサーバーオプションの場合は、 Windows NT Serverが必要です。 Q. Oracleでは、なぜたくさんのリソースを必要とするのですか。 A. Oracleの製品は、他の一部のベンダーの製品に比べて複雑であり、機能も豊富です。16MB のRAMでも動作するかもしれませんが、物理メモリを十分に用意し、スワップの発生を防止した 方がよい結果が得られます。Windows 3.1のアプリケーションは、物理メモリが少ないと、低速 でしか動作しない場合があります。 Q. Oracleのツール群とデータベースを、それぞれ別々にインストールしなければならないのは なぜですか。 A. Microsoft Accessなどの他の製品とは異なり、Oracleの製品を使えばクライアント/サーバー アーキテクチャを容易に構築することができます。そのため、フロントエンドアプリケーション を作成するためのツールは、RDBMSとは別に作成します (これも、アプリケーションの開発を容 易にしています) 。そして、スタンドアロンの環境で設計構築したアプリケーションを、クライ アント/サーバー環境に簡単に展開することができます。 Q. 自分のマシンにインストールされている製品を確認するには、どうすればよいでしょうか。 A. Oracle Installer for Windows NTを起動すれば、自分のマシンにインストールされている製品 の一覧を表示することができます。また、C:¥ORANT¥ORAINST¥nt.rgsファイルをテキストエ ディタで表示してもかまいません。ただし、nt.rgsファイルは絶対に手動で編集しないでくださ い。 42 Chapter 1 予防保守 : MS Windows NT の場合 Q. Oracle Installerを実行したときに、エラーが発生しました。そのエラーは、.VRFに関する障 害のようです。どうすればよいですか。 A. Oracleのインストール媒体では、多数のチェック処理用スクリプトが.VRFファイルに入って います。製品をインストールするときに、別のOracle製品に添付されていたOracle Installerを使っ てしまうと、.VRFファイルに記述されている環境変数が定義されていないような状況が発生する 場合もあります。.VRFファイルに関するエラーメッセージが出力された場合は、製品の媒体自体 に入っているOracle Installerを使ってみてください。媒体上のOracle Installerは、setup.exeまたは orainst.exeを起動すれば、実行することができます。 Q. Oracleの製品CDを持っています。setup.exeかorainst.exeを実行すればよいのですか。 A. 通常は、そのどちらかの実行可能プログラムを実行することができます。ただし、Windows NTの規格では、製品のインストールプログラムをsetup.exeにするよう提唱されています。 setup.exeは、Oracle Installerの実行可能プログラムであるorainst.exeを起動しているだけです。 Q. 指示に従って、Developer/2000 Form Builder用のデータベース表を作成しました。しかし、 「ORA-942 表またはビューが存在しません」 というエラーが発生します。何が問題なのでしょう か。 A. Oracle Installerを使ってデータベース表を作成したときに、データベース表を作成するため のSQLスクリプトが異常終了すると、そのエラーに気づかない場合もあります。必要なシステム 表の一部が、正しく作成されていない可能性があります。 「作成すべき全オブジェクトを格納で きるだけの十分な容量がSYSTEM表領域にない」 という問題は、よく発生します。SYSTEM表領 域には、空き領域が約20MB必要です。それを確認してから、データベース表のインストールを 再度実行してください。また、生成されたログファイルをよく見て、エラーがないか調べてくだ さい。 Q. インストールされているOracleの製品をWindows NTから削除するには、どのようにすれば よいでしょうか。 A. Oracle Installerを使用すれば、目的の製品をWindows NTから削除することができます。しか し、その操作は、少し退屈かもしれません。NT用のOracle製品が 「すべて」 不要な場合は、次のス テップに従って操作すれば、Oracleの全製品を削除することができます。 1. まず、コントロールパネルの「サービス」を使って、Oracleの全サービスを停止させます。 Oracleのすべてのサービスは、名前の中に 「ORCL」 、「Oracle」 、または 「TNS」 という文字列 が含まれています。これらの名前を1つずつ選択し、「停止」 ボタンをクリックします。 2. 次に、regedit (Windows NTのレジストリエディタ) を起動し、 「HKEY_LOCAL_MACHINE」 → 「ORACLE」 の順に選択します。そして、Deleteキーを押し、不要なエン → 「SOFTWARE」 トリを削除します。 43 ORACLE8 3. トラブルシューティング 今度は、 「HKEY_LOCAL_MACHINE」 →「SYSTEM」 →「CurrentControlSet」 →「Services 」 の順 に選択します。リストをスクロールダウンし、Oracleに関するエントリをすべて削除しま す。 4. これで、Oracleの一連のプログラムグループをデスクトップから削除し、Oracle Toolbarの アイコンを「スタートアップ」 グループから削除することができます。 5. Oracleに関連しているファイルをすべて削除します。Windows NTのエクスプローラを使用 し、Oracleのホームディレクトリ(デフォルトはC:¥ORANT) を選択します。このディレク トリとその一連のサブディレクトリを、すべて削除します。また、Windows NTのホーム ディレクトリ(通常はC:¥WINNT)から、次のファイルも削除します。 6. ORACLE.INI ORADIM.INI OTEMP.INI VS20.INI* OTOOLBAR.INI* Windows 3.1の16ビットのOracleアプリケーションがある場合は (通常はC:¥ORAWINフォル ダに入っている)、フォルダも削除することができます。 7. というラベルのセクションが記述されている場合は、 最後に、win.iniファイルに 「Oracle」 それも削除します。 44