It is possible to do this.
- Turn off Confluence (or any application that is using the database).
- Modify the .properties file of the database with the setting
modified=yes
instead ofmodified=no
- Put the .log file that you want to execute alongside the .properties and .script files of the database.
- Run the DatabaseManager app or the SqlTool command line app or other GUI manager with a large JVM max memory allocation, and the hsqldb jar (this must be a recent version of the jar).
- Connect to the database as a file: database with the property below added to connection string:
This is a sample URL:
jdbc:hsqldb:file:<your filepath ending with name of databases>;hqldb.full_log_replay=true
If there is an error in connection, it will show the line number of the .log file where there is the error.
If there is an error, edit the log file at that point. But it is likely that memory runs out due to the database being all-in-memory and your data increasing over time.
There is a simple way to connect to a database used by Confluence and change some of the tables to CACHED tables, which are disk based and do not use much memory.