39.2 手動によるデータベーススキーマの作成

識別情報アプリケーションをインストールする際、データベースへの接続またはデータベーステーブルの作成を後回しにできます。データベースに対する許可を持たないユーザは、このオプションを選択する必要がある場合があります。インストールプログラムは、ユーザがデータベーススキーマを作成するために使用できるSQLファイルを作成します。インストール後に、再インストールを行わずに、データベーステーブルを再作成することもできます。それには、識別情報アプリケーションのデータベースを削除して、それと同じ名前で新しいデータベースを作成します。

39.2.1 SQLファイルによるデータベーススキーマの生成

このセクションでは、ユーザがデータベーススキーマを生成するために使用できるSQLファイルをインストールプログラムが作成していると想定しています。このSQLファイルが存在しない場合は、セクション 39.2.2, データベーススキーマを生成するSQLファイルの手動による作成を参照してください。

メモ:このSQLファイルをSQL*Plusで実行しないでください。このファイルの行長は4000文字を超えています。

  1. アプリケーションサーバを停止します。

  2. データベースサーバにログインします。

  3. 識別情報アプリケーションが使用するデータベースを削除します。

  4. ステップ 3で削除したデータベースと同じ名前で新しいデータベースを作成します。

  5. インストールプロセスで作成されたSQLスクリプトのある場所に移動します。デフォルトでは、/installation_path/userapp/sqlディレクトリにあります。

  6. (状況によって実行) Oracleデータベースの場合、関数CONCAT_BLOBの定義の後にバックスラッシュ(/)を挿入します。次に例を示します。

      -- Changeset icfg-data-load.xml::700::IDMRBPM
    CREATE OR REPLACE FUNCTION CONCAT_BLOB(A IN BLOB, B IN BLOB) RETURN BLOB AS
                    C BLOB;
                BEGIN
                    DBMS_LOB.CREATETEMPORARY(C, TRUE);
                    DBMS_LOB.APPEND(C, A);
                    DBMS_LOB.APPEND(C, B);
                    RETURN c;
                END;
    /
  7. データベース管理者に、ユーザアプリケーションデータベースを作成および設定するSQLスクリプトを実行させます。

  8. Tomcatを再起動します。

39.2.2 データベーススキーマを生成するSQLファイルの手動による作成

インストール後に、SQLファイルがなくても、再インストールを行わずに、データベーステーブルを再作成できます。このセクションでは、SQLファイルを持たない場合にデータベーススキーマを作成する方法について説明します。

  1. Tomcatを停止します。

  2. 識別情報アプリケーションデータベースをホストするサーバにログインします。

  3. 既存のデータベースを削除します。

  4. ステップ 3で削除したデータベースと同じ名前で新しいデータベースを作成します。

  5. テキストエディタでNetIQ-Custom-Install.logファイルを開きます。このファイルは、デフォルトでは、識別情報アプリケーションのインストールディレクトリのルートにあります。次に例を示します。

    /opt/netiq/idm/apps/UserApplication
  6. NetIQ-Custom-Install.logファイルで次のコマンドを検索し、コピーします。

    /opt/netiq/idm/jre/bin/java -Xms256m -Xmx256m  -Dwar.context.name=IDMProv -Ddriver.dn="cn=User Application Driver,cn=driverset1,o=system" -Duser.container="o=data" -jar /opt/netiq/idm/apps/UserApplication/liquibase.jar --databaseClass=liquibase.database.core.PostgresDatabase --driver=org.postgresql.Driver --classpath=/opt/netiq/idm/apps/postgresql/postgresql-9.4.1212jdbc42.jar opt/netiq/idm/apps/UserApplication/IDMProv.war --changeLogFile=DatabaseChangeLog.xml  --url="jdbc:postgresql://localhost:5432/idmuserappdb" --contexts="prov,newdb" --logLevel=info --logFile=/opt/netiq/idm/apps/UserApplication/db.out --username=******** --password=******** update
  7. 識別情報アプリケーションで使用するデータベースをインストールしたサーバにログインします。

  8. 端末でコピーしたコマンド文字列を貼り付けます。

    メモ:正しいコマンドはupdateSQLです。updateだった場合はupdateSQLに変更してください。

  9. コマンドでデータベースユーザ名とパスワードを表すアスタリスク(*)を、認証に必要な実際の値で置き換えます。また、SQLファイルの名前が一意であることを確認します。

  10. コマンドを実行します。

  11. (状況によって実行)インストールプロセスでデータベースにデータを設定せずにSQLファイルを生成した場合、データベース管理者にそのファイルを渡してデータベースサーバにインポートします。詳細については、セクション 39.2.1, SQLファイルによるデータベーススキーマの生成を参照してください。

  12. データベース管理者がSQLファイルをインポートした後、Tomcatを起動します。