升级 H2 数据库到 2.1.210 - 8.0

Talend Big Data 迁移与升级指南

Version
8.0
Language
中文(简体)
EnrichDitaval
Big Data
Product
Talend Big Data
Module
Talend Activity Monitoring Console
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend Data Preparation
Talend Data Stewardship
Talend Identity and Access Management
Talend JobServer
Talend Log Server
Talend Runtime
Talend Studio
Content
数据治理
为解决 CVE 问题,H2 数据库驱动被升级到 2.1.210 版本。由 1.4.196/1.4.200 驱动版本构件的数据库与 2.1.210 版本不兼容。要升级数据库,您需要使用旧的 H2 驱动备份数据库,并用新驱动恢复此备份。

步骤

  1. 准备数据库驱动包:
    • 原驱动包 (h2-1.4.196.jar/h2-1.4.200.jar)。
    • 新驱动包 (h2-2.1.210.jar)。
  2. 使用 Script 工具备份数据库:
    // 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
  3. 使用 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
  4. 将文件 talend_administrator_new.mv.db 更名为 talend_administrator.mv.dbTalend Administration Center 将使用这个与 2.1.210 驱动兼容的新文件。
    同时还要用正确的 JDBC URL 更新 <ApplicationPath>/WEB-INF/classes/configuration.properties 文件:
    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