2.5 Databases

Install your database and database driver and create a database or a database instance. Record the following database parameters for use in the installation procedure for the Identity Manager Roles Based Provisioning Module:

A datasource file must point to the database. The method varies according to your application server. For JBoss, the Identity Manager Roles Based Provisioning Module install program creates an application server datasource file pointing to the database and names the file based on the name of the Identity Manager Roles Based Provisioning Module WAR file. For WebSphere, configure the datasource manually prior to the install.

Databases must be enabled for UTF-8.

2.5.1 Installing MySQL

Whether you install MySQL* through the IDM User Application utility or install MySQL on your own, read Section 2.5.2, Configuring Your MySQL Database.

NOTE:If you plan to migrate a database, start that database before you select the migration option in the installation program. If you are not migrating a database, the database does not need to be running during installation of the Identity Manager Roles Based Provisioning Module. Just start the database before you start the application server.

2.5.2 Configuring Your MySQL Database

Your MySQL configuration settings must be set so that MySQL and Identity Manager 3.5.1 work together. If you install MySQL yourself, you must set the settings yourself. If you install MySQL using the JbossMysql utility, the utility sets the correct values for you, but you need to know the values to maintain for the following:

INNODB Storage Engine and Table Types

The User Application uses the INNODB storage engine, which enables you to choose INNODB table types for MySQL. If you create a MySQL table without specifying its table type, the table receives the MyISAM table type by default. If you choose to install MySQL from the Identity Manager installation procedure, the MySQL issued with that procedure comes with the INNODB table type specified. To ensure that your MySQL server is using INNODB, verify that my.cnf (Linux or Solaris) or my.ini (Windows) contains the following option:

default-table-type=innodb

It should not contain the skip-innodb option.

Character Set

Specify UTF8 as the character set for the whole server or just for a database. Specify UTF8 on a server-wide basis by including the following option in my.cnf (Linux or Solaris) or my.ini (Windows):

character_set_server=utf8

You can also specify the character set for a database at database creation time, using the following command:

create database databasename character set utf8 collate utf8_bin;

If you set the character set for the database, you must also specify the character set in the JDBC* URL in the IDM-ds.xml file, as in:

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

Case Sensitivity

Ensure that case sensitivity is consistent across servers or platforms if you plan to back up and restore data across servers or platforms. To ensure consistency, specify the same value (either 0 or 1) for lower_case_table_names in all your my.cnf (Linux or Solaris) or my.ini (Windows) files, instead of accepting the default (Windows defaults to 0 and Linux defaults to 1.) Specify this value before you create the database to hold the Identity Manager tables. For example, you would specify

lower_case_table_names=1

in the my.cnf and my.ini files for all platforms on which you plan to back up and restore a database.