====== Definição Gbak ======
O Gbak consiste em uma ferramenta de linha de comando inclusa no pacote do banco de dados Firebird com o intuito de realizar rotinas referentes a backups. O Processo de Backup e Restore do Firebird é a melhor maneira de enxugar um banco de dados, diminuindo até 500% o tamanho do banco.
====== Sintaxe ======
gbak -user -password
===== Exemplo Backup =====
Este é um exemplo de um backup criando um arquivo de log para armazenar os resultados do processo.
gbak -v -t -user SYSDBA -password masterkey -y c:\backups\KStask.log KStask c:\backups\KStask.fbk
===== Exemplo Restore =====
gbak -c -v -user SYSDBA -password masterkey -y c:\backups\KStask.log c:\backups\KStask.fbk c:\restore\KStask.fdb
====== Lista de Opções ======
^Parâmetro ^Abreviação ^ Descrição ^
|-USER| |Nome do usuário que fará o backup/restore. |
|-PASSWORD|-PAS| Senha do usuário que vai executar o backup/restore.|
|-ROLE|-RO|Role que será usado para conectar a base de dados.|
|-BACKUP_DATABASE|-B|Gera um backup.|
|-CREATE_DATABASE|-C|Cria um banco de dados a partir de um arquivo de backup já pronto.|
|-GARBAGE_COLLECT|-G|Não realiza o processo de garbage collection durante o processo de backup, porém, é recomendado que você sempre realize o garbage collect, pois o mesmo é responsável por excluir as versões de registro que não são mais necessárias.|
|-INACTIVE|-I|Desativa os índices durante o processo de restauração do banco de dados.|
|-IGNORE|-IG|Ignora os possíveis erros de checksum.|
|-NO_VALIDITY|-N|Restaura o banco de dados sem fazer as validações de integridade.|
|-KILL|-K|Restaura um banco de dados, porém, não restaura os arquivos de espelho (shadow), do banco de dados.|
|-LIMBO|-L|Ignora todas as transações que por algum motivo não foram confirmadas e nem descartadas.|
|-MODE |-MO|Determina se o banco restaurado será atualizável (read_write), ou apenas leitura (read_only).|
|-META_DATA|-M|Faz backup apenas da estrutura do banco de dados, sem os dados contidos nele.|
|-NT| |Cria um arquivo de backup que só poderá ser restaurado num computador que possua um processador compatível com o processador da máquina onde o backup foi gerado (backup não transportável).|
|-TRANSPORTABLE|-T|Cria um backup com os dados no formato XDR, ou seja, o backup poderá ser restaurado em máquinas que utilizem processadores diferentes do processador utilizado na máquina onde foi feito o backup (formato transportável).|
|-ONE_ATE_A_TIME|-O|Durante a restauração da base de dados será restaurada apenas uma tabela de cada vez.|
|-PAGE_SIZE|-P|Determina o tamanho das paginas que o banco restaurado usará|
|-REPLACE_DATABASE|-R|Especifica que caso o banco informado para o restore já exista, ele deverá ser sobreposto.|
|-SERVICE|-SE|Usa a API de serviço para executar o backup o que fará com que o servidor faça o backup e não o gBak. Como já foi dito anteriormente, esse processo não permitira que o arquivo de backup seja salvo em uma máquina que não seja o servidor.|
|-USE_ALL_SPACE|-USE_|Recomendado para bases de dados que serão read only, visto que o tamanho do banco de dados pode diminuir consideravelmente, pois os 20% reservado em cada página do banco para uso posterior não serão usados.|
|-VERIFY|-V|Mostra na tela todo o processo que esta sendo executado no backup/restore.|
|-Y | |Não mostra as mensagens de status ou se você informar o caminho de um arquivo, as mensagem serão armazenadas nele.|
|-BUFFERS|-BU|Tamanho (em bytes), do cache para o banco que esta sendo restaurado.|
|-CONVERT|-CO|Grava as tabelas externas do banco de dados dentro do backup como se fossem tabelas internas.|
|-Z| |Mostra a versão do gBak.|
|-?| |Mostra esta lista de comando.|
====== Referências ======
http://www.destructor.de/firebird/gbak.htm