Error when generateChangeLog is executed on DB - Unable to extend temp tablespace segment

I have a database which includes our core DB Schema without any data.  I am trying to generate a change log for all of our tables, keys, indexes, etc so that we can use it as a baseline and begin to use Liquibase for deploying our SQL scripts.  The problem is that the Temp tablespace on our database keeps getting filled up while trying to generate the changelog.  I am running the following command:


java -jar liquibase.jar --changeLogFile=ChangeLog.xml generateChangeLog


And we have the following properties set up in our liquibase.properties file (with our sensitive stuff removed):


#liquibase.properties

driver: oracle.jdbc.OracleDriver

classpath: ojdbc6.jar

url: jdbc:oracle:thin:@IP:1521:orcl

username: CATS_CORE

password: pass


The total size of the database I am trying to generate a Change Log from is only 5 mb, but somehow trying to do this is filling up our 32gb temp tablespace on our db server.  We even raised it to 50gb, and it took longer – but it ran out of temp tablespace as well.  This seems to be happening when it is reading the columns from the DB…  


Any suggestions on this would be greatly appreciated.  This is stopping us from beginning our internal testing to see if Liquibase will fit into our delivery model.  I have successfully used this same installation of liquibase on another larger database with data in it and it generated a change log fine.  Unfortunately, in this case it doesn’t appear to be working.


Below is the error that is getting spit out:


[jenkins@sea80175 liquibase]$ java -jar liquibase.jar --changeLogFile=ChangeLog.xml generateChangeLog

INFO 2/14/12 2:19 PM:liquibase: Reading tables for CATS_CORE @ jdbc:oracle:thin:@IP:1521:orcl …

INFO 2/14/12 2:19 PM:liquibase: Reading views for CATS_CORE @ jdbc:oracle:thin:@ IP :1521:orcl …

INFO 2/14/12 2:19 PM:liquibase: Reading foreign keys for CATS_CORE @ jdbc:oracle:thin:@ IP :1521:orcl …

INFO 2/14/12 2:19 PM:liquibase: Reading primary keys for CATS_CORE @ jdbc:oracle:thin:@ IP :1521:orcl …

INFO 2/14/12 2:19 PM:liquibase: Reading columns for CATS_CORE @ jdbc:oracle:thin:@ IP :1521:orcl …

Liquibase Update Failed: ORA-01652: unable to extend temp segment by 128 in tablespace CATS_CORE_TEMP


SEVERE 2/14/12 4:14 PM:liquibase: ORA-01652: unable to extend temp segment by 128 in tablespace CATS_CORE_TEMP


liquibase.exception.DatabaseException: java.sql.SQLException: ORA-01652: unable to extend temp segment by 128 in tablespace CATS_CORE_TEMP


        at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.createSnapshot(JdbcDatabaseSnapshotGenerator.java:251)

        at liquibase.snapshot.DatabaseSnapshotGeneratorFactory.createSnapshot(DatabaseSnapshotGeneratorFactory.java:69)

        at liquibase.diff.Diff.compare(Diff.java:63)

        at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:145)

        at liquibase.integration.commandline.Main.doMigration(Main.java:719)

        at liquibase.integration.commandline.Main.main(Main.java:133)

Caused by: java.sql.SQLException: ORA-01652: unable to extend temp segment by 128 in tablespace CATS_CORE_TEMP


        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)

        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)

        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)

        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)

        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)

        at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193)

        at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:873)

        at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)

        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)

        at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1491)

        at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:406)

        at liquibase.snapshot.jvm.OracleDatabaseSnapshotGenerator.readColumns(OracleDatabaseSnapshotGenerator.java:165)

        at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.createSnapshot(JdbcDatabaseSnapshotGenerator.java:244)

        … 5 more


The error is being thrown from the code that uses JDBC metadata calls through the oracle driver. I’m not sure what would be taking up all the temp space. Are you using the newest oracle jdbc driver?


Nathan

I grabbed the one for Oracle 11G R2 (which matches my DB) using jdk 1.6 (which is what is on the server) from the oracle website.  ojdbc6.jar from this site:  http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html 


I believe i was referenced here from the liquibase instructions.  

^^  Posted by me, forgot to log in :slight_smile:


Also – want to remind that this command works FINE if i change schema and pass to the larger database…  Generated change log in about 20 seconds.  It’s just this database that it is erroring on.  Seems very weird considering the DB is so much smaller. 


Edited to Add: Another one of our DB’s (with no data) is erroring out in the same way.  Is it possible it is an issue with Databases that have no data?  Not sure why that would be a factor but that seems to be the only thing linking these two problem environments together.