データベース・インストール  目次

データベースは、インストール時に設定するか、またはインストール後にSetupツールを使用して設定できます。これらのシナリオでは、いずれもこの項で説明する同じGUIパネルのセットを使用します。

Setupツールを実行するには、インストールのbinサブディレクトリから次のスクリプトを実行します。

Windows: setup.bat
UNIX: ./setup.sh

詳細は、「Setup」のコマンドライン・パラメータを参照してください。

図16 データベースの選択の設定

データベースの選択の設定

データベースを選択します。Setupツールの詳細は、「インストール後の再構成」を参照してください。

データベース作成方法  目次

レジストリにはデータベースが必要です。インストール時には、新しいデータベースの作成、既存の空のデータベースへのスキーマの作成、または作成したスキーマでの既存のデータベースへ接続を行うことができます。Setupツールを使用して、データベースまたはデータベース・スキーマを削除することもできます。次のパネルで、データベース操作を選択します。

図17 データベース作成方法

データベース作成方法

図17に示されているいずれかの方法を選択します。

Create New Tablespace/Database

(データベース・サーバーのタイプに応じて)新しいデータベース/ユーザー/表領域およびデータベース・スキーマを作成します。 これは、必要なデータベースをOracle Service Registryに接続する最も簡単な方法です。データベース管理者の資格証明が必要であることに注意してください。

Create Schema

既存のデータベースに新しいスキーマを作成します。既存の空のデータベースにアクセスして表および索引を作成できる場合は、この方法を選択します。このオプションは、管理者の資格証明がわからない場合に適しています。ここでは、管理者がこのオプション用に新しいデータベース/ユーザー/表領域をすでに作成していることを前提としています。

Drop database

データベース/ユーザー/表領域全体を削除します。このオプションは、データベース・サーバーのタイプによって異なることに注意してください。

Drop schema

データベース内のすべての表を削除しますが、空のデータベースは残します。

Configure database

レジストリ・データベースを構成します。 たとえば、同じリリース番号の以前のOracle Service Registryインストールなどからのレジストリ・データベースがすでに存在する場合は、この方法を使用して接続パラメータのみを入力します。

データベース・タイプの選択  目次

図18は、Oracle Service Registry用に準備できる、サポートされているデータベース・エンジンを示しています。前のステップで別の方法を選択した場合は、パネルが異なる場合があります。

図18 データベース・タイプの選択

データベース・タイプの選択

次に示す選択したデータベースのリンクをクリックして、詳細を参照してください。

Oracle Database設定  目次

インストーラ/Setupツールの「Create New Tablespace/Database」オプションは、新しい物理データベースの作成を意味しません。インストール・プロセスでは、新しい表領域、その表領域に関連付けられたデータベース・ユーザー、および新しいデータベース・スキーマが作成されます。その後、データベース・スキーマにデフォルトのデータが移入されます。追加のUDDIデータベース(公開レジストリおよび検出レジストリ用のデータベースなど)を作成する場合は、異なるデータベース・ユーザーを使用して作成する必要があります。

Oracle Databaseの作成には、次のプロパティが必要です。スキーマへの接続またはスキーマの作成には、これらのプロパティのサブセットが必要です。アスタリスク(*)が付けられたプロパティは、データベース内の既存のオブジェクトと競合しないようにしてください。

Database Server Address

通常、データベース・サーバーにアクセスできるコンピュータのホスト名またはIPアドレス。

Database Server Port

データベースが接続をリスニングするポート。

Existing Database Name

Oracle Service Registryの表領域、ユーザーおよびスキーマが作成される既存のデータベースの名前。

Database Administrator Name

データベースの管理者のユーザー名。既存のデータベースに新しいユーザーおよび新しい表領域を作成するために必要です。

Database Administrator Password

上のテキスト・ボックスで指定した管理者アカウントのパスワード。

Database Tablespace Name *

