データベースアップグレードツールの使用
Liferayデータベースアップグレードツールは、Liferay DXPデータベースおよびLiferay Portalデータベースをオフラインでアップグレードするためのクライアントプログラムです。
アップグレードする前に、必ず データとインストールを バックアップしてください。 バックアップコピーを使用してアップグレードプロセスをテストすることをお勧めします。
バージョン6.2以前からアップグレードする場合は、ファイルストアの設定を更新してください。 詳細については、 ファイル ストアの更新 を参照してください。
Liferayインスタンスから切り離している間にデータベースを修正することで、アップグレード操作用にデータベースをチューニングしたり、不要なデータ(Webコンテンツやドキュメントなどの不要なバージョンなど)を削除してアップグレードのパフォーマンスを向上させたり、アップグレードの問題を解決したりすることができます。 これらのアクティビティは、DXPをはじめとする大規模で重要なポータル環境を安全かつ迅速にアップグレードするために特に重要です。 データベースのチューニングとプルーニングを行い、 Liferay のアップグレードで説明されている関連タスクを完了したら、新しいインストールをセットアップし、アップグレードツールを使用してデータベースをアップグレードする準備が整います。
新しいLiferay Dockerイメージにアップグレードし、アップグレードツールを使用する場合は、新しいLiferayバージョンのLiferay Tomcatバンドルからそのツールを実行してください。 このツールは、バンドルのtools/portal-tools-db-upgrade-clientフォルダにあります。
新しい Liferay リリースをアプリケーション サーバーにインストールした場合は、 [Liferay Home]/tools/portal-tools-db-upgrade-client フォルダーを作成し、Liferay Tomcat バンドルからツールをそこにコピーします。
新規インストールの設定
-
新しい Liferay インストールの
[Liferay Home]/dataフォルダを、[Liferay Home]/dataフォルダ( バックアップ から)に置き換えます。 -
DXP アクティベーション キー (サブスクリプション) と OSGi 設定ファイル を バックアップ から新しいインストール先にコピーします。
-
7.2 にアップグレードする場合は、新しいインストールの
[Liferay Home]/files/osgi/configs/フォルダーにある 構成ファイル を使用して検索インデックス作成を無効にします。 例えば、cd liferay-homemkdir -p osgi/configsecho "indexReadOnly=\"true\"" >> osgi/configs/com.liferay.portal.search.configuration.IndexStatusManagerConfiguration.config注記DXP/Portal 7.3以降では、検索インデックス作成が自動的に無効化/有効化されます。
-
Liferay Commerceをご利用の場合は、アップグレードの準備をしてください。 詳細については、 Liferay Commerce のアップグレード を参照してください。
-
Liferayデータベースのアップグレードと一緒にマーケットプレイスアプリのデータをアップグレードする場合は、新しいLiferayバージョンの対象となる各アプリの最新バージョンをダウンロードして、
[Liferay Home]/deployフォルダにコピーします。 それ以外の場合は、データベースのアップグレード後にアプリをインストールし、 アップグレード後の考慮事項に記載されているようにデータをアップグレードできます。 -
変更されたストレージ場所を使用して Advanced File System Store または Simple File System Store を使用している場合は、ファイル ストアの設定を
.configファイル にエクスポートし、それを新しい[Liferay Home]/osgi/configs/フォルダーにコピーします。重要Advanced File System Storeを使用している場合は、データベースをアップグレードする前に、新しいインストールで
.configファイルを使用して構成する必要があります。以下は、必須の
rootDirパラメータが指定されたcom.liferay.portal.store.file.system.configuration.AdvancedFileSystemStoreConfiguration.configファイルの例です:rootDir="data/document_library" -
データベースベンダーが推奨するJDBCドライバを使用してください。 例えば PostgreSQL を使用している場合は、
をportal-ext.propertiesファイルに設定し、アプリケーション サーバーが使用する PostgreSQL JDBC ドライバ JAR を置き換えます。 詳細については、 データベースドライバ を参照してください。アップグレードツールのプロンプトに応答するか、アップグレードプロパティファイルを使用して、アップグレードを構成できます。
注記新しいLiferay Dockerイメージにアップグレードする場合は、Docker環境変数の代わりにポータルプロパティを使用してデータベース接続を指定してください。 ポータルプロパティリファレンス には、各Liferay環境変数に対応するポータルプロパティが一覧表示されます。
-
(オプション) アップグレードレポート はデフォルトで有効になっています。 オフにするには、
upgrade.report.enabled=falseを設定します。 アップグレード レポートの出力ディレクトリを定義するには、upgrade.report.dir={your_directory}ポータル プロパティを設定します。 何も設定されていない場合、tools/portal-tools-db-upgrade-client/reportsがデフォルトのレポートディレクトリになります。 -
(オプション) アップグレード ログ コンテキストを有効にするには、
tools/portal-tools-db-upgrade-client/portal-upgrade-ext.propertiesを設定します。ファイルでupgrade.log.context.enabled=true -
(オプション) 長時間実行中のクエリが停止しているのではなく進行していることを確認するには、
tools/portal-tools-db-upgrade-client/portal-upgrade-ext.propertiesを設定して、アップグレードの進行状況ログを有効にします。ファイルでupgrade.log.progress.enabled=true進行状況ログはステップが進んでいることを確認し、 アップグレード停止検出 はステップが進まない理由を報告します。
有効にすると、長時間実行される SELECT クエリは、
upgrade.log.progress.intervalで設定された最小間隔で進行状況メッセージをログに記録します (デフォルト:60000ミリ秒、つまり 60 秒)。 各メッセージは、処理された行数と、カウントクエリが成功した場合の合計行数および割合を報告します。com.liferay.portal.upgrade.v7_0_0.UpgradePortletId {queryId=1} はまだ実行中です。 20万行のうち5万行を処理しました。 (25%)注記進捗状況のログ記録を有効にすると、アップグレードにかかる総時間が長くなる場合があります。 実行時間の長いクエリはそれぞれ、並列でカウントクエリを実行して合計行数を計算します。 カウントクエリが10秒以内に完了しない場合、進捗状況のログ記録は行数のみのメッセージに切り替わります。
-
アップグレード停止検出 はデフォルトで有効になっています。 しきい値を調整するには、
upgrade.query.monitor.lock.threshold(デフォルト:300000ミリ秒、つまり 5 分) とupgrade.query.monitor.long.running.threshold(デフォルト:600000ミリ秒、つまり 10 分) をに設定します。 tools/portal-tools-db-upgrade-client/portal-upgrade-ext.propertiesファイル。ロックしきい値を超えてリソースロックを待機しているクエリは、
WARNレベルでログに記録されます。ID 4718 のロックされたクエリ "alter table AssetEntry add priority DOUBLE" が 372 秒間実行されています。
アップグレードツールを実行する
Liferay 7.4 U82/GA82 より前は、 db_upgrade_client.sh ファイルは db_upgrade.sh という名前でした。
アップグレードツールは、コマンドラインインターフェイスを介して、またはプロパティファイルを使用して によって構成されます。
db_upgrade_client.sh スクリプトは [Liferay Home]/tools/portal-tools-db-upgrade-client フォルダにあり、アップグレードツール (db_upgrade_client.bat を呼び出します。 --helpオプションは、ツールの使用状況を説明します。
./db_upgrade_client.sh --help
ここでは、アップグレードツールを使ってデータベースをアップグレードする方法を説明しています。
-
アップグレードツールを起動してください。 コマンドの例を以下に示します。
cd liferay-home/tools/portal-tools-db-upgrade-client./db_upgrade_client.sh上記のコマンドはアップグレードツールを実行します。 ファイルエンコーディング (
UTF-8)、タイムゾーン (GMT)、国、および言語はすべて、アプリケーションサーバーの設定と一致している必要があります。 このツールはシステム環境に基づいてこれらを入力しますが、-jパラメータを使用することで、任意の JVM オプションを指定できます。このツールはデフォルトで最大ヒープメモリを4096MBに設定しています。 10 GB を超えるデータを持つデータベースの場合は、
-Xmxパラメーターを使用して追加のメモリを割り当てます。./db_upgrade_client.sh -j "-Xmx8192m" -
アップグレードが完了したら、 アップグレード レポート を確認して、データベースのアップグレードの失敗、エラー、または警告がないか確認してください。 Gogo Shell コマンド を使用して、問題のトラブルシューティングを行い、アップグレードを完了できます。
アップグレードプロパティファイルを使用してアップグレードを構成していない場合、アップグレードツールはいくつかの構成値の入力を求め、デフォルト値を括弧内に表示します。 以下に、やり取りの例を示します。
$ ./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):
(など)
プロンプトに表示されているデフォルト値を使用する場合は、Enterキーを押してください。 入力された値は、ディレクトリパス、データベースホスト名の解決、データベースポート番号などを含め、入力時に検証されます。 このツールは、 portal-ext.propertiesにある既存のデータベース構成を使用するため、それが構成されていることを確認してください。
Liferay DXP 2026.Q1
パフォーマンス上の理由から、このツールは実行中にバッチ挿入の最適化のためにJDBC URLを再構成します。 例:
- MySQL/MariaDB:バッチ・ステートメントの書き換えを有効にする
rewriteBatchedStatements=trueを追加。 - PostgreSQL: バッチ挿入の最適化を有効にするために、
reWriteBatchedInserts=trueを追加します。 - SQL Server: バッチ操作の一括コピーを有効にするために、
useBulkCopyForBatchInsert=trueを追加します。
設定が完了すると、アップグレードが開始されます。 このツールは、各アップグレードプロセスの開始と完了を記録します。
アップグレードツールでは、いくつかの設定項目のみを尋ねられます。 アプリケーションにとって重要なものの多くは、 アップグレード プロパティ ファイル に設定する必要があります (例: dl.store.impl および module.framework.base.dir)。 portal-ext.properties 内のすべてのプロパティを portal-upgrade-ext.properties にコピーするのがベストプラクティスです。
データベースのアップグレードが完了し、すべての問題が解決されました。
アップグレードされたデータベースをテストする
データベースのアップグレードが完了したので、テストしてください。
-
新しいLiferay Dockerイメージにアップグレードする場合は、イメージをアップグレード済みのデータベースに向け、Liferayとデータベースの互換性を検証してください。 詳細については、 Liferayコンテナの設定 を参照してください。
-
アップグレード後の考慮事項 を確認してください。
-
カスタムLiferay Homeファイルとアプリケーションサーバーファイルをバックアップから新しいインストールにコピーしてマージします。 ファイルには次のものが含まれる場合がありますが、これらに限定されません。
/license/*: アクティベーションキー。 (サブスクリプション)/log/*:ログファイル。/osgi/configs/*.config: OSGi 設定ファイル。 カスタム設定ファイルのみをコピーしてください。 Liferay によって生成された*-default.configファイルを含めないでください。portal-*.properties:portal-ext.propertiesのようなポータルプロパティファイル。- アプリケーションサーバーファイル:変更されたスクリプトと設定ファイル。
web.xml:ポータルWebアプリケーション記述子。
-
サーバーを起動し、アップグレードされたデータベースを使用してLiferayを検証してください。

データベースアップグレードツールを使用して、Liferayデータベースをアップグレードしました。
これが試用版のアップグレードで、アップグレード時間を短縮したい場合は、データベースをアップグレード用に調整し(まだ行っていない場合)、データベースから不要なデータを削除してください。 必要に応じて、この記事の手順を繰り返してください。
問題が発生した場合は、 アップグレード レポート を確認し、 アップグレードのトラブルシューティング を参照してください。