H2データベースドライバーが2.1.210バージョンにアップグレードされた場合、次のCVEの問題が発生します。バージョン1.4.196、またはバージョン1.4.200によってビルドされるデータベースは、バージョン2.1.210と互換性がありません。データベースをアップデートするには、古いH2ドライバーでデータベースをバックアップして、新しいドライバーでそのバックアップを復元する必要があります。
手順
-
データベースドライバーを準備します:
- 古いドライバー(h2-1.4.196.jar/h2-1.4.200.jar)
- 新しいドライバー(h2-2.1.210.jar)
-
スクリプトツールを使ってデータベースをバックアップ:
// use the h2-1.4.196.jar/h2-1.4.200.jar to backup the current h2 db:talend_administrator to file: tac_backup.zip java -cp .\h2-1.4.200.jar org.h2.tools.Script -url "jdbc:h2:file:D:/Tomcats/tacdb/migrate/talend_administrator;MV_STORE=FALSE;AUTO_SERVER=TRUE;lock_timeout=15000;DEFAULT_LOCK_TIMEOUT=15000;LOCK_MODE=0" -user tisadmin -password tisadmin -script tac_backup.zip -options compression zip
-
RunScriptツールを使って、新しいデータベースでバックアップを復元します:
// use the h2-2.1.210.jar to restore the backup file: tac_backup.zip to new db: talend_administrator_new java -cp .\h2-2.1.210.jar org.h2.tools.RunScript -url "jdbc:h2:file:D:/Tomcats/tacdb/migrate/talend_administrator_new;AUTO_SERVER=TRUE;lock_timeout=15000;DEFAULT_LOCK_TIMEOUT=15000;LOCK_MODE=0;MODE=LEGACY" -user tisadmin -password tisadmin -script tac_backup.zip -options compression zip
-
talend_administrator_new.mv.dbファイル名をtalend_administrator.mv.dbにアップデートします。Talend Administration Centerでは、2.1.210ドライバーで動作する新しいファイルを使います。
同時に、<ApplicationPath>/WEB-INF/classes/configuration.propertiesファイルを正しいJDBC URLでアップデートします:
jdbc:h2:{0}/WEB-INF/database/talend_administrator;AUTO_SERVER=TRUE;lock_timeout=15000;DEFAULT_LOCK_TIMEOUT=15000;LOCK_MODE=0;MODE=LEGACY
H2データベースをアップデート、バックアップ、復元する方法の詳細は、https://h2database.com/html/tutorial.html#upgrade_backup_restoreをご覧ください。