Do not use case-sensitive collation for your database. Case-sensitive collation is not supported. The case-sensitive collation might cause duplicate key errors during migration. If a duplicate key error is encountered, check the collation and correct it, then re-install the identity applications. The only supported collation is SQL_Latin1_General_CP1_CI_AS.
The migration of Identity Applications involves the following:
If your User Application database is on PostgreSQL, perform the following steps:
Log in as postgres user to the server where PostgreSQL is installed.
#su - postgres
Export the data to a .sql file. Ensure that the Postgres user has full access to the directory where you want to export the file:
pg_dump -p <portnumber> -U <username> -d <dbname> -f <export location>
For example,
pg_dump -p 5432 -U postgres -d idmuserappdb -f /tmp/idmuserappdb.sql
Log in to the new server where you want to install PostgreSQL.
Install PostgreSQL.
Navigate to the location where you have mounted the Identity_Manager_4.7_Linux.iso.
Navigate to the /common/packages/postgres/ directory.
Install PostgreSQL using the following command:
rpm -ivh netiq-postgresql-9.6.6-0.noarch.rpm
Associate the group to postgres user using the following command:
/usr/sbin/usermod -a -G postgres postgres
Change the postgres user’s home directory path to /opt/netiq/idm/postgres/ in the /etc/passwd file.
Navigate to the /etc/ directory.
Edit the passwd file.
vi /etc/passwd
Change the home directory of the postgres user to /opt/netiq/idm/postgres/.
Log in as postgres user.
For example,
su - postgres
Create a data directory in the PostgreSQL installed location.
mkdir -p <POSTGRES_HOME>/data, where <POSTGRES_HOME> is /opt/netiq/idm/postgres
For example,
mkdir -p /opt/netiq/idm/postgres/data
Export the PostgreSQL home directory.
export PGHOME=<postgres home directory path>
For example,
export PGHOME=/opt/netiq/idm/postgres
Export the PostgreSQL password:
export PGPASSWORD=<enter the database password>
Initialize the database.
LANG=en_US.UTF-8 <POSTGRES_HOME>/bin/initdb -D <POSTGRES_HOME>/data
For example:
LANG=en_US.UTF-8 /opt/netiq/idm/postgres/bin/initdb -D /opt/netiq/idm/postgres/data
Navigate to the /opt/netiq/idm/postgres/ directory.
Create a database for the following components:
$ createdb idmuserappdb $ psql -s idmuserappdb # create user idmadmin password 'somepassword'; # GRANT ALL PRIVILEGES ON DATABASE idmuserappdb TO idmadmin; # ALTER DATABASE idmuserappdb OWNER TO idmadmin;
Import the data to the new PostgreSQL database.
Copy the file exported in step 2 to a location where postgres user has full access.
Execute the following command to import data to the PostgreSQL database.
psql -d <dbname> -U <username> -f <full path where the exported file is located> -W
For example,
psql -d idmuserappdb -U idmadmin -f /tmp/idmuserappdb.sql -W
Download the Identity_Manager_4.7_Linux.iso from the NetIQ Downloads website.
Mount the .iso.
Copy the contents of the iso to a different directory which has write access.
For example,
cp -rp /mnt /home
Edit the contents of the configuration file to skip the deployment of User Application and roles and Resources Service driver.
NOTE:By default, Identity Applications installation creates and deploys the drivers for Role and Resource Service and User Application.
Navigate to the /mnt/user_application directory.
Edit the configure.sh file.
vi configure.sh
Comment out the following line:
install_service_drivers "UA" "${ID_VAULT_ADMIN_LDAP}" "${ID_VAULT_PASSWORD}" "${ID_VAULT_HOST}" ${ID_VAULT_LDAPS_PORT} "cn=${ID_VAULT_DRIVER_SET},${ID_VAULT_DEPLOY_CTX}"
Save the configure.sh file.
Install Identity Applications from the /mnt directory.
./install.sh
Configure Identity Applications from the /mnt directory.
./configure.sh
Select Custom configuration and choose No for the following prompt:
Do you want to configure PostgreSQL database on current server?
Navigate to the configuration update utility located at /opt/netiq/idm/apps/configupdate directory and ensure that the configuration settings are correct:
./configupdate.sh