このチュートリアルでは、Oracle WebLogic Server 11g Release 1(10.3.4)において、Oracle Real Application Clusters(Oracle RAC)にアクセスするためのGridLinkデータソースを作成する方法について説明します。
約30分
このチュートリアルでは、Oracle WebLogic Server(Oracle WLS)を、単一のGridLink JDBCデータソース経由でOracle Real Application Clustersと連携するように設定する方法について説明します。
ソフトウェア要件は、以下のとおりです。
このチュートリアルを始める前に次のことを確認してください。
|
. |
Oracle WebLogic Server 11g Release 1(10.3.4)をインストールしていること |
|---|---|
|
. |
Oracle Real Application Clusters 11g Release 2をデータベースとともに複数ノードにインストールしていること |
|
. |
各Oracle RACノードでデータベースを起動していること |
|
. |
Oracle RACと統合する管理対象サーバー(複数可)にOracle WebLogic Serverドメインを作成していること |
|
. |
このWebLogicドメインのAdministration Serverを起動していること |
|
. |
データソースのターゲット先とする管理対象サーバーを起動していること |
次の手順を実行します。
|
. |
Oracle RACのいずれかのノードで、<ORACLE_HOME>/network/admin内 のtnsnames.oraファイルを確認します。 この例のシステムのノード1では、<ORACLE_HOME>は/u01/app/oracle/product/11.2.0/dbhome_1で す。
|
|---|---|
|
. |
このファイルで、サービスが記載されていることを確認します。 この例のサービス名はMYHASERVICEです。
|
|
. |
サービスが記載されていない場合は、次の手順に進む前に、『Creating a Multi Data Source in WebLogic Server 11g R1 to Access Oracle RAC 11g R2』というOracle by Example(OBE)を参照し、Creating a Database Serviceの手順を実行してください。
|
次の手順を実行します。
|
. |
test.shファイルとtest.sqlファイルをダウンロードし、Oracle RACデータベース・インスタンスが実行中のいずれかのマシンに保存します。
|
|---|---|
|
. |
test.sqlを確認します。 このスクリプトは、データベース・インスタンス名、データベース・ホスト名、データベース・サービス名を出力します。 このファイルを変更する必要はありません。
|
|
. |
test.shを編集し、修正が完了したら保存します。 このスクリプトではループが5回発生しています。 それぞれのループで、SQL*Plusにログインし、test.sqlスクリプトを実行します。 SQL*Plusへ のログイン時に有効なユーザー名とパスワードを使用してログインするよう、test.shを編集する必要があります。この例では、ユーザー 名はsystem、パスワードはoracle_4Uです。 また、お使いのサービス名(この例ではMYHASERVICE) と一致するよう、サービス名を変更する必要もあります。
|
|
. |
修正が完了したら、test.shを実行します。 出力結果から、Oracle RACノードへのアクセスを確認します。
|
次の手順を実行します。
|
. |
Oracle RACのいずれかのノードのターミナル・ウィンドウで、srvctl config scan_listenerコ マンドを入力します。 出力結果が次のようになっていることを確認します。 出力結果の"Port: TCP:"の後にあるSCANリスナー・ポートをメモします。 この例では、1521で す。
|
|---|---|
|
. |
次に、srvctl status scan_listenerコマンドを入力します。 出力結果が次のようになっていることを確認します。
|
|
. |
最後に、srvctl config scanコマンドを入力します。 出力結果が次のようになっていることを確認します。 出力結果の"SCAN name:"の後にあるURLの最初の部分のSCANリスナー名をメモします。 この例では、cluster01-scanです。
SCAN設定:SCANリスナーが実行中の場合も、企業のドメイン・ネーム・サービス(DNS)でSCANを定義する か、Oracleグリッド・ネーミング・サービス(Oracle GNS)を使用してSCANを定義する必要があります。 詳しくは、『Single Client Access Name』のドキュメントをダウンロードして確認し てください。 SCANを使用していない場合:SCANを使用していない場合や設定していない場合でも、このチュートリアルを実行でき ます。 GridLinkデータソースではSCANを使用せず、個々のノードに対して設定することが可能です。 "SCANを使用していない場合"の説明をすぐに参照する場合は、GridLinkデータソースの作成の注を 確認してください。
|
次の手順を実行します。
|
. |
Webブラウザを開き、WebLogic Server管理コンソールのURLを入力します。 URLの形式は、http://<host>:<port>/consoleで す。 この例では、http://localhost:7001/consoleです。
|
|---|---|
|
. |
管理レベルのユーザー名とパスワードを使用してログインします。 この例の管理レベルのユーザー名はweblogicで す。 「Login」をクリックします。
|
|
. |
Domain Structure領域で、Servicesの横の「+」をクリックし、展 開します。
|
|
. |
「Data Sources」をクリックします。
|
|
. |
Change Centerで、「Lock & Edit」をクリックし、設定をロックします。
|
|
. |
設定がロックされ、変更できるようになります。
|
次の手順を実行します。
|
. |
Data Sources領域で、「New」ボタンをクリックします。 ドロップダウン・リストから、「GridLink Data Source」を選択します。
|
|---|---|
|
. |
Create a New JDBC GridLink Data Source領域で、データソースのNameとJNDI Nameを入力し、XA Driverを使用するかどうかを選択します。 「Next」をクリックします。
|
|
. |
この例ではXA Driverは選択していないので、次の画面が表示されます。 この画面で、グローバル・トランザクションのサポートの可否、およびその処理方法を入力します。 トランザクション・オプションを選択したら、「Next」 をクリックします。
注:XA Driverを選択した場合は、この画面は表示されません。
|
|
. |
SCANを使用している場合は、GridLink data source connection Properties Optionsで、この例のように「Enter complete JDBC URL」を選択します。 「Next」 をクリックします。
注:SCANを使用していない場合は、この手順を実行しないでください。 代わりに、SCANを使用していない場合という代替の手順を参照してください。 代替の手順の中で、通常の手順に戻るタイミングが示されています。
|
|
. |
ここでComplete JDBC URLを入力します。 形式は、jdbc:oracle:thin:@<scan-listener-name>:<scan-listener-port>/<service-name>で す。 <scan-listener-name>は、先にsrvctl config scanコマンドを実行した際に表示された内容です。 SCANリスナー名は、コマンドの出力結果の"SCAN name:"の後ろにあるURLの最初の部分です。 この例では、cluster01-scanです。 <scan-listener-port>は、先にsrvctl config scan_listenerコマンドを実行した際に表示された内容です。 SCANリスナー・ポートは、コマンドの出力結果の"Port: TCP:"の後にあります。 この例では、1521です。 <service-name>は、設定したデータベース・サービスの名前です。 この例のサービス名はMYHASERVICEです。 このため、この例のURL全体は、次のようになります。 また、この画面で、Database User Nameを入力し、さらにPasswordフィールド とConfirm Passwordフィールドのそれぞれにパスワードを入力します。 「Next」をクリックします。
|
|
. |
次の画面で、「Test All Listeners」ボタンをクリックし、入力した設定が有効であるかどうかをテスト します。
|
|
. |
設定が有効な場合は、緑の"成功"メッセージが表示されます。 赤の"失敗"メッセージが表示された場合は、「Back」 ボタンをクリックして、設定の問題を解決します。 テストが成功したら、「Next」をクリックします。
|
|
. |
ONS Client Configuration画面で情報を入力 する前に、Oracle Notification Service(ONS)のホストとポートを確認する必要があります。 ONSのホスト名は、ノードのDNS名となります。 ONSのポートは、ons.configファイルに記載されています。 いずれかのノードにログオンします。 Gridインストール領域に、gridディレクトリがあります。 その下に、opmnディ レクトリ(Oracle Process Manager and Notification Server)があります。 OPMN(Oracle Process Manager and Notification Server)のconfディレクトリの下に、ons.configファ イルがあります。 このファイルのremoteportの値をメモします。 この例のシステムでは、ons.configファイルのあるディレクトリは/u01/app/11.2.0/grid/opmn/conf/で あり、このファイルのremoteportは6200です。
|
|
. |
ONS Client Configuration画面で、「FAN Enabled」を選択します。
|
|
. |
同じ画面で、すべてのONS host and portを入力し、「Add」ボタンをクリックします。 各ホストのDNS名、コロン、ons.configファイルに記載されていたONSポート番号の順に記述します。
|
|
. |
ONSのホストとポートをすべて入力したら、「Next」をクリックします。
注:ONS Walletは使用していないので、このすべてのフィールド(画像には表示されていません) は空白になります。
|
|
. |
次の画面で、「Test All ONS Nodes」ボタンをクリックします。
|
|
. |
それぞれのONSノードについて緑の"成功"メッセージが表示されます。 表示されない場合は、「Back」ボタンをク リックし、設定を修正して、再度実行します。 成功したら、「Next」をクリックします。
|
|
. |
ターゲット・サーバー(複数可)を選択し、「Finish」をクリックします。
|
|
. |
Change Centerで、「Activate Changes」をクリックします。
|
|
. |
Messages領域で、変更がアクティブ化されたことが表示されます。 また、サーバーを再起動する必要があるかどうかも示されます(この例の場合は必要ありません)。
|
次の手順を実行します。
|
. |
もう一度Change Centerを開き、「Lock & Edit」をクリックします。
|
|---|---|
|
. |
Data Sourcesのリストで、作成したGridLinkデータソースの名前をクリックします。 この例では、gridlinkDSで す。
|
|
. |
データソースの設定で、Configurationタブが選択されていることを確認し、「Connection Pool」サブタブをクリックします。
|
|
. |
下にスクロールし、Initial Capacity、Maximum Capacity、Capacity Incrementの各フィールドを表示します。 これらのフィールドを任意の値に設定します。 この例では、それぞれ5、50、5に 設定しています。
|
|
. |
DBAの指示に従って、接続プールの設定に対してその他の変更を行います。 完了したら、「Save」をクリックしま す。
|
|
. |
Change Centerで、「Activate Changes」をクリックします。
|
|
. |
GridLinkDSTest.javaファイル をダウンロードし、システムに保存します。 このJavaクラスのmainメソッドでは、WebLogic Serverのインスタンスに接続し、GridLinkデータソースからデータベース接続を取得します。 このメソッドは次に、データベースに接続し、データベース名、ホスト名、データベース・サービス名を取得し、標準出力にこれらの名前を表示します。 mainメソッドの上部にあるString変数の一部を、お使いの環境に合わせて編集する必要があります。 これらの変数には、WebLogic Serverのホストとポート、データベースのユーザー名とパスワード、GridLinkデータソースのJNDI名が含まれます。
|
|---|---|
|
. |
ターミナル・ウィンドウで、Java Developer's Kit(JDK)のbinディレクトリを含むようにPATHを
設定します。 この設定によって、javacとjavaの実行可能ファイルにアクセスして、Javaクラスのコンパイルと実
行を行うことができます。 WebLogic Serverインストール環境に含まれるJDKを使用できます。 この例のシステムでは、Sun JDKのbinディ
レクトリは次の場所にあります。
注:このPATHは、現在のPATHにJDKのbinディレクトリを付加し たパスに設定されます。
|
|
. |
同じターミナル・ウィンドウで、現在のディレクトリとweblogic.jarを含むようにJavaのCLASSPATHを
設定します。 この例のシステムでは、weblogic.jarは次の場所にあります。
|
|
. |
ソース・コードのファイル名を指定してJavaコンパイラを呼び出し、このクラスをコンパイルします (javac GridLinkDSTest.java)。
注:コンパイル済みのクラスであるGridLinkDSTest.classが作成されている場合は、注 意や警告は無視してください。
|
|
. |
クラス名を指定してJava仮想マシンを呼び出し、コンパイル済みクラスを実行します (java GridLinkDSTest)。 テスト・コードによって、GridLinkデータソースを使用して接続したデータベースから取得したデータベース名、ホスト名、データベース・サービス名 が出力されます。 テスト・コードを複数回実行し、GridLinkデータソースがOracle RACの異なるデータベースへの接続を返すかどうかを確認します。
注:このターミナル・ウィンドウを閉じないでください。 次の項で使用します。
|
|
. |
実行したテスト・クライアントからの出力結果を確認し、使用中のデータベースを1つ選択します。 他のデータベースよりも多く使用されているデータベースがある場合は、そのノードを選択します。 この例では、host01上のorcl1デー タベースです。
|
|---|---|
|
. |
そのデータベースが実行中のホストにログオンし、SQL*Plusにsysdbaとしてアクセスします。
|
|
. |
shutdown immediateコマンドを入力します。
注:コマンドの最後に必ず";"を入力してください。
|
|
. |
データベースが停止したら、使用していたターミナル・ウィンドウでjava GridLinkDSTestと入力して、 Javaテスト・クライアントを再度実行します。 GridLinkデータソースが停止しているデータベースを使用せず、他のノードにフェイルオーバーしていることがわかります。
|
|
. |
SQL*Plusに戻り、startupコマンドを使用してデータベースを再起動します(ここでも、必ず ";"を入力してください)。 次に、exitコマンドを使用してSQL*Plusを終了します。
注:サービス経由で接続するテスト・クライアントがそのノードを再度使用できるようにするには、停止し再起動されたデー タベース・ノード上でサービスを再起動する必要があります。
|
|
. |
SCANを使用していない場合は、GridLink data source connection Properties Optionsで、この例のように「Enter individual listener information」を選択しま す。 「Next」をクリックします。
|
|---|---|
|
. |
Connection Properties画面で、Service Nameを入力します。 この例では、MYHASERVICEです。
|
|
. |
同じ画面で、すべてのデータベースのHost and portを入力し、「Add」ボタンをクリックし ます。 各Oracle RACデータベース・ノードのホスト名とポートを使用します。
|
|
. |
この画面で、Database User Nameを入力し、さらにPasswordフィールドとConfirm Passwordフィールドのそれぞれにパスワードを入力します。 「Next」をクリックします。
|
|
. |
次の画面で、「Test All Listeners」ボタンをクリックし、入力した設定が有効であるかどうかをテスト します。
|
|
. |
設定が有効な場合は、緑の"成功"メッセージが表示されます。 赤の"失敗"メッセージが表示された場合は、「Back」 ボタンをクリックして、設定の問題を解決します。 テストが成功したら、「Next」をクリックします。
|
|
. |
その他の手順は、SCANを使用している場合と同様です。 ここをクリックし て、一般的な手順に戻ってください。
|
このチュートリアルでは、Oracle RACデータベースのすべてのノードにアクセスするように単一のGridLinkデータソースを設定する方法を説明しました。 開発者がデータベース接続を必要とする場合に、コードを使用してGridLinkデータソースを検索すると、Oracle RACデータベースのいずれかのノードに対するデータベース接続を取得できます。
このチュートリアルで学習した内容は、以下のとおりです。
![]()
|
会
社情報 |オラクルとサン | |