既存のデータベースに作成され、UDDIデータ構造を保存する表領域の名前。

Database User *

データベースに接続するために作成される新しいユーザー・アカウント。

Database User Password

上のテキスト・ボックスで指定したユーザー・アカウントのパスワード。

Confirm password

上のテキスト・ボックスと異なると続行できません。

「JDBCドライバ」に進みます。

Oracle RACデータベース設定  目次

Systinet Registryは、高速接続フェイルオーバーを除いて、Oracle RACデータベースをサポートします。 通常のフェイルオーバーは機能します。 このデータベースを設定するには、前述のフィールドよりも詳しい情報を指定する必要があります。 Oracle RACデータベースでは、特殊な接続文字列を使用します。 「JDBC Drivers」ページで、「Use custom connection string」を選択して、RACパラメータを含む接続文字列を入力します。

接続文字列の例は、jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=node1.example.com) (PORT=1521))(ADDRESS=(PROTOCOL=TCP) (HOST=node2.example.com) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=myservice)) (FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5)))のようになります。

MSSQL  目次

インストール・プロセスでは、特定のユーザー名でデータベース・サーバー上に新しいデータベースが作成されます。データベース・スキーマが作成され、UDDIデータがロードされます。このユーザーは、Database Creatorsサーバー・ロールを持っている必要があります。

重要重要

データベース・サーバーで大/小文字を区別する照合が行われることを確認してください。データベース・サーバーで大/小文字を区別する照合が行われない場合は、caseSensitiveMatch findQualifierが設定されている場合でも、すべての比較で大/小文字が区別されなくなります。かわりに、大/小文字を区別する照合が行われるデータベースを手動で作成し、「Create Schema」オプションを使用することができます。

重要重要

図17に示されているインストール/設定パネルでオプション「Create New Tablespace/Database」を選択した場合は、Database Creatorsサーバー・ロールを持つデータベース・ユーザー・アカウントが必要です。このようなアカウントを作成するには、SQL Server Enterprise Managerを使用できます。

  1. 「Console Root」「Microsoft SQL Servers」「SQL Server Group」サーバー名「Security」「Logins」を選択します。

  2. 「Logins」を右クリックし、コンテキスト・メニューから「New Login」を選択します。

  3. アカウント名を入力し、「SQL Server Authentication」オプションをクリックしてパスワードを入力します。

  4. 「Server Roles」タブを選択し、「Database Creators」にマークを付けて「OK」をクリックし、パスワードを再入力します。

MSSQLデータベースの作成には、次のプロパティが必要です。スキーマへの接続またはスキーマの作成には、これらのプロパティのサブセットが必要です。アスタリスク(*)が付けられたプロパティは、データベース内の既存のオブジェクトと競合しないようにしてください。

Database Server Address

通常、データベース・サーバーにアクセスできるホスト名またはIPアドレス。

Database Server Port

データベースが接続をリスニングするポート。

Database Name *

UDDIデータ構造を保持するデータベースの名前。

Database User

新しいデータベースを作成できるユーザーのユーザー名。

Database User Password*

上のボックスで指定したユーザーのパスワード。

「JDBCドライバ」に進みます。

DB2  目次

インストーラ/Setupツールの「Create New Tablespace/Database」オプションによって、新しいデータベースは物理的には作成されません。インストール・プロセスでは、特定の(既存の)バッファ・プールを持つ既存のデータベース内に新しい表領域が作成され、特定のファイルに関連付けられます。指定したユーザーに、表領域を使用する権限が付与されます。その後、データベース・スキーマが作成され、UDDIデータがロードされます。

重要重要

リレーショナル表は暗黙的スキーマに作成されるため、追加のUDDIデータベース(承認プロセス用の公開レジストリおよび検出レジストリのデータベースなど)を作成する場合は、異なるデータベース・ユーザーを使用してUDDIデータベースを作成する必要があります。

重要重要

