Liquibase generateChangeLog失败:Java堆空间 [英] Liquibase generateChangeLog Failed: Java heap space

查看:217
本文介绍了Liquibase generateChangeLog失败:Java堆空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试从DB2数据库生成SQL数据时,我遇到了Java堆空间问题.大约有25个表,大约有1000条记录.

When I try to generate SQL data from a DB2 database, I am getting Java Heap space issue. There are around 25 tables with approx 1000 records.

我在生成变更集数据时使用以下脚本:

I use the below scripts in generating the changeset data:

C:\liquibase-3.0.2-bin>liquibase --driver=com.ibm.db2.jcc.DB2Driver \
--classpath="C:\db2jcc.jar" \
--changeLogFile="C:\Liquibase Release\liqui_MYDB_MYSCHEMA_Data.xml" \
--url="jdbc:db2://__ip__here__:9008/MYDB" \
--username="user" \
--password="12345" \
--defaultSchemaName="MYSCHEMA" \
--diffTypes=data  \
generateChangeLog

我试图通过在liquibase.bat文件中设置JAVA_OPTS来增加内存,但这没有任何解决方法:

I tried to increase the memory by setting JAVA_OPTS in liquibase.bat file, but this did not yield any solution:

  • set JAVA_OPTS="-XX:MaxPermSize=1024m"
  • set JAVA_OPTS="-Xms512m -Xmx1024m"
  • set JAVA_OPTS="-XX:MaxPermSize=1024m"
  • set JAVA_OPTS="-Xms512m -Xmx1024m"

推荐答案

您不应该运行MaxPermSize,因此只需设置一个更大的Xmx标志即可.

You shouldn't be running into MaxPermSize, so just setting a larger Xmx flag should be all that is needed.

添加--dataOutputDirectory=DIR_YOU_WANT标志也可能有所帮助.这将导致Liquibase在CSV文件中输出数据,这将减少创建内存所需的时间.生成的XML + CSV通常比巨大的XML文件更易于管理

It may also help to add the --dataOutputDirectory=DIR_YOU_WANT flag. That will cause Liquibase to output the data in CSV files which will be less mmemory intensive to create. The resulting XML+CSV is usually more manageable than a huge XML file as well

类似的东西:

C:\liquibase-3.0.2-bin>liquibase \ 
--driver=com.ibm.db2.jcc.DB2Driver \ 
--classpat h="C:\db2jcc.jar" \ 
--changeLogFile="C:\Liquibase Release\liqui_MYDB_MYSCHEMA_Data.xml" \ 
--url="jdbc:db2://__ip__here__:9008/MYDB" \ 
--username="user" \ 
--password="12345" \ 
--defaultSchemaName="MYSCHEMA" \ 
--diffTypes=data \ 
--dataOutputDirectory=C:\Liquibase Release\liqui_MYDB_MYSCHEMA_Data.out \ 
generateChangeLog

这篇关于Liquibase generateChangeLog失败:Java堆空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