Cara, isso ai vai depender do Banco de Dados que vc está utilizando. Geralmente os BD’s disponibilizam comandos onde você a BEM GROSSO MODO comprime todo o seu banco de dados em um arquivo. São os dump’s da vida por exemplo no mySql vc pode dar um dump usndo o seguinte comando:
Agora para vc executar esse comando através do java existem MUITAS possibilidades. Uma possibilidade simples porém nao elegante é você usar o java.lang.Runtime que permite que vc execute comandos diretamente no S.O.