「Create New Tablespace/Database」オプションには、8Kのページ・サイズのバッファ・プールおよびそのようなバッファ・プールを持つ一時表領域を使用できるデータベース・ユーザー・アカウントが必要です。

  • DB2 Control Centerを使用してこのようなバッファ・プールを作成するには、次の手順を実行します。

    1. 左側のツリーから、「Control Center」「All Databases」データベース「Buffer Pools」を選択します。

    2. 「Buffer Pools」を右クリックし、コンテキスト・メニューから「Create...」オプションを選択します。

    3. 「Buffer pool name」に(uddipoolなどを)入力し、「8k page size」を選択します。

  • DB2 Control Centerを使用してこのような一時表領域を作成するには、次の手順を実行します。

    1. 左側のツリーから、「Control Center」「All Databases」データベース「Table Spaces」を選択します。

    2. 「Table Spaces」を右クリックし、コンテキスト・メニューから「Create...」オプションを選択します。

    3. 表領域名(udditempspaceなど)を入力し、「Next」をクリックします。

    4. 「user temporary」オプションを選択し、「Next」をクリックします。

    5. 「uddipool」バッファ・プールを選択し、「Next」を2回クリックします。

    6. データが物理的に保存される場所(C:¥Db2¥data¥udditempspaceなど)を選択し、「Next」を3回クリックしてから、「Finish」をクリックします。

  • DB2 Control Centerを使用して、一時表領域を使用できるデータベース・ユーザーを作成するには、次の手順を実行します。

    1. 左側のツリーから、「Control Center」「All Databases」データベース「User and Group Objects」→「DBUsers」を選択します。

    2. 「DBUsers」を右クリックし、コンテキスト・メニューから「Add...」オプションを選択します。

    3. ユーザー名を選択し、「Connect to database」「Create tables」および「Create schemas implicitly」を選択します。

    4. 「Table Space」タブの「Add Tablespace...」ボタンをクリックし、「udditempspace」を選択して「OK」をクリックします。

    5. 「udditempspace」を選択し、「Privileges」ドロップダウン・リストから「Yes」オプションを選択します。

    6. 「OK」をクリックして、アカウントを保存します。

DB2データベースの作成には、次のプロパティが必要です。スキーマへの接続またはスキーマの作成には、これらのプロパティのサブセットが必要です。アスタリスク(*)が付けられたプロパティは、データベース内の既存のオブジェクトと競合しないようにしてください。

Database Server Address

通常、データベース・サーバーにアクセスできるホスト名またはIPアドレス。

Database Server Port

データベースが接続をリスニングするポート。

Existing Database Name

すでに存在しているデータベースの名前。UDDI表領域は、このデータベースに作成されます。

Database Administrator Name

データベースの管理者のユーザー名。これは、既存のデータベースに新しい表領域を作成するために必要です。

Database Administrator Password

上のテキスト・ボックスで指定したユーザーのパスワード。

Database Tablespace Name *

既存のデータベースに作成され、UDDIデータ構造を保存する表領域の名前。

Tablespace Datafile *

表領域ファイルが保存されるホスト・マシンのフルパス。

重要重要

このディレクトリに対する読取り権限および書込み権限が必要です。

Buffer pool /with 8k page size/

データベースのバッファ・プール。8Kのサイズのページが必要です。

Existing Database User

認可レベルconnect databasecreate tableおよびcreate schema implicitlyを持つユーザーのユーザー名。

重要重要

このユーザーには、一時表用に使用する8Kの長さのバッファ・プールが関連付けられた一時表領域へのアクセス権も必要です。

Database User Password

上のテキスト・ボックスで指定したユーザーのパスワード。

データベース内に作成されるOracle Service Registry管理者アカウントを指定します。(「configure database」が選択されている場合、この管理者アカウントはデータベース内に存在するアカウントと一致している必要があります。)

重要重要

トランザクション・ログ・サイズ(パラメータlogfilsiz)をデフォルト値の250から1000に増やします。この変更は、Control Centerツールを使用して行うことができます。

「JDBCドライバ」に進みます。

Oracleデータソースの作成  目次

インストール・ウィザードによって、データベース作成パネルで入力した情報からデータソースを作成できます。 インストール・ウィザードでOracle Application Server内にデータソース定義を作成する場合は、「Create data source」チェック・ボックスを選択し、データソースの有効なJNDI名を入力します。

クリアテキストのパスワードが構成ファイルに保存されないようにするには、「Use indirect password」チェック・ボックスを選択し、現行のOracle Application Serverインスタンスで使用できる、有効なセキュリティ・プロバイダに登録されたユーザー名を入力します。詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』のパスワード管理に関する説明を参照してください。

図19 データソースの作成

データソースの作成

JDBCドライバ  目次

図8に示されているように、JDBCドライバを選択します。これらのデータベースのJDBCドライバは配布でインストールされるため、Oracle Database用にこのパスを構成する必要はありません。選択したデータベースに対して以前にすでにこのパスを構成している場合でも、必要はありません。通常、JDBCドライバは、データベース・ベンダーから提供されます。

図20 オプションのJDBCドライバ

オプションのJDBCドライバ

アカウント・バックエンド  目次

データベースまたはスキーマを作成した場合は、認証アカウント・プロバイダを構成できます。

図21 認証アカウント・プロバイダ

認証アカウント・プロバイダ

図9では、認証アカウント・プロバイダを選択できます。

Database

すべてのアカウントがレジストリ・データベースに保存されます。これが推奨バックエンドです。

LDAP

LDAPサーバーと統合されたレジストリ・アカウント。

Oracle XML-Based Provider

Oracle Application Serverのスタンドアロン・インストールおよび開発者インストールに存在する、XMLベースのユーザー・ストアと統合されたレジストリ・アカウント。

External

他の外部ストレージと統合されたレジストリ・アカウント。 Oracle Service Registryを外部バックエンドと統合するには、インタフェースcom.systinet.uddi.account.ExternalBackendApiを実装し、レジストリ・インストールに追加する必要があります。

LDAP、Oracle XMLおよび外部アカウント・バックエンドの詳細は、「外部アカウント統合」を参照してください。

多言語データ  目次

この項では、Oracle Service Registryによる多言語データ形式でのUDDI構造の保存のサポートについて説明します。

UDDI構造には、UnicodeフィールドおよびASCIIフィールドという2つのタイプのテキスト・フィールドがあります。

Unicodeフィールド

判読可能な情報用です。フィールド長は、次に示すように文字数で示されます。

フィールド名最大長(文字数)
businessEntityおよびbusinessServiceの名前255
keyName255
keyValue255
useType255
description255
addressLine80
personName 255

ASCIIフィールド

マシン処理用です(URIなど)。長さはバイトで示されます。通常、ASCIIフィールドは多言語データを保持できます。データの長さは、UTF-8エンコーディングでシリアライズされたフォームのバイト数によって制限されます。たとえば、日本語の場合、tModelの名前は最大85文字です。UTF-8エンコーディングでは、日本語の各文字は3バイトにエンコードされるためです(255÷3 = 85)。

フィールド名最大長(バイト数)
tModelの名前255
overviewURL4096
discoveryURL4096
sortCode10
email255
phone50
accessPoint4096
instanceParms8192

Oracle  目次

Oracle Databaseでは、両方のタイプ(UnicodeおよびASCII)のフィールドでUnicode文字がサポートされています。

MSSQL  目次

MSSQLでは、UnicodeフィールドでのみUnicode文字がサポートされています。Unicode文字は、サーバー照合と一致する場合にのみASCIIフィールドに正常に保存されます。それ以外の場合は、疑問符(?)に変換されます。たとえば、Japanese_Unicode_Cl_AS照合がサーバーのデフォルトの場合、日本語の文字は正しく保存されます。英語の照合が設定されている場合、日本語の文字は?に変換されます。

DB2  目次

DB2データベースでは、両方のタイプのフィールドでUnicode文字がサポートされています。フィールドの最大長は、Unicodeフィールドであるにもかかわらず、デフォルトのデータベース・スキーマではバイトで示されます。任意のUnicode文字を使用できますが、許容される文字列長は保証されていません。たとえば、日本語の場合、tModelの名前は最大85文字です。UTF-8エンコーディングでは、日本語の各文字は3バイトにエンコードされるためです(255÷3 = 85)。

文字列が長すぎると、データベース例外が発生することに注意してください。索引付けされた列の累積長は800バイトに制限されているため、この制限が設定されます。デフォルトのスキーマでは、多言語サポートよりパフォーマンスが優先されます。

Unicodeフィールドを長いバイト長で使用する場合は、該当するデータベース列を拡張する必要があります。ただし、累積長が800バイトを超える索引は、パフォーマンスに悪影響を及ぼす可能性があるため、削除する必要があります。次の手順を実行します。

  1. 「No database」オプションを使用して、Oracle Service Registryをインストールします。

  2. データベース・スキーマ・ファイルREGISTRY_HOME/etc/db/db2/schema_core.sqlを変更します。

    1. nameおよびkeyValueの列の長さを増やします。

    2. 該当する索引を削除します。

  3. Setupツールを使用してデータベースを作成します。

JDBCドライバ  目次

Oracle Service Registryには、デフォルトで、データベースへの接続用に次のクラスが必要です。ダウンロードしたJDBC JARにこれらが含まれていることを確認してください。

データベースドライバ・クラス
DB2com.ibm.db2.jcc.DB2Driver
MSSQLcom.microsoft.jdbc.sqlserver.SQLServerDriver
Oracleoracle.jdbc.driver.OracleDriver

代替JDBCドライバ  目次

この項では、前述のデフォルトのドライバ以外のJDBCドライバの使用方法について説明します。ドライバ・クラスはfoo.jdbc.Driver、接続文字列はjdbc:foo:...FooJDBC.jarをダウンロードしたとします。

すでにレジストリをインストールし、デフォルトのJDBCドライバでデータベースを設定した後で、代替JDBCドライバを使用する場合は、ファイルREGISTRY_HOME/app/uddi/conf/database.xmlを次のように編集します。

  1. <databaseMappings/>要素の最後に次の行を追加します。

    <universalDriver name="fooDriver">
        <JDBC_driver>foo.jdbc.Driver</JDBC_driver>
        <URI_pattern>jdbc:foo:...</URI_pattern>
    </universalDriver>

    <URI_pattern>要素で、次のパラメータを使用できます。

    • ${hostname}: データベース・サーバーのホスト名またはIPアドレス

    • ${port}: データベース・サーバーがリクエストをリスニングするポート

    • ${dbName}: データベースの名前

    • ${userName}: データベース・アカウントの名前

    • ${userPassword}: アカウントのパスワード

    Setupツールまたはレジストリ・コントロールを使用して、パラメータを対応する値に置き換えます。

  2. interfaceMapping要素のclassName属性をデータベースのfooDriver値に置き換えます。type属性によって、適切なdatabaseMapping要素を指定します。

(デフォルトのドライバを使用せずに)代替JDBCドライバを使用してデータベースを作成する場合は、次の手順を実行します。

  1. データベースを作成せずにOracle Service Registryをインストールします。

  2. 前述のとおり、REGISTRY_HOME/app/uddi/conf/database.xmlを変更します。

  3. REGISTRY_HOME/etc/db/ <database_type>/installXXX.xml内のインストール・スクリプトのドライバ・クラスおよび接続文字列を置き換えます。

  4. Setupツールを実行してデータベースを作成します。