[firebase-br] MIGRAÇÃO FIREBIRD XP PARA LINUX
Sandro Souza
escovadordebits em gmail.com
Sáb Set 26 22:47:13 -03 2009
Bom dia/tarde Wilson.
Grande Wilson, baseado no meu humilde conhecimendo sobre Firebird,
respondo suas questões da seguinte forma:
1 - Como existem mais otimizações no Firebird 2.1, e para isso, o
formato interno das bases de dados tiveram que ser modificados, a
resposta é sim. Uma base criada no Firebird 1.5 tem um formato diferente
da criada na versão 2.1, mas o 2.1 "entende" perfeitamente o formato da 1.5.
Se você vai utilizar uma versão superior a versão que você já utiliza, é
sempre recomendável recriar a base de dados na nova versão para
aproveitar todas as melhorias.
Para isso, você poderia, por exemplo, gerar um backup transportável de
sua base de dados 1.5 e criar a nova base, na nova versão, a partir
desse backup.
Se você criou usuários no Firebird, então você deve criá-los também na
nova versão, antes de criar a nova base de dados.
2 - Instalando o Firebird 2.1 no Linux, no caso o Ubuntu 9.04, você
poderá utilizar, no mínimo, o utilitário "isql-fb" para acessar o
Firebird e efetuar todas as operações que desejar. No Firebird de linux,
você também dispões do gbak, gsec e outras ferramentas (como o "isql-fb").
Como ferramenta gráfica, eu utilizo o FlameRobin, que não chega aos pés
do IB Expert, mas está me servindo bem, só tendo o incômodo de não
exibir os textos acentuados.
Assim que vocẽ instala o Firebird no Ubuntu, ele não é executado
automaticamente até que você crie a senha do usuário "sysdba".
Para fazer isso, use o utilitário "dpkg" para reconfigurar o pacote de
Firebird que você instalou.
Por exemplo, eu instalei o pacote "firebird2.1-super", então eu o
reconfiguro pelo seguinte comando "dpkg --configure firebird2.1-super".
Nesse momento, ainda em modo texto, você deverá informar a senha inicial
do usuário "sysdba", e a partir daí o firebird será sempre carregado ao
iniciar o micro.
Para iniciar o serviço do firebird você pode digitar, como usuário root,
"service firebird2.1-super start", para pará-lo "service
firebird2.1-super stop" e para reiniciá-lo "service firebird2.1-super
restart".
Por exemplo, supondo que você vai acessar o Firebird usando o usuário
"sysdba" com a senha "masterkey", no dialeto 3, você pode digitar o
comando "isql-fb -u sysdba -p masterkey -s 3".
A partir daí, você pode criar novas bases de dados, acessar as já
existentes, e todas as operações que esse utilitário permite.
Eu também migrei uma base de dados de um Firebird de M$$$$ Windows para
Linux, e o que fiz foi o seguinte:
2.1 - Gerei um backup transportável (se não for transportável, não
conseguiria utilizá-lo em outra plataforma, como linux) da base de dados
atual.
2.2 - Quando você instala o Firebird no linux, ele cria um usuário
"firebird" que pertence ao grupo de usuários "firebird", e o processo do
Firebird é executado nos direitos desse usuário (firebird:firebird)
réles mortal. Sendo assim, criei uma pasta chamada "databases" em
"/home" e tornei o usuário "firebird:firebird" o dono/proprietário dessa
pasta, para que ele possa acessar completamente todas as bases de dados
que eu colocar nessa pasta (chown firebird:firebird /home/databases).
2.3 - No linux, usei o gbak para restaurar o backup transportável,
criando uma nova base de dados no linux, e nesse caso, eu criei naquela
pasta /home/databases, tomando o cuidado de também tornar o usuário
"firebird:firebird" o dono dessa nova base (chown firebird:firebird
/home/database/novabase.fdb).
2.4 - Editei o arquivo "/etc/firebird/2.1/aliases.conf" e acrescentei
uma nova linha de texto para criar um "alias" para a nova base de dados
(minhabase = /home/databases/minhabase.fdb), para que dessa forma
ficasse transparente a verdadeira localização da base de dados.
2.5 - Também temos que ter o cuidado de configurar o firewall do linux
para permitir conexões a porta 3050, que é a padrão do
Firebird/Interbase, e se for o caso de querer aumentar a segurança,
configure o arquivo "/etc/firebird/2.1/firebird.conf", trocando o valor
da variável "RemoteServicePort" para outro número de porta servidora, e
removendo o caracter inicial dessa linha (#) que deixava a linha em
comentário, e nesse caso, configure o firewall para permitir acessos
externos a essa nova porta.
No meu caso, eu instalei também o pacote do FireStarter, que é um
frontend bem simples para configurar de maneira muito prática o firewall
do linux.
3 - Como eu criei um "alias" para a nova base de dados, nas estações com
M$$$ Windows, posso acessar essa base pelo caminho:
"<ip-do-servidor>:minhabase", onde "<ip-do-servidor>" é o endereço IP (o
nome do servidor também serve) da máquina onde está sendo executado o
Firebird, e "minhabase" é o nome do "alias" que eu criei no arquivo
"/etc/firebird/2.1/aliases.conf". Caso contrário, teríamos que informar
o caminho completo da base, como
"<ip-do-servidor>:/home/database/novabase.fdb".
Espero ter ajudado mais que atrapalhado. :D
>
> Boa noite, meu nome e Wilson, tenho um conhecimento acredito que
> mediano, mais para firebird, sou novato total.
> estou com um cliente aonde possui duas maquinas fazendo papel de
> servidor, aonde o mesmo quer juntar as duas em um servidor só, então
> entra a questão estou migrando para Linux. A parte do samba esta ok,,
> mais o firebird me deixou um tanto quanto confuso, minhas duvidas:
> Ambiente do banco de dados atual: windows xp, com firebird 1.5
> Ambiente do server linux: Ubuntu Server 9.04 firebird 2.1 amd_64
> 1)existe diferença de um banco que originalmente foi feito em fb1.5
> para um 2.1?
> 2)aonde,como se configura a base de dados, tenho q subir uma base que
> estar no /home/sistema/banco.dbf?
> 3)o cliente XP se conecta da seguinte forma? ¨sistema.exe
> 192.168.0.1:3050:/compartilhamento_samba/banco.dbf¨
>
> Desde já grato.
> Wilson Campos Filho
> Apenas mais um sofredor! paz
>
> ______________________________________________
> 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