2.4 データベースのインストール

ユーザアプリケーションは、環境設定データの保存や、ワークフローアクティビティのデータの保存など、さまざまなタスクにデータベースを使用します。Roles Based Provisioning Moduleまたはユーザアプリケーションをインストールする前に、インストールして設定されているプラットフォームに対してサポートされているデータベースが1つ存在する必要があります。以下のような機能があります。

メモ:新しいバージョンのRoles Based Provisoining Moduleへマイグレートする場合は、古いインストール(マイグレート元のインストール)で使用していたものと同じユーザアプリケーションデータベースを使用する必要があります。

2.4.1 MySQLデータベースの設定

ユーザアプリケーションには、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オプションが含まれていてはなりません。

文字セット

サーバ全体またはデータベースのみに対し、文字セットとしてUTF-8を指定します。サーバ全体にUTF-8を指定するには、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=utf8&amp;connectionCollation=utf8_bin</connection-url>

大文字と小文字の区別

サーバまたはプラットフォーム全体でデータをバックアップおよびリストアする計画の場合は、大文字と小文字の区別がサーバまたはプラットフォーム全体で統一されていることを確認します。統一されているかどうかを確認するには、デフォルトをそのまま使用するのではなく(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ファイルに指定します。