このチュートリアルでは、Oracle WebLogic Server 12cの管理コンソールを使用して、JDBCデータソースを構成する方法について説明します。
約30分
データソースは、Java Database Connectivity(JDBC)クライアントからデータベース接続を取得できるようにするためのオブジェクトです。 データソースには、接続プールと呼ばれるデータベース接続の集まりが含まれています。 アプリケーションはデータソースに接続を要求し、この接続を使用してデータベースにアクセスした後で、接続を終了します。 ただし、データソースは実際に接続を終了するのではなく、再度使用できるように、接続プールに接続を戻します。 データソースは、WebLogic Serverインスタンスの構成の一部として作成できます。 サーバー起動時(またはデータソースのデプロイ時)にサーバーによってデータベース接続が作成され、データソースの接続プールに格納されます。
このチュートリアルでは、Oracle WebLogic Server 12c(12.1.1)の管理コンソールを使用して、データソースと接続プールを作成する方法について説明します。 この際の接続先データベースは、Oracle Databaseです。
ソフトウェア要件は、以下のとおりです。
このチュートリアルを始める前に、Oracle by ExampleチュートリアルのOracle WebLogic Server 12c: Installing WebLogic Server and Creating a DomainとOracle WebLogic Server 12c:管理対象サーバーの構成を完了している必要があります。
JDBCクライアント・アプリケーションに必要なデータベース・スキーマをセットアップするには、以下の手順を実行します。
. |
WebLogic Serverのドメインとサーバーが配置されたマシン上にjdbc_obe.zipファイルをダウンロードします。 ローカル・ドライブにファイルの中身を解凍します。 このチュートリアルでは、/home/oracle/jdbcobe/testdsディレクトリにファイルが解凍されました。 zipファイルには、次の3つのファイルが含まれています。
|
|---|---|
. |
Oracle Databaseを起動したユーザーとして、システムにログインします。 ターミナル・ウィンドウを開き、SQLスクリプト・ファイルtestds_oracle.sqlのある場所に移動します。 このチュートリアルでは、次のディレクトリに移動します。 $ cd /home/oracle/jdbcobe/testds データベース環境変数を出力して、正しく設定されていることを確認します。 $ echo $ORACLE_HOME 注:実際の環境変数の値は上記とは異なる場合があります。 値が出力されない場合、次のコマンドを使用して適切な値を設定してください。 $ export ORACLE_HOME=valid_value 次に、sysdbaユーザーとしてSQL Plusを起動します。 $ $ORACLE_HOME/bin/sqlplus / as sysdba
|
. |
systemユーザーとしてデータベースに接続します。 接続時にパスワードとデータベース名を指定できます。 このチュートリアルでは、次のコマンドを使用します。 SQL> connect system/oracle@XE 次のコマンドを使用して、SQLスクリプトを実行します。 SQL> @testds_oracle.sql
スクリプトtestds_oracle.sqlはPBPUBLICというユーザーを作成し、PBPUBLICというパスワードを設定します。 また、このユーザーにセッションや表などの作成権限を付与します。 次に、このユーザーとしてデータベースに接続し、EMPLOYEE、WLS_CATALOG_ITEMS、WLS_CLIENT_INFOという3つの表を作成します。 最後に、これらの表に行を挿入してから終了します。
|
ドメインの管理サーバーと管理対象サーバーdizzy1を起動するには、以下の手順を実行します。
. |
ドメインの管理サーバーがまだ稼働していない場合、これを起動する必要があります。 ターミナル・ウィンドウでドメイン・ディレクトリに移動し、次のコマンドを入力します。 $ ./startWebLogic.sh
ユーザー名とパスワードの入力を求められたら、ドメイン管理者の資格証明を入力します。
|
|---|---|
. |
管理対象サーバーdizzy1も実行中である必要があります。 まだ稼働していない場合は、これを起動します。 別のターミナル・ウィンドウでドメイン・ディレクトリに移動し、cdからbinサブディレクトリに移動します。 次のコマンドを入力します。 $ ./startManagedWebLogic.sh dizzy1 http://host01.example.com:8001
これによって、管理対象サーバーdizzy1の起動スクリプトが実行されます。 ドメインの管理サーバーを示すURLが引数として渡されている点に注意してください。 注:使用するドメイン内の管理サーバーに対するホスト名とポートで置き換えてください。
ユーザー名とパスワードの入力を求められたら、ドメイン管理者の資格証明を入力します。
|
WebLogic Server管理コンソールを使用してJDBCデータソースを構成するには、以下の手順を実行します。
. |
管理サーバーとdizzy1サーバーが実行中になったら、WebLogic Server管理コンソールにアクセスします。 Webブラウザを開いて次のURLを入力します。 このチュートリアルでは、http://host01.example.com:8001/consoleを使用します。 注:使用するドメイン内の管理サーバーに対するホスト名とポートで置き換えてください。 Welcome画面で、サーバーの起動時に入力したユーザー名とパスワードを使用してログインします。
|
|---|---|
. |
データソースの作成はドメイン構成の変更になるため、まず構成をロックする必要があります。 Change Centerで、「Lock & Edit」ボタンをクリックします。
|
. |
管理コンソールのDomain Structureで「Services」を開き(横にある「+」をクリック)、「Data Sources」をクリックします。
|
. |
右側にSummary of JDBC Data Sourcesセクションが表示されます。 Data Sources表の見出しの下にある「New」ドロップダウン・リストをクリックし、「Generic Data Source」を選択します。
|
. |
Create a New JDBC Data Sourceウィザードの1ページ目で、データソースのNameにdizzyworldDSを入力します。 また、データソースのJNDI NameにdizzyworldDSと入力します。 注:データソース名とJNDI名が一致している必要はありません。 JNDI名はデータソースへのアクセス時にJDBCクライアントによって使用されるため、JNDI名を書き留めておきます。 Database Typeドロップダウン・リストから「Oracle」を選択します。 「Next」をクリックします。
|
. |
ウィザードの2ページ目でDatabase Driverドロップダウン・リストを使用して、 「Next」をクリックします。
|
. |
次のページのTransaction Optionsセクションで、すべてのデフォルトをそのままにして「Next」をクリックします。
|
. |
次のページでDatabase Nameを入力します。 このチュートリアルではXEを使用していますが、実際のデータベース名は異なる場合があります。 管理対象サーバーdizzy1のHost Nameを入力します。 このチュートリアルでは、host01.example.comが使用されています。必要に応じて、dizzy1サーバーのホスト名で置き換えてください。 データベースのPortはデフォルトの1521のままにします (データベースで別のポートを使用している場合を除く)。 Database User NameにPBPUBLICと入力します。 これは、SQLスクリプトによって作成されたユーザーです。 PasswordフィールドとConfirm Passwordフィールドに、データベース・ユーザーのパスワードを2回入力します。 ここで使用するパスワードはPBPUBLICです。 「Next」をクリックします。
|
. |
次のページで「Test Configuration」ボタンをクリックし、入力された情報に基づいてデータベースへ接続できるかどうかを確認します。
|
. |
"Connection test succeeded"というメッセージが表示されたら、「Next」をクリックします。 接続に失敗した場合は「Back」ボタンを使用して、データソースに対する入力内容を確認し、間違いがあれば修正します。 入力内容に誤りがないにもかかわらずテストに失敗する場合は、データベースが実行されていることを確認してください。
|
. |
ウィザードの最終ページで、データソースの割当てを指定します。 データソースをサーバーに割り当てると、データソースはこのサーバーによって管理され、サーバー・リソースの1つとして使用可能になります。 dizzy1の横のチェック・ボックスを選択します。 「Finish」をクリックします。
|
. |
Summary of JDBC Data SourcesページのData Sources表に、新しいデータソース「dizzyworldDS」が表示されます。
|
. |
新しいデータソースの構成を変更するには、表からデータソース名「dizzyworldDS」をクリックします。
|
. |
Settings for dizzyworldDSセクションで、Configurationタブ内の「Connection Pool」タブをクリックします。
|
. |
下方向にスクロールして、"capacity"フィールドを見つけます。 Initial Capacityに2と入力します。 Maximum Capacityに10と入力します。 Minimum Capacityに2と入力します。 「Save」をクリックします。
"Settings updated successfully"というメッセージが表示されます。
|
. |
Change Centerで、「Activate Changes」ボタンをクリックします。
"All changes have been activated. No restarts are necessary."というメッセージが表示されます。
|
. |
Domain Structureセクションで「Environment」を開き、「Servers」をクリックします。
|
. |
Servers表からサーバー「dizzy1」をクリックします。
|
. |
"Settings for dizzy1"セクションで、ConfigurationタブのGeneralサブタブ内で「View JNDI Tree」リンクをクリックします。
|
. |
JNDIツリーが新しいブラウザ・ウィンドウ(またはタブ)に表示されます。 JNDIツリーにdizzyworldDSが表示されていることを確認します。 注:JNDIツリーに表示されるその他のエントリは、使用しているサーバーに定義されたリソースによって異なります。
|
簡単なWebアプリケーションを使用してJDBCデータソースをテストするには、以下の手順を実行します。
. |
新しいターミナル・ウィンドウを開き、WebLogicインストール・ディレクトリ内の/server/binディレクトリへ移動します。 このチュートリアルでは次のディレクトリを使用します。 次のコマンドを実行して、setWLSEnv.shスクリプトを実行します。 $ source setWLSEnv.sh これによってPATHとCLASSPATHが設定され、WLSTのデプロイメント・スクリプトが実行できるようになります。
|
||||||||
|---|---|---|---|---|---|---|---|---|---|
. |
次に、testds.warファイルのあるディレクトリへ移動します。 このファイルは、先ほど解凍したzipファイルに含まれていたものです。 このチュートリアルでは、zipファイルは/home/oracle/jdbcobe/testdsディレクトリに解凍されています。
|
||||||||
. |
提供されたWLSTスクリプトdeploy_testds.pyを実行する前に、これを編集する必要があります。 スクリプトの1行目ではconnect()コ マンドが使用されています。 このコマンドの最初の引数はドメイン管理者のユーザー名であり、2番目の引数はこのユーザーのパスワードです。また、3番目の引数はドメインの管理サー バーのホスト名およびポートです。 スクリプトを実行する前に、使用するドメインに合わせてこれらの引数の値が正しく設定されていることを確認します。 スクリプトに必要な変更を加えたら、ファイルを保存します。
|
||||||||
. |
スクリプトdeploy_testds.pyを実行し、testds.warファイルに含まれるWebアプリケーションをデプロイし、サーバーdizzy1に割り当てます。 実行するには、次のコマンドを入力します。 $ java weblogic.WLST deploy_testds.py
デプロイ処理が成功したことを示すメッセージが表示されます。 注:Context.close()に関する警告は無視して構いません。 WLSTスクリプトを実行すると常にこの警告が表示されますが、問題はありません。
|
||||||||
. |
デプロイメントが成功したことを確認するには、管理コンソールのDomain Structureセクションで「Deployments」をクリックします。 次に、Deployments表からState欄が"Active"になっているTestDSを見つけます。
|
||||||||
. |
デプロイされたアプリケーションを使用するには、別のWebブラウザに管理対象サーバーdizzy1のホストとポートを入力し、最後に/testdsを付加します。
この例で使用したURLは、以下のとおりです。 アプリケーションが表示されたら、次の情報を入力します。
「Test Data Source」ボタンをクリックします。
|
||||||||
. |
フィールドの下に、EMPLOYEE表に含まれる行が表示されます。
アプリケーションは、dizzy1からデータソースを検索する際のJNDI名として、入力されたData Source Name(dizzyworldDS)を使用し、このデータソースからデータベース接続を取得します。次にSQLを実行して、Table Nameフィールドに入力された表(EMPLOYEE)からすべての行を選択します。 データソースのテストを再実行する場合、Table Nameフィールドに別の表を入力してみます。 その他の表には、WLS_CATALOG_ITEMSとWLS_CLIENT_INFOがあります。
|
このチュートリアルで学習した内容は、次のとおりです。
![]()
|
Copyright © 2011, Oracle and/or its affiliates. All rights reserved |