別のデータベースへの切替えプロセスの概要

デフォルトのHypersonicデータベースから本番用の任意のRDBMSへ切り替える際の手順の概要を示します。

その内容は、データベースごとに異なります。

別のデータベースに切り替える手順は次のとおりです。

  1. データベースをインストールした後、そのデータベースが正常に動作していることを確認します。
  2. アプリケーション用の空のデータベースまたはスキーマを新規作成します。

    データベースを新規作成する場合は、UTF-8エンコーディングを使用してください。

  3. アプリケーション用のデータベース・ユーザーを作成します。
  4. ユーザーに適切なデータベースまたはスキーマへのアクセス権を付与します。その際に、データベースでの表の作成権限やスキーマの変更権限も同時に付与します。

    ユーザーがアプリケーション・サーバーからリモート・アクセスできることを確認します。

  5. Studioが実行中の場合は停止します。
  6. 次に、portal-ext.propertiesファイルのJDBCセクションを編集して、データベース接続をHypersonicからご使用のデータベースへ変更します。
    1. このファイルのデフォルト・バージョンでは、Hypersonic設定が有効化されています。これらの設定をコメント・アウトします。
      # Hypersonic
      #
      jdbc.default.driverClassName=org.hsqldb.jdbcDriver
      jdbc.default.url=jdbc:hsqldb:${eid.studio.home}/data/hsql/lportal
      jdbc.default.username=sa
      jdbc.default.password=
    2. データベースへの接続を構成する際の推奨オプションは、jdbc.default.jndi.nameパラメータを非コメント化して構成することです。
      # Set the JNDI name to lookup the JDBC data source. If none is set,
      # then the portal will attempt to create the JDBC data source based on the
      # properties prefixed with "jdbc.default.".
      #
      #jdbc.default.jndi.name=jdbc/LiferayPool

      JNDI名を使用すると、接続設定を提供するよりも高いセキュリティを確保できます(接続設定では、portal-ext.propertiesにユーザー名とパスワードが記述されている)。

      JNDI名を使用しない場合、警告がログに記録されます。

      JNDI名を使用するには、最初にアプリケーション・サーバー内でJDBCデータソースを構成する必要があります。JDBCデータソースを構成するための手順は、アプリケーション・サーバーごとに異なります。詳細は、ご使用のアプリケーション・サーバーのドキュメントを参照してください。

      jdbc.default.jndi.nameの値が、データソースに割り当てたJNDI名と完全に一致していることを確認してください。

  7. MySQLデータベースの場合、アプリケーション・コンポーネントで使用するためにカスタム・イメージをアップロードするときは、max-allowed-packet変数の値を増やす必要があります。

    デフォルトは1MBです。ただし、Studioではユーザーは最大3MBのイメージをアップロードできます。したがって、4MBのように、これを3MBより大きい値に変更する必要があります。

    変数の値を変更しない場合、ユーザーが1MBより大きいイメージをアップロードしようとすると、JDBCエラー「問合せ用のパケットが大きすぎます」が返されます。

  8. Studioを起動します。Studioがデータベースに接続し、表を作成する際に、エラー・メッセージがないかどうかをログで確認します。
  9. 表が作成され、Studioが実行中であることを確認したら、ユーザーの表の変更権限を削除できます。

    Studioのアップグレードや、スキーマ変更を必要とするコンポーネントのインストールで、この権限を戻す必要が生じる場合があります。