[firebase-br] Transferir base do Firebird (win) para Firebird (linux)

Sandro Souza escovadordebits em gmail.com
Sex Jun 19 13:23:03 -03 2009


Bom dia/tarde Eduardo.

Grande Eduardo, aqui na empresa em que trabalho atualmente, estou preparando
uma migração de XP para Ubuntu Linux, e também percorri esse caminho.

Assim como você, instalei o Firebird (no meu caso, é o 2.1 SuperServer) e
configurei uma senha para o SYSDBA.

Quando instalamos o Firebird, é criado um usuário "firebird" no grupo de
usuários "firebird".

Não sei como você configurou as suas partições, mas eu criei uma partição
separada para a pasta "/home", de modo que eu não perco meus arquivos sempre
que eu decidir trocar de distribuição. Se bem que essa questão não tem nada
a ver com o seu caso.

Eu só falei sobre a pasta "/home", porque (como root) eu criei uma subpasta
"databases", e tornei o usuário "firebird", do grupo "firebird", o dono
dessa nova subpasta (chown firebird:firebird /home/databases), permitindo
que o Firebird tenha acesso completo à mesma.

Quando eu conecto no Firebird do Linux, eu crio as minhas bases de dados
nessa pasta "/home/databases", onde tenho certeza que o Firebird tem toda a
liberdade.

Para importar a base de dados, eu poderia simplesmente copiar o arquivo
inteiro (base.fdb) para a pasta "/home/databases", lembrando sempre de
deixar o usuário "firebird:firebird" como o dono do arquivo (chown
firebird:firebird /home/databases/base.fdb), caso contrário, o Firebird não
teria mesmo acesso ao arquivo, e seria retornada essa mensagem de erro como
você citou. Será que não foi isso que faltou no seu caso?

No meu caso, eu preferi gerar um backup da base no XP, tomando o cuidado de
marcar a opçao "transportável", para que o Firebird de linux pudesse
"entendê-lo", e após isso, criei a mesma base de dados em "/home/databases",
restaurando os dados desse backup.

Nessa operação de gerar um backup transportável e criar uma nova base de
dados a partir desse backup, como é o próprio Firebird que cria o arquivo da
base de dados, automaticamente ele já é o dono do arquivo, e dessa forma,
não precisa definir isso manualmente como na primeira situação.

Como ferramenta gráfica de gerenciamento do Firebird, estou utilizando o
FlameRobin de Linux, já que instalei o IB Expert Personal Edition no Linux
pelo Wine, e o danado do IB Expert entra em coma logo após exibir suas
janelas. Ele ainda chega a responder aos primeiros cliques do mouse, mas em
poucos segundos ele para tudo, ficando travado e meio.

Com relação ao FlameRobin, achei uma ferramenta bastante interessante, e até
aproveito para lhe avisar que ele ainda não está exibindo o código fonte das
stored procedures e triggers que contenham algum caracter acentuado (como
nos comentários do código), o que me fez ter que remover todos os acentos
dos comentários para ter um pouco de sossego e comodidade com ele.

Tome cuidado também quando for gerar os metadados da base de dados pelo
FlameRobin, pois ele gera apenas o script de criação daquela base (apenas os
metadados), sem os INSERTs dos dados, e ao invés de usar o comando COMMENT
para definir os comentários dos objetos do banco, usa o UPDATE direto nas
tabelas de sistema do banco, o que não é muito legal. Mas no geral, está me
atendendo a contento sem dúvida alguma.

Qualquer dúvida, é só postar que eu vou te ajudar no que eu puder.

Espero ter ajudado mais que atrapalhado. :D

2009/6/19 Eduardo Oliveira <suporte.sistema em ibest.com.br>

> Olá,
>
> Meu nome é Eduardo Oliveira, sou novo na lista e leigo em BD, mas tenho uma
> tarefa árdua (pelo menos para mim). Tenho um base de dados retirado de um
> firebird for Windows (arquivo.fdb) e preciso colocar ele um firebird for
> linux como primeiro passo.
>
> Fiz a instalação normalmente no linux do firebird 2.0 (super) e configurei
> uma senha no sysdba. Baixei um utilitário for Windows (DBManager) e consigo
> conectar no firebird, mas não consigo importar o arquivo.fdb para dentro
> dele. Quando tento criar uma base por exemplo ele informa: “Unavailable
> database”
>
> As minhas dúvidas são:
>
> É possível fazer isso?
> Como fazer isso?
> Preciso de alguma outra ferramenta para tal processo?
>
> Alguém pode me indicar um tutorial ou apostila para que eu possa me
> familiarizar com o processo e assim poder realiza-lo.
>
> Desde já eu agradeço
>
> Eduardo Oliveira
> Departamento de TI
> Trigest Consultoria
> ===================
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista