# Data Tools You can use the Artemis CLI to execute data maintenance tools: The following sub-commands are available when running the CLI data command from a particular broker instance that has already been installed using the create command: Name | Description ---|--- print | Prints a report about journal records of a non-running server exp | Export the message data using a special and independent XML format imp | Imports the journal to a running broker using the output from expt encode | shows an internal format of the journal encoded to String decode | imports the internal journal format from encode compact | Compacts the journal of a non running server recover | Recover (undelete) messages from an existing journal and create a new one. You can use the CLI help for more information on how to execute each of the tools. For example: ``` $ ./artemis help data print NAME artemis data print - Print data records information (WARNING: don't use while a production server is running) SYNOPSIS artemis data print [--bindings ] [--broker ] [--f] [--jdbc] [--jdbc-bindings-table-name ] [--jdbc-connection-url ] [--jdbc-driver-class-name ] [--jdbc-large-message-table-name ] [--jdbc-message-table-name ] [--jdbc-node-manager-table-name ] [--jdbc-page-store-table-name ] [--journal ] [--large-messages ] [--output ] [--paging ] [--reclaimed] [--safe] [--verbose] [--] [] OPTIONS --bindings The folder used for bindings (default from broker.xml) --broker This would override the broker configuration from the bootstrap --f This will allow certain tools like print-data to be performed ignoring any running servers. WARNING: Changing data concurrently with a running broker may damage your data. Be careful with this option. --jdbc It will activate jdbc --jdbc-bindings-table-name Name of the jdbc bindigns table --jdbc-connection-url The connection used for the database --jdbc-driver-class-name JDBC driver classname --jdbc-large-message-table-name Name of the large messages table --jdbc-message-table-name Name of the jdbc messages table --jdbc-node-manager-table-name Name of the jdbc node manager table --jdbc-page-store-table-name Name of the page store messages table --journal The folder used for messages journal (default from broker.xml) --large-messages The folder used for large-messages (default from broker.xml) --output Output name for the file --paging The folder used for paging (default from broker.xml) --reclaimed This option will try to print as many records as possible from reclaimed files --safe It will print your data structure without showing your data --verbose Adds more information on the execution -- This option can be used to separate command-line options from the list of argument, (useful when arguments might be mistaken for command-line options Broker Configuration URI, default 'xml:${ARTEMIS_INSTANCE}/etc/bootstrap.xml' ``` For a full list of data tools commands available use: ``` $ ./artemis help data NAME artemis data - data tools group (print|imp|exp|encode|decode|compact|recover) (example ./artemis data print) SYNOPSIS artemis data artemis data compact [--journal ] [--large-messages ] [--paging ] [--broker ] [--bindings ] [--verbose] artemis data decode [--journal ] [--large-messages ] [--file-size ] [--paging ] [--prefix ] [--suffix ] [--broker ] [--directory ] [--bindings ] [--verbose] --input artemis data encode [--journal ] [--large-messages ] [--file-size ] [--paging ] [--prefix ] [--suffix ] [--broker ] [--bindings ] [--verbose] [--directory ] artemis data exp [--jdbc-driver-class-name ] [--journal ] [--jdbc-connection-url ] [--large-messages ] [--jdbc-bindings-table-name ] [--paging ] [--f] [--jdbc-large-message-table-name ] [--broker ] [--jdbc-page-store-table-name ] [--bindings ] [--jdbc] [--verbose] [--jdbc-message-table-name ] [--jdbc-node-manager-table-name ] [--output ] artemis data imp [--legacy-prefixes] [--password ] [--transaction] [--verbose] [--port ] [--user ] [--sort] --input [--host ] artemis data print [--reclaimed] [--jdbc-driver-class-name ] [--journal ] [--jdbc-connection-url ] [--large-messages ] [--jdbc-bindings-table-name ] [--paging ] [--f] [--jdbc-large-message-table-name ] [--safe] [--broker ] [--jdbc-page-store-table-name ] [--bindings ] [--jdbc] [--verbose] [--jdbc-message-table-name ] [--jdbc-node-manager-table-name ] [--output ] artemis data recover [--jdbc-driver-class-name ] [--journal ] [--jdbc-connection-url ] [--large-messages ] [--reclaimed] --target [--jdbc-bindings-table-name ] [--paging ] [--f] [--jdbc-large-message-table-name ] [--broker ] [--jdbc-page-store-table-name ] [--bindings ] [--jdbc] [--verbose] [--jdbc-message-table-name ] [--jdbc-node-manager-table-name ] [--output ] COMMANDS With no arguments, Display help information recover Recover (undelete) every message on the journal by creating a new output journal. Rolled backed and acked messages will be sent out to the output as much as possible. With --jdbc-driver-class-name option, JDBC driver classname With --journal option, The folder used for messages journal (default from broker.xml) With --jdbc-connection-url option, The connection used for the database With --large-messages option, The folder used for large-messages (default from broker.xml) With --reclaimed option, This option will try to recover as many records as possible from reclaimed files With --target option, Output folder container the new journal with all the generated messages With --jdbc-bindings-table-name option, Name of the jdbc bindigns table With --paging option, The folder used for paging (default from broker.xml) With --f option, This will allow certain tools like print-data to be performed ignoring any running servers. WARNING: Changing data concurrently with a running broker may damage your data. Be careful with this option. With --jdbc-large-message-table-name option, Name of the large messages table With --broker option, This would override the broker configuration from the bootstrap With --jdbc-page-store-table-name option, Name of the page store messages table With --bindings option, The folder used for bindings (default from broker.xml) With --jdbc option, It will activate jdbc With --verbose option, Adds more information on the execution With --jdbc-message-table-name option, Name of the jdbc messages table With --jdbc-node-manager-table-name option, Name of the jdbc node manager table With --output option, Output name for the file print Print data records information (WARNING: don't use while a production server is running) With --reclaimed option, This option will try to print as many records as possible from reclaimed files With --jdbc-driver-class-name option, JDBC driver classname With --journal option, The folder used for messages journal (default from broker.xml) With --jdbc-connection-url option, The connection used for the database With --large-messages option, The folder used for large-messages (default from broker.xml) With --jdbc-bindings-table-name option, Name of the jdbc bindigns table With --paging option, The folder used for paging (default from broker.xml) With --f option, This will allow certain tools like print-data to be performed ignoring any running servers. WARNING: Changing data concurrently with a running broker may damage your data. Be careful with this option. With --jdbc-large-message-table-name option, Name of the large messages table With --safe option, It will print your data structure without showing your data With --broker option, This would override the broker configuration from the bootstrap With --jdbc-page-store-table-name option, Name of the page store messages table With --bindings option, The folder used for bindings (default from broker.xml) With --jdbc option, It will activate jdbc With --verbose option, Adds more information on the execution With --jdbc-message-table-name option, Name of the jdbc messages table With --jdbc-node-manager-table-name option, Name of the jdbc node manager table With --output option, Output name for the file exp Export all message-data using an XML that could be interpreted by any system. With --jdbc-driver-class-name option, JDBC driver classname With --journal option, The folder used for messages journal (default from broker.xml) With --jdbc-connection-url option, The connection used for the database With --large-messages option, The folder used for large-messages (default from broker.xml) With --jdbc-bindings-table-name option, Name of the jdbc bindigns table With --paging option, The folder used for paging (default from broker.xml) With --f option, This will allow certain tools like print-data to be performed ignoring any running servers. WARNING: Changing data concurrently with a running broker may damage your data. Be careful with this option. With --jdbc-large-message-table-name option, Name of the large messages table With --broker option, This would override the broker configuration from the bootstrap With --jdbc-page-store-table-name option, Name of the page store messages table With --bindings option, The folder used for bindings (default from broker.xml) With --jdbc option, It will activate jdbc With --verbose option, Adds more information on the execution With --jdbc-message-table-name option, Name of the jdbc messages table With --jdbc-node-manager-table-name option, Name of the jdbc node manager table With --output option, Output name for the file imp Import all message-data using an XML that could be interpreted by any system. With --legacy-prefixes option, Do not remove prefixes from legacy imports With --password option, User name used to import the data. (default null) With --transaction option, If this is set to true you will need a whole transaction to commit at the end. (default false) With --verbose option, Adds more information on the execution With --port option, The port used to import the data (default 61616) With --user option, User name used to import the data. (default null) With --sort option, Sort the messages from the input (used for older versions that won't sort messages) With --input option, The input file name (default=exp.dmp) With --host option, The host used to import the data (default localhost) decode Decode a journal's internal format into a new journal set of files With --journal option, The folder used for messages journal (default from broker.xml) With --large-messages option, The folder used for large-messages (default from broker.xml) With --file-size option, The journal size (default 10485760) With --paging option, The folder used for paging (default from broker.xml) With --prefix option, The journal prefix (default activemq-data) With --suffix option, The journal suffix (default amq) With --broker option, This would override the broker configuration from the bootstrap With --directory option, The journal folder (default journal folder from broker.xml) With --bindings option, The folder used for bindings (default from broker.xml) With --verbose option, Adds more information on the execution With --input option, The input file name (default=exp.dmp) encode Encode a set of journal files into an internal encoded data format With --journal option, The folder used for messages journal (default from broker.xml) With --large-messages option, The folder used for large-messages (default from broker.xml) With --file-size option, The journal size (default 10485760) With --paging option, The folder used for paging (default from broker.xml) With --prefix option, The journal prefix (default activemq-data) With --suffix option, The journal suffix (default amq) With --broker option, This would override the broker configuration from the bootstrap With --bindings option, The folder used for bindings (default from broker.xml) With --verbose option, Adds more information on the execution With --directory option, The journal folder (default the journal folder from broker.xml) compact Compacts the journal of a non running server With --journal option, The folder used for messages journal (default from broker.xml) With --large-messages option, The folder used for large-messages (default from broker.xml) With --paging option, The folder used for paging (default from broker.xml) With --broker option, This would override the broker configuration from the bootstrap With --bindings option, The folder used for bindings (default from broker.xml) With --verbose option, Adds more information on the execution ```