![]() ![]() ![]() ![]() |
この章では、WebLogic Portal で Oracle データベースを使用するための必要手順について説明します。ここでは以下の内容を扱います。
作業を進める前に、この章全体とリリース ノートを参照してください。この章で説明するタスクはデータベース管理者が実行します。
注意 : | WebLogic Portal Oracle データベース ユーザが DBA 権限を持っていると、データベースでエラーとアップグレードの問題が発生します。データベース オブジェクト作成またはアップグレード実行の前、に Oracle ユーザの DBA 権限を取り消し、GRANT CREATE TABLE、CREATE VIEW、CREATE TRIGGER、CREATE SEQUENCE、CREATE SESSION、UNLIMITED TABLESPACE TO <<WEBLOGIC>> の権限に置き換える必要があります。 |
以下の手順を実行する前に、「WebLogic Portal のエンタープライズ品質データベース コンフィグレーションの概要」をお読みください。
データベース作成スクリプトによって、ドメイン固有のテーブルがインストールされます。サンプル スクリプトを変更し、各自の環境に必要なデータベース ユーザとテーブルスペースを作成する作業は、データベース管理者と共に行うことをお勧めします。
複数のドメインを使用する場合、または同じ Oracle のインスタンスを使用して複数の環境を実行する場合 (1 つの Oracle から開発やシステム テストを実行する場合など) は、複数のデータベース ユーザが必要です。GroupSpace では、コンテンツ管理リポジトリを追加した場合と同様に、独立したデータベース ユーザが必要です。
注意 : | Oracle コンフィグレーション設定はコンテンツ検索のパフォーマンスに影響を及ぼす場合があります。詳細については、「Oracle のコンテンツ検索の応答時間の改善」を参照してください。 |
WL_HOME
/portal/db/oracle/admin
ディレクトリにあるサンプル スクリプトを確認します。詳細については、「表 7-1 データベース スクリプトと使用上の注意」およびスクリプト内のコメントを参照してください。
メインの WebLogic Portal データベースをコンフィグレーションするには、次の手順に従います。
create_tablespaces.sql
スクリプトをコピーし、環境に合わせて変更します。詳細については、「表 7-1 データベース スクリプトと使用上の注意」およびスクリプト内のコメントを参照してください。create_tablespaces.sql
スクリプトを実行します。たとえば、SQL*Plus の場合は次のようにします。@create_tablespaces.sql
create_users.sql
スクリプトをコピーし、環境に合わせて変更します。詳細については、「表 7-1 データベース スクリプトと使用上の注意」およびスクリプト内のコメントを参照してください。create_users.sql
スクリプトを実行します。たとえば、SQL*Plus の場合は次のようにします。@create_users.sql
残りの手順は、Configuration Wizard を使用せずに手動でデータベース オブジェクトを作成する場合にのみ実行します。Configuration Wizard を使用して残りの手順を実行する場合は、WebLogic Server のドキュメント『コンフィグレーション ウィザードを使用した WebLogic ドメインの作成』を参照してください。
database.properties
ファイルを編集用に開きます。database=oracle
と設定します。 oracle.user=@DB_USER@
oracle.password=@DB_PASSWORD@
oracle.url=jdbc:bea:oracle://@DB_HOST@:@DB_PORT@;SID=@DB_NAME@
BEA_HOME
\user_projects\domains\
myPortalDomain ディレクトリに移動します。create_db.cmd
をダブルクリックします。create_db.sh
を実行します。
エラー メッセージが表示された場合は、create_db.log
ファイルで詳細を確認してください。
注意 : | create_db スクリプトを実行後、データベース管理者のパスワードを更新する必要があります。詳細については、「データベース オブジェクトの作成または更新の注意について」を参照してください。 |
appsGroupSpaceDataSource
を除く) は、デフォルトでは PointBase を指しています。これを、Oracle を指すデータ ソースに置き換えます。これらは、WebLogic Server Administration Console を使用してコンフィグレーションするか、または、提供されているサンプルから選択し、データベース環境に合わせて変更します。BEA がサポートする各データベースおよびドライバ用の jdbc.xml
定義ファイルのサンプル (oracle_bea
または oracle_thin
など) を WL_HOME
\portal\db\jdbc\
database_driver ディレクトリから入手できます。WL_HOME
\portal\db\jdbc\README.txt
ファイルで説明している手順に従います。rebuild_indexes.sql
を実行して、インデックスを WEBLOGIC_INDEX
テーブルスペースに移動します。 注意 : | これは WebLogic Server の停止中に行います。 |
GroupSpace データベースをコンフィグレーションするには、次の手順に従います。
create_tablespaces.sql
スクリプトをコピーし、環境に合わせて変更します。詳細については、「表 7-1 データベース スクリプトと使用上の注意」およびスクリプト内のコメントを参照してください。create_tablespaces.sql
スクリプトを実行します。たとえば、SQL*Plus の場合は次のようにします。@create_tablespaces.sql
create_users.sql
スクリプトをコピーし、環境および GroupSpace の設定に合わせて変更します。詳細については、「表 7-1 データベース スクリプトと使用上の注意」およびスクリプト内のコメントを参照してください。create_users.sql
スクリプトを実行します。たとえば、SQL*Plus の場合は次のようにします。@create_users.sql
残りの手順は、Configuration Wizard を使用せずに手動でデータベース オブジェクトを作成する場合にのみ実行します。Configuration Wizard を使用して残りの手順を実行する場合は、WebLogic Server のドキュメント『コンフィグレーション ウィザードを使用した WebLogic ドメインの作成』を参照してください。
groupspace_database.properties
ファイルを編集用に開きます。database=oracle
と設定します。 oracle.user=@DB_USER@
oracle.password=@DB_PASSWORD@
oracle.url=jdbc:bea:oracle://@DB_HOST@:@DB_PORT@;SID=@DB_NAME@
BEA_HOME
\user_projects\domains\
myPortalDomain ディレクトリに移動します。create_db.cmd -database.properties=groupspace_database.properties
create_db.sh -database.properties=groupspace_database.properties
エラー メッセージが表示された場合は、create_db_groupspace.log ファイルで詳細を確認してください。
注意 : | create_db スクリプトを実行後、データベース管理者のパスワードを更新する必要があります。詳細については、「データベース オブジェクトの作成または更新の注意について」を参照してください。 |
appsGroupSpaceDataSource
JDBC データ ソース (デフォルトで PointBase を指す) を Oracle を指すデータ ソースに置き換えます。WebLogic Server Administration Console を使用するか、または BEA がサポートする各データベースおよびドライバ用に提供される jdbc.xml
定義ファイルのサンプル (oracle_bea
または oracle_thin
など) を更新します。この定義ファイルは、WL_HOME
\portal\db\jdbc\
database_driver から入手できます。WL_HOME
\portal\db\jdbc\README.txt
ファイルで説明している手順に従います。
他の WebLogic Portal データベース オブジェクトとは別の場所に行動追跡イベントを保存すると、パフォーマンスを向上させることができます。行動追跡の詳細については、『対話管理ガイド』の「イベントと行動追跡の設定」を参照してください。
注意 : | デフォルトでは、行動追跡データベース オブジェクトは他の WebLogic Portal データベース オブジェクトと同じデータベースに作成されます。これらの手順を実行する必要があるのは、行動追跡イベント用に別個のデータベースをコンフィグレーションする場合だけです。 |
bt_create_tablespaces.sql
ファイルと bt_create_users.sql
ファイルを環境に合わせて変更します。詳細については、「表 7-1 データベース スクリプトと使用上の注意」およびスクリプト内のコメントを参照してください。bt_create_tablespaces.sql
スクリプトを実行します。 bt_create_users.sql
スクリプトを実行します。WL_HOME
\portal\db\oracle
に移動します。WEBLOGIC_EVENT
で接続し、次のスクリプトを実行します。WL_HOME
\portal\db\data\required
から次のスクリプトを実行します。p13n.trackingDataSource
をそのデータ ソースに関連付けてから、p13n.trackingDataSource
を p13nDataSource
から削除します。
表 7-1 は、Oracle データベースのコンフィグレーションとそのデータベース内での WebLogic Portal の作成を可能にするスクリプトについて説明します。
|
|||||||
|
|||||||
|
|||||||
|
この節では、WebLogic Portal で Oracle Real Application Cluster (RAC) 10g を使用するために必要な手順について説明します。
Oracle Real Application Cluster は、Oracle のデータベース クラスタ技術です。RAC は、WebLogic Portal デプロイメントのデータベース層においてスケーラビリティ、高可用性、およびロード バランシングを提供します。Oracle RAC の詳細については、WebLogic Server ドキュメント『WebLogic JDBC のコンフィグレーションと管理』の「WebLogic Server での Oracle RAC の使い方」を参照してください。
以下の節では、WebLogic Portal で Oracle RAC を使用する場合のさまざまな要件およびコンフィグレーションの選択項目について説明します。以下のものが含まれます。
WebLogic Portal 10.2では、次の Oracle RAC および JDBC ドライバの組み合わせがサポートされています。
WebLogic Platform 10.0 でサポートされているすべてのデータベース コンフィグレーション については、「WebLogic Platform によるデータベースのサポート」 を参照してください。
WebLogic Portal で使用する JDBC データ ソースのそれぞれについて、次のコンフィグレーションの選択項目を考慮する必要があります。
JDBC フェイルオーバとロード バランシングを実装する場合、WebLogic マルチデータ ソースによる実装と、Oracle Thin ドライバに組み込まれたクラスタ対応機能による実装の 2 とおりの方法があります。「WebLogic Server での Oracle RAC の使い方」に、これらの実装方法の例が記載されています。
「WebLogic Server での Oracle RAC の使い方」で指摘したように、Oracle RAC へのアクセスに Oracle Thin ドライバのみを使用すると、いくつかの制限があります。具体的には、XA サポートと一緒にロード バランシングを使用することはできません。
これに対して、WebLogic マルチデータ ソースでは、XA とロード バランシングの使用が完全にサポートされています。マルチデータ ソースには、フェイルオーバの高速化や自動フェイルバックなどの利点もあります。これらの利点があるので、RAC へのアクセスにはマルチ データ ソースが望ましい選択となります。これ以降、このドキュメントでは、マルチデータ ソースの使用を前提として説明します。
WebLogic Portal データ ソース では、portalDataSourceNeverXA
データ ソースを除き、フェイルオーバ とロード バランシングの両方がサポートされています。portalDataSourceNeverXA
は JDBC ストアとして使用します。「WebLogic Server での Oracle RAC の使い方」で説明したように、JDBC ストアのデータ ソースではロード バランシング アルゴリズムを使用することはできません。
WebLogic Portal データ ソースは、p13nDataSource
と portalDataSourceNeverXA
を除き、XA と XA 以外のどちらの JDBC ドライバも使用できます。 p13nDataSource
は、ローカル JDBC トランザクションの場合のみ使用します。portalDataSourceNeverXA
は JDBC ストアとして使用します。「WebLogic Server での Oracle RAC の使い方」で説明したように、JDBC ストアのデータ ソースでは XA 準拠の JDBC ドライバを使用することはできません。
マルチ データ ソースを使用するときには、グローバル トランザクション プロトコル属性のマルチデータ ソース値が、基礎となる物理データソースのすべてに対して同じであることを確認することが必要です。マルチデータ ソースについては、グローバル トランザクション プロトコルの値を以下のように手動で編集するか、
${DOMAIN_HOME}/config/jdbc/${DATASOURCE_NAME}-jdbc.xml
WLST スクリプトを使用してプログラムでコンフィグレーションすることができます。WebLogic Administration Console では、マルチデータ ソースに対してこの属性をコンフィグレーションする方法はありません。
上記の考慮事項を踏まえた上で、サポート対象となる RAC コンフィグレーションを表 7-2 にまとめます。
注意 : | マルチデータ ソース列が追加された上記の表の値は、WebLogic Portal とともにパッケージ化された JDBC データ ソース コンフィグレーション ファイルと一致しています。 |
Oracle RAC 用のコンフィグレーション手順は、前の節 「メインの WebLogic Portal データベースのコンフィグレーション」、「GroupSpace データベースのコンフィグレーション」、および 「行動追跡の別個のデータベースおよびデータベース オブジェクトの手動による作成」で説明したコンフィグレーション手順ときわめてよく似ています。これら 3 つの節には、それぞれ次の 7 つの手順が含まれています。
注意 : | この手順で SQL スクリプトを実行する場合、RAC のいずれかのノードにログインします。RAC 内でのすべての Oracle インスタンスは同じディスク ストレージを共有しているので具体的なノードは重要ではありません。 |
create_tablespaces.sql
スクリプトをコピーし、環境に合わせて変更します。詳細については、「表 7-1 データベース スクリプトと使用上の注意」およびスクリプト内のコメントを参照してください。create_tablespaces.sql
スクリプトを実行します。たとえば、SQL*Plus の場合は次のようにします。@create_tablespaces.sql
注意 : | この手順で SQL スクリプトを実行する場合、RAC のいずれかのノードにログインします。RAC 内でのすべての Oracle インスタンスは同じディスク ストレージを共有しているので具体的なノードは重要ではありません。 |
create_users.sql
スクリプトをコピーし、環境に合わせて変更します。詳細については、「表 7-1 データベース スクリプトと使用上の注意」およびスクリプト内のコメントを参照してください。create_users.sql
スクリプトを実行します。たとえば、SQL*Plus の場合は次のようにします。@create_users.sql
残りの手順は、Configuration Wizard を使用せずに手動でデータベース オブジェクトを作成する場合にのみ実行します。Configuration Wizard を使用して残りの手順を実行する場合は、WebLogic Server のドキュメント『コンフィグレーション ウィザードを使用した WebLogic ドメインの作成』を参照してください。
database.properties
ファイルを編集用に開きます。database=oracle
と設定します。 oracle.user=@DB_USER@
oracle.password=@DB_PASSWORD@
oracle.url=jdbc:bea:oracle://@DB_HOST@:@DB_PORT@;SID=@DB_NAME@
注意 : | oracle.url 文字列では、@DB_HOST@ および @DB_NAME@ を RAC 内でのいずれかのノードの hostname と SID に置き換えます。RAC 内でのすべての Oracle インスタンスは同じディスク ストレージを共有しているので、手順 6 で作成されたデータベース オブジェクトを RAC 内にある他のすべてのノードで表示することができます。 |
BEA_HOME
\user_projects\domains\
myPortalDomain ディレクトリに移動します。create_db.cmd
をダブルクリックします。create_db.sh
を実行します。
エラー メッセージが表示された場合は、create_db.log
ファイルで詳細を確認してください。
注意 : | create_db スクリプトを実行後、データベース管理者のパスワードを更新する必要があります。詳細については、「データベース オブジェクトの作成または更新の注意について」を参照してください。 |
appsGroupSpaceDataSource
を除く) を Oracle RAC を指すマルチデータ ソースで置き換えます。 p13nDataSource
の場合は、それぞれが 1 つの RAC ノードを指す、p13nDataSource-1
から p13nDataSource-N
までの物理データソースを作成します。これらのデータ ソースを作成するには WebLogic Server Administration Console を使用します。
または、以下の手順に従い、サンプル jdbc.xml
ファイルを WL_HOME/portal/db/jdbc/oracle_thin
ディレクトリにコピーし、更新することによりこれらのデータソースを作成できます。
1) dataSourceName-jdbc.xml
ファイルを DOMAIN_HOME/config/jdbc
ディレクトリにコピーし、名前を dataSourceName-n-jdbc.xml
に変更します。ここで「n」はn 番目の RAC ノードのシーケンス番号を示します。
2) dataSourceName-n-jdbc.xml
ファイルを編集します。@DB_USER@
、@DB_USER_PASSWD@
、@DB_HOST@
、@DB_PORT@
、@DB_NAME@
を置き換えます。@DB_HOST@
および @DB_NAME@
に n 番目の RAC ノードの hostname と SID を使用します。
3) config.xml
を編集し、新しく作成したこの JDBC データ ソースを JDBC システム リソース として追加します。
p13nDataSource-1
から p13nDataSource-N
までのデータソースが含まれる p13nDataSource
マルチ データ ソースを作成します。
WebLogic Server Administration Console を使用する場合、同じ名前の既存のデータ ソースを削除してからマルチデータ ソースを作成する必要があります。また、WebLogic Server Administration Console には、マルチデータ ソース用グローバル トランザクション プロトコル属性の値をコンフィグレーションする方法はないので、後で対応する jdbc.xml
に属性を手動で追加する必要があります。
または、以下の手順に従い、対応する jdbc.xml
を手動で編集することもできます。
1) 対応する jdbc.xml
ファイルを開き、jfdbc-driver-params
要素、jdbc-connection-pool-params
要素を、そのすべての子要素も含めて削除します。
2) jndi-name
要素と global-transactions-protocol
要素の間に、以下の 2 つの要素を追加します。表のアルゴリズムタイプの値を確認します。data-source-list の値は、基底のすべての物理データ ソースのカンマ区切りリストです。
<algorithm-type>Load-Balancing</algorithm-type>
<algorithm-type>Failover</algorithm-type>
<data-source-list>portalDataSourceAlwaysXA-1、
portalDataSourceAlwaysXA-2 </data-source-list>
build.xml
、oraracconf.py
、および oraracconf.py.properties
のサンプルは、既存の WebLogic Portal ドメインを Oracle RAC データベースを指すようにコンフィグレーションする方法の例を提供します。これらのファイルは、Appendix B のサンプル WLST スクリプトに示されています。このサンプルを使用するには、次の手順に従います。
1) これらのファイルを DOMAIN_HOME
ディレクトリにダウンロードします。
2) oraracconf.py.properties
ファイルを開きます。Database usernames and passwords および ORACLE RAC configuration の両セクションの値を使用する Oracle RAC 環境を反映するように編集します。
3) コマンド プロンプトを開き、カレント ディレクトリを DOMAIN_HOME/bin
に変更します。次のスクリプトを実行します。
<?xml version="1.0" encoding="UTF-8"?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90">
<name>p13nDataSource</name>
<jdbc-data-source-params>
<jndi-name>p13n.trackingDataSource</jndi-name>
<jndi-name>p13n.sequencerDataSource</jndi-name>
<jndi-name>cm.sequencerDataSource</jndi-name>
<jndi-name>p13n.leasemanager</jndi-name>
<jndi-name>p13n.dataSyncDataSource</jndi-name>
<jndi-name>p13n.entitlementsDataSource</jndi-name>
<jndi-name>p13n.quiescenceDataSource</jndi-name>
<algorithm-type>Load-Balancing</algorithm-type>
<data-source-list>p13nDataSource-1,p13nDataSource-2</data-source-list>
<global-transactions-protocol>None</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
<?xml version="1.0" encoding="UTF-8"?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90">
<name>p13nDataSource-1</name>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@rnhp380-c11-23-vip:1521:DBSRAC101</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>WEBLOGIC_8</value>
</property>
</properties>
<password-encrypted>{3DES}cIUMOgs5Divb+UWlIFgSoA==</password-encrypted>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>5</initial-capacity>
<max-capacity>20</max-capacity>
<capacity-increment>1</capacity-increment>
<test-connections-on-reserve>true</test-connections-on-reserve>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
</jdbc-connection-pool-params>
<jdbc-data-source-params>
<jndi-name>p13nDataSource-1</jndi-name>
<global-transactions-protocol>None</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
<?xml version="1.0" encoding="UTF-8"?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90">
<name>p13nDataSource-2</name>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@rnhp380-c11-25-vip:1521:DBSRAC102</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>WEBLOGIC_8</value>
</property>
</properties>
<password-encrypted>{3DES}cIUMOgs5Divb+UWlIFgSoA==</password-encrypted>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>5</initial-capacity>
<max-capacity>20</max-capacity>
<capacity-increment>1</capacity-increment>
<test-connections-on-reserve>true</test-connections-on-reserve>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
</jdbc-connection-pool-params>
<jdbc-data-source-params>
<jndi-name>p13nDataSource-2</jndi-name>
<global-transactions-protocol>None</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
![]() ![]() ![]() |