2.5 データベース

データベースとデータベースドライバをインストールして、データベースまたはデータベースインスタンスを作成します。Identity Manager役割ベースプロビジョニングモジュールのインストール手順で使用するために、次のデータベースパラメータを記録しておきます。

データソースファイルがこのデータベースを指している必要があります。方法はアプリケーションサーバに応じて変わります。JBossの場合は、Identity Manager役割ベースプロビジョニングモジュールのインストールプログラムが、データベースを指すアプリケーションサーバのデータソースファイルを作成し、Identity Manager役割ベースプロビジョニングモジュールWARファイルの名前に基づいてファイルに名前を付けます。WebSphereの場合は、インストール前に手動でデータソースを設定します。

データベースではUTF-8を有効にする必要があります。

2.5.1 MySQLのインストール

IDMユーザアプリケーションユーティリティを使用してMySQL*をインストールするか、MySQLを自分でインストールする場合は、セクション 2.5.2, MySQLデータベースの環境設定を参照してください。

メモ:データベースを移行する場合は、インストールプログラムで移行オプションを選択する前にデータベースを起動しておきます。データベースを移行しない場合は、Identity Manager役割ベースプロビジョニングモジュールのインストール時にデータベースが実行されていなくてもかまいません。この場合、アプリケーションサーバを起動する前にデータベースを起動してください。

2.5.2 MySQLデータベースの環境設定

MySQLとIdentity Manager 3.5.1が連携動作するように、MySQLの環境設定を行う必要があります。MySQLを自分でインストールした場合は、設定も自分で行う必要があります。JbossMysqlを使用してMySQLをインストールした場合は、このユーティリティが正しい値を設定してくれますが、次のために維持する値を知っておく必要があります。

INNODBストレージエンジンとテーブルタイプ

ユーザアプリケーションはINNODBストレージエンジンを使用します。これにより、MySQLのINNODBテーブルタイプを選択できます。テーブルタイプを指定せずにMySQLテーブルを作成した場合、テーブルはデフォルトでMyISAMテーブルタイプを受け付けます。Identity Managerのインストール手順に従ってMySQLをインストールした場合は、この手順で発行されるMySQLは、INNODBテーブルタイプが指定された状態で付属します。MySQLサーバが確実にINNODBを使用するようにするには、my.cnf (LinuxまたはSolarisの場合)またはmy.ini (Windowsの場合)に次のオプションが含まれていることを確認します。

default-table-type=innodb

このファイルにはskip-innodbオプションが含まれていてはなりません。

文字セット

サーバ全体またはデータベース単体に対し、文字セットとしてUTF8を指定します。サーバ全体にUTF8を指定するには、my.cnf (LinuxまたはSolarisの場合)またはmy.ini (Windowsの場合)に次のオプションを含めます。

character-set-server=utf8

次のコマンドを使用して、データベースの作成時にデータベースの文字セットを指定することもできます。

create database databasename character set utf8 collate utf8_bin;

データベースの文字セットを指定した場合は、次に示すように、IDM-ds.xmlファイルのJDBC* URLにも文字セットを指定する必要があります。

<connection-url>jdbc:mysql://localhost:3306/databasename?useUnicode=true&amp;characterEncoding

大文字と小文字の区別

サーバまたはプラットフォーム全体でデータをバックアップおよびリストアする計画の場合は、大文字と小文字の区別がサーバまたはプラットフォーム全体で統一されていることを確認します。統一されているかどうかを確認するには、デフォルトをそのまま使用するのではなく(Windowsではデフォルトで0に、Linuxではデフォルトで1に設定されます)、すべてのmy.cnfファイル(LinuxまたはSolarisの場合)またはmy.iniファイル(Windowsの場合)のlower_case_table_namesに同じ値 (0または1)を指定します。データベースを作成してIdentity Managerのテーブルを作成する前に、この値を指定します。たとえば、次のように指定します。

lower_case_table_names=1

これは、データベースのバックアップおよびリストアを計画しているすべてのプラットフォームのmy.cnfおよびmy.iniファイルに指定します。