This tool supports maintenance operations such as backup and compaction.
To back up a repository, use:
java -mx4g -jar oak-run-*.jar backup <repository> <backup>
When using the (default) Tar storage, the <repository>
setting is the path to the directory that contains the segment (data*.tar) files. The <backup>
option is the target directory.
To list the checkpoints of a repository, use:
java -mx4g -jar oak-run-*.jar checkpoint <repository>
When using the (default) Tar storage, the <repository>
setting is the path to the directory that contains the segment (data*.tar) files.
The oak-run compact operation may be used to perform an offline compaction:
java -mx4g -jar oak-run-*.jar compact <repository> [--force]
It makes sense to find and remove the old checkpoints, using the checkpoint
command described above.
When performing operations on the SegmentNodeStore (eg. backup, checkpoint, compact), it's possible to tweak various system properties to get the optimal performance. These are:
cache
- cache size for the SegmentNodeStore (default: 256
),compaction-progress-log
- how many entries should be compacted between log messages (default: 150000
),compress-interval
- number of map entries to keep until compressing this map (default: 100000
),update.limit
- threshold for the flush of a temporary transaction to disk (default: 10000
),tar.memoryMapped
- allow to use memory mapped files to reduce memory usage (default: false
),Example:
java -Dtar.memoryMapped=true -mx4g -jar oak-run-*.jar checkpoint <repository>
MongoDB comes with a command line shell that can be extended with custom JavaScript. Oak provides a oak-mongo.js file with MongoMK specific extensions. You first need to download the JavaScript file and then start the MongoDB shell with the file.
wget https://s.apache.org/oak-mongo.js mongo --shell oak-mongo.js
Now the MongoDB shell has an oak
namespace with additional functions.