liquibase 2.0.1: out of java heap space exporting data

Hi,
    I’m experimenting with using liquibase on the command line in conjunction with oracle 10 on RHEL5 linux. I have a largish database (3Gb) from which I’m trying to export the data as below. Liquibase runs out of heap space. The first time I tried it I saw java using 8Gb in top. Even if set the max heap sapce to 20Gb it still complains and the output file remains empty. Is this a bug? If not, Is there a way to tell it not to keep everything in memory?

Regards,

Bruce.

export CLASSPATH=/opt/instantclient_10_2/ojdbc14.jar:/opt/instantclient_10_2/classes12.jar:$CLASSPATH
export JAVA=/usr/java/jdk1.6.0_10/bin/java
export JAVAOPTS="-Xms1024m -Xmx20000m"
/usr/bin/time -p sh ./liquibase <br>  --username=xxxxx --password=xxxxx <br>  --url=jdbc:oracle:thin:@ <br>  --classpath=$CLASSPATH <br>  --driver=oracle.jdbc.OracleDriver <br>  --changeLogFile=comtel2data.xml <br>  --diffTypes=“data” <br> generateChangelog <br>


INFO 4/18/11 11:47 AM:liquibase: Reading tables for BRUCEA @ jdbc:oracle:thin:@uktnswg-comtel-test01:1521:COMTEL2 …
INFO 4/18/11 11:47 AM:liquibase: Reading views for BRUCEA @ jdbc:oracle:thin:@uktnswg-comtel-test01:1521:COMTEL2 …
INFO 4/18/11 11:47 AM:liquibase: Reading foreign keys for BRUCEA @ jdbc:oracle:thin:@uktnswg-comtel-test01:1521:COMTEL2 …
INFO 4/18/11 11:47 AM:liquibase: Reading primary keys for BRUCEA @ jdbc:oracle:thin:@uktnswg-comtel-test01:1521:COMTEL2 …
INFO 4/18/11 11:47 AM:liquibase: Reading columns for BRUCEA @ jdbc:oracle:thin:@uktnswg-comtel-test01:1521:COMTEL2 …
INFO 4/18/11 11:47 AM:liquibase: Reading unique constraints for BRUCEA @ jdbc:oracle:thin:@uktnswg-comtel-test01:1521:COMTEL2 …
INFO 4/18/11 11:47 AM:liquibase: Reading indexes for BRUCEA @ jdbc:oracle:thin:@uktnswg-comtel-test01:1521:COMTEL2 …
INFO 4/18/11 11:47 AM:liquibase: Reading sequences for BRUCEA @ jdbc:oracle:thin:@uktnswg-comtel-test01:1521:COMTEL2 …
INFO 4/18/11 11:47 AM:liquibase: comtel2data.xml does not exist, creating
Liquibase Update Failed: Java heap space
SEVERE 4/18/11 11:52 AM:liquibase: Java heap space
java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOfRange(Arrays.java:3209)
        at java.lang.String.(String.java:216)
        at oracle.jdbc.driver.CharCommonAccessor.getString(CharCommonAccessor.java:385)
        at oracle.jdbc.driver.T4CVarcharAccessor.getString(T4CVarcharAccessor.java:416)
        at oracle.jdbc.driver.CharCommonAccessor.getObject(CharCommonAccessor.java:688)
        at oracle.jdbc.driver.T4CVarcharAccessor.getObject(T4CVarcharAccessor.java:430)
        at oracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java:921)
        at liquibase.util.JdbcUtils.getResultSetValue(JdbcUtils.java:79)
        at liquibase.executor.jvm.ColumnMapRowMapper.getColumnValue(ColumnMapRowMapper.java:70)
        at liquibase.executor.jvm.ColumnMapRowMapper.mapRow(ColumnMapRowMapper.java:32)
        at liquibase.executor.jvm.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:71)
        at liquibase.executor.jvm.JdbcExecutor$1QueryStatementCallback.doInStatement(JdbcExecutor.java:131)
        at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:55)
        at liquibase.executor.jvm.JdbcExecutor.query(JdbcExecutor.java:143)
        at liquibase.executor.jvm.JdbcExecutor.query(JdbcExecutor.java:151)
        at liquibase.executor.jvm.JdbcExecutor.queryForList(JdbcExecutor.java:203)
        at liquibase.executor.jvm.JdbcExecutor.queryForList(JdbcExecutor.java:198)
        at liquibase.diff.DiffResult.addInsertDataChanges(DiffResult.java:998)
        at liquibase.diff.DiffResult.printChangeLog(DiffResult.java:494)
        at liquibase.diff.DiffResult.printChangeLog(DiffResult.java:421)
        at liquibase.diff.DiffResult.printChangeLog(DiffResult.java:406)
        at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:151)
        at liquibase.integration.commandline.Main.doMigration(Main.java:624)
        at liquibase.integration.commandline.Main.main(Main.java:116)

It is a known issue that will be looked into for the next release (http://liquibase.jira.com/browse/CORE-930


Nathan