データベースアップグレードツールリファレンス
Liferay 7.4 U82/GA82 より前は、 db_upgrade_client.sh ファイルは db_upgrade.sh と呼ばれていました。
ここでは、Liferayのアップグレードツールの概要について説明します。
[LIFERAY_HOME]/tools/portal-tools-db-upgrade-clientフォルダ(Windowsではdb_upgrade_client.bat)にあるdb_upgrade_client.shスクリプトを使用して、アップグレードツールを起動します。
概要
データベースアップグレードツールの使用方法
次のコマンドは、アップグレードツールの使用状況を出力します。
db_upgrade_client.sh --help
次に、アップグレードツールのすべてのコマンドラインオプションを示します。
–help または -h: ツールのヘルプメッセージを表示します。
–jvm-opts または -j + [arg]: アップグレード プロセス用の JVM オプションを設定します。
–ログファイル または -l + [引数]: ツールのログファイル名を指定します—デフォルト名は upgrade.log です。
–シェル または -s: アップグレード処理が完了すると、自動的に Gogo シェル に接続されます。
ログ出力
-lオプションは、ツールのログファイル名を指定します。
db_upgrade_client.sh -l "output.log"
推奨されるJVMオプション
アップグレードツールは、指定されていない場合、以下のデフォルトのJVMパラメータを自動的に適用します。
-Dfile.encoding=UTF8-Duser.country=US-Duser.language=en-Duser.timezone=GMT-Xmx4096m
デフォルト値と異なる場合にのみ、カスタム値を指定してください。
データベースアップグレードツールはDXPデータベース上で動作するため、DXPアプリケーションサーバーで使用しているものと同じJVMオプションでアップグレードツールも構成する必要があります。 国と言語のJVMオプションを使用した場合は、アップグレードツールでそれらを指定してください。
ついでに、アップグレードツール用の初期メモリ(-Xmx 値)も割り当ててください。 最低でも4GBを使用してください。 DXPデータベースに10GBを超えるデータが含まれている場合は、初期メモリを増やしてください。
3.2 GBのデータベースと15 GBのドキュメントライブラリを使用したテストシナリオでは、8GBのRAM(-Xmx8000m)を指定するのが最適でした。
これらの設定に対応するコマンドは、 db_upgrade_client.sh です。
db_upgrade_client.sh -j "-Xmx8000m"
アップグレードツールの設定
コアアップグレードには設定が必要です。 最も簡単な方法は、アップグレードツールを使用して設定ファイルをその場で作成することです。 アップグレードツールのコマンドラインインターフェースとのやり取りの例を以下に示します。
$ ./db_upgrade_client.sh
Liferay ホーム (/opt/liferay) を入力してください:
[ jboss tomcat weblogic wildfly ]
アプリケーション サーバー (tomcat) を入力してください:
アプリケーション サーバー ディレクトリ (/opt/liferay/tomcat) を入力してください:
アプリケーション サーバー ディレクトリ (./bin) 内の追加ライブラリ ディレクトリを入力してください:
アプリケーション サーバー ディレクトリ (./lib) 内のグローバル ライブラリ ディレクトリを入力してください:
アプリケーション サーバー ディレクトリ (./webapps/ROOT) 内のポータル ディレクトリを入力してください:
[ db2 mariadb mysql oracle postgresql sqlserver ]
データベース名を入力してください (postgresql):
データベース JDBC ドライバ クラス名を入力してください (org.postgresql.Driver):
データベース JDBC ドライバ プロトコルを入力してください (jdbc:postgresql://):
データベース ホストを入力してください (localhost):
(など)
省略された値は、括弧内に表示されているデフォルト値を使用します。
アップグレードツールを事前に設定することで、ツールが生成する値よりも多くの値を設定することもできます。 [LIFERAY_HOME]/tools/portal-tools-db-upgrade-client/ にあるこれらのファイルを使用して、コアアップグレードを手動で構成します。
app-server.properties:サーバーの場所とライブラリを指定します。portal-upgrade-ext.properties: アップグレードに必要なデータベース接続とその他のすべてのポータルプロパティを設定します。 現在お使いのDXPサーバーを複製するには、現在のポータルプロパティ(データベースプロパティを除く)をこのファイルにコピーしてください。 現在のプロパティを使用する前に、必ず現在のDXPバージョンにアップデートしてください。
portal-upgrade-database.properties ファイルは、Liferay DXP 2026.Q1 以降非推奨です。 すべてのデータベース構成プロパティは、 portal-upgrade-ext.properties に配置する必要があります。 portal-upgrade-database.properties が存在する場合、アップグレードツールは警告を表示してそれを無視します。
app-server.properties の設定
DXPのアプリケーションサーバーを設定するには、以下の情報を指定してください。
| プロパティ名 | 意味 | メモ |
|---|---|---|
ディレクトリ | アプリケーションサーバーフォルダの絶対パス。 | - |
extra.lib.dirs | クラスパスに追加するバイナリまたはリソースを含む追加のディレクトリのカンマ区切りリスト。 | dirに関連するパスを使用します。 |
グローバルライブラリディレクトリ | アプリケーションサーバーのグローバルライブラリディレクトリ。 | dirに関連するパスを使用します。 |
ポータルディレクトリ | アプリケーションサーバーでポータルがインストールされているディレクトリ。 | dirに関連するパスを使用します。 |
server.detector.server.id | サポートされているアプリケーションサーバーのID。 | サポートされているID: jboss、 tomcat、 weblogic、 wildfly |
相対パスは、アプリケーションサーバーディレクトリからの相対パスであることを明確に示すために、Unix スタイルの形式 (スラッシュ) と ./ というプレフィックスを使用する必要があります。 例えば、以下のプロパティはWindows用です。
dir=D:\liferay-dxp\tomcat
extra.lib.dirs=./bin
global.lib.dir=./lib
portal.dir=./webapps/ROOT
別の例として、Linux の場合、以下のプロパティが挙げられます。
dir=./tomcat
extra.lib.dirs=./bin
global.lib.dir=./lib
portal.dir=./webapps/ROOT
portal-upgrade-ext.properties の設定
アップグレードするデータベースを設定するには、以下の情報を指定してください。 これらのプロパティは、 JDBC ポータル プロパティ に対応しており、 portal-ext.properties ファイルで使用するものです。
jdbc.default.driverClassNamejdbc.default.urljdbc.default.usernamejdbc.default.password
Liferay DXP 2026.Q1
アップグレードツールは、バッチ挿入操作用にJDBC URLを自動的に最適化します。 PostgreSQL、MySQL/MariaDB、およびSQL Serverへの接続の場合、適切なバッチ挿入パラメータは、接続URLに既に存在しない場合は自動的に追加されます。 以前のバージョンでは、これは手動で設定する必要がありました。
Liferay DXP 2026.Q1 以降、データベース構成プロパティは portal-upgrade-ext.properties で指定されるようになりました。 アップグレードツールは、既存の portal-ext.properties ファイルからこれらの設定を自動的に検出し、それらを再利用するように促します。
これらの値に関する参照については、最新の ポータルプロパティリファレンス を参照してください。
ポータルプロパティをすべて portal-ext.properties などのファイルプロパティを バックアップ から追加します。 アップグレードの設定において、特に重要なプロパティは以下のとおりです。
-
liferay.home: LIFERAY_HOME フォルダ。 -
dl.store.impl: ドキュメントをドキュメントライブラリストアに永続化するための実装。 このプロパティは、*FileSystemStore実装を使用している場合にのみ必須です。portal-ext.propertiesでこのプロパティを更新した場合は、新しい値をここにコピーしてください。 それ以外の場合は、以下のいずれかの方法でプロパティを設定してください。dl.store.impl=com.liferay.portal.store.file.system.FileSystemStore dl.store.impl=com.liferay.portal.store.db.DBStore dl.store.impl=com.liferay.portal.store.file.system.AdvancedFileSystemStore dl.store.impl=com.liferay.portal.store.s3.S3Store -
hibernate.jdbc.batch_size: パフォーマンスを向上させるために使用される JDBC バッチ サイズ (デフォルトでは 250 に設定されています)。 このプロパティはアップグレードのパフォーマンスを向上させる可能性がありますが、必須ではありません。 -
upgrade.query.monitor.enabled:falseに設定すると、 アップグレード停止検出が無効になります。これにより、アップグレード中に停止しているように見えるクエリがログに記録されます。 デフォルトで有効になっています。 -
upgrade.query.monitor.lock.threshold: Liferay がWARNレベルでログに記録する前に、クエリがリソース ロックで待機できるミリ秒数。 デフォルトは300000(5 分) です。 -
upgrade.query.monitor.long.running.threshold: アクティブなクエリが、Liferay によってINFOレベルでログに記録されるまでに実行できるミリ秒数。 このしきい値は、リソースロックを待機していないクエリにのみ適用されます。 デフォルトは600000(10 分) です。 -
upgrade.log.context.enabled: 識別子でタグ付けされたアップグレード関連のログ行を表示するには、trueに設定します。 考えられる識別子は次のとおりです。{upgrade.component=portal}: ポータルに関連するアップグレードプロセス{upgrade.component=framework}: アップグレードフレームワークロジックに関連するプロセス用{upgrade.component=<bundleSymbolicName>}: モジュールに関連するアップグレードプロセス用
この機能を使用するには、 portal-impl/src/META-INF/portal-log4j.xml ファイルを bundles/tomcat/webapps/ROOT/WEB-INF/classes/META-INF にコピーし、ファイル名を portal-log4j-ext.xml に変更する必要があります。 次に、アペンダーの定義を探します。
<Appender name="CONSOLE" type="Console">
<Layout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t][%c{1}:%L] %m%n" type="PatternLayout" />
</Appender>
定義を変更して %Xを含めるようにします。これにより、Log4j はスレッドコンテキスト情報を出力するようになります。
<Appender name="CONSOLE" type="Console">
<Layout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t][%c{1}:%L] %m %X%n" type="PatternLayout" />
</Appender>
詳細については、 アップグレードログコンテキスト を参照してください。
アップグレード構成例
以下は、カスタマイズして [LIFERAY_HOME]/tools/portal-tools-db-upgrade-client/ にコピーできるアップグレード構成ファイルの例です。
-
app-server.properties:dir=./tomcat extra.lib.dirs=./bin global.lib.dir=./lib portal.dir=./webapps/ROOT -
portal-upgrade-ext.properties:jdbc.default.url=jdbc:postgresql://localhost:5432/lportal jdbc.default.driverClassName=org.postgresql.Driver jdbc.default.username=root jdbc.default.password= liferay.home=/home/user/servers/liferaydxp module.framework.base.dir=/home/user/servers/liferaydxp/osgi dl.store.impl=com.liferay.portal.store.file.system.FileSystemStore