Instalando o FirebirdSQL 2

Download Instalando o FirebirdSQL 2

Post on 13-Jun-2015

296 views

Category:

Documents

3 download

TRANSCRIPT

Instalando o FirebirdSQL 2 18 de Julho de 2007 hamacker O FirebirdSQL (aka Firebird) um excelente banco de dados relacional compatvel com a conformidade SQL ISO/IEC 9075:2003, ele nasceu Livre depois do fork com o Interbase 6 oferecido pela Borland em julho de 2000, que mais tarde tornou-se proprietrio novamente. Da no teve jeito, nasceu o fork chamado FirebirdSQL. O Banco de Dados Relacional FirebirdSQL roda em Windows, *BSD, Linux e vrios sabores de Unix e diferentes tipos de hardwares e processadores, possui uma srie de vantagens como concorrncia, performance e uma linguagem poderosa para escrever triggers e stored procedures. Atualmente o FirebirdSQL encontra-se na verso 2.0 e com a verso 2.1 em fase beta, mas h um problema : para sistemas baseados no debian (ubuntu incluso), o Firebird encontra-se nos repositrios como verso 1.5.3, que possui menos recursos do que a verso 2.0. Para resolver essa situao vamos precisar fazer um backport, isto , pegar o cdigo fonte da verso 2.0 que est em repositrios para verses futuras (Gutsy) e porta-lo para a verso que estou utilizando (Feisty). O backport melhor do que rodar o instalador (tambm existente) para linux ou usar o mtodo configure; make; make install porque os binrios compatveis com o nosso sistema j estar ambientado nossa distribuio. A receita de bolo abaixo ensina a fazer isso em distros usando Ubuntu, mas a mesma receita pode ser seguida por outros administradores que utilizem uma verso compatvel com Debian, bastando modificar a URI no source.list no primeiro passo. 1) Edite o arquivo /etc/apt/sources.list, e acrescente no final dele a seguinte linha : deb-src http://archive.ubuntu.com/ubuntu/ gutsy main restricted universe multiverse 2) Atualizar a base de dados do sistema : sudo apt-get update 3) Instalar as dependncias para compilao do FirebirdSQL 2.0 : sudo apt-get build-dep firebird2.0 4) Compilar e gerar os pacotes binrios no formato .deb : sudo apt-get -b source firebird2.0 Isso ir baixar os fontes do FirebirdSQL, compilar e gerar pacotes binrios no formato .deb para serem instalados em computadores que usem o mesmo sistema que o seu. Esse processo automtizado, por isso que administradores Debian gostam tanto do apt. Veja o resultado final num Ubuntu Feisty : $ ls -1 *.deb firebird2.0-classic_2.0.1.12855.ds1-7_i386.deb firebird2.0-common_2.0.1.12855.ds1-7_i386.deb firebird2.0-dev_2.0.1.12855.ds1-7_all.deb firebird2.0-doc_2.0.1.12855.ds1-7_all.deb firebird2.0-examples_2.0.1.12855.ds1-7_all.deb firebird2.0-super_2.0.1.12855.ds1-7_i386.deb firebird-utils_2.0.1.12855.ds1-7_all.deb libfbclient2_2.0.1.12855.ds1-7_i386.deb

libfbembed2_2.0.1.12855.ds1-7_i386.deb 5) Para concluir a instalao : Muitos pacotes .deb so gerados, mas nem todos devem ser instalados, bsicamente o que h ali so documentao, banco de dados de exemplos, cliente de banco de dados (necessrio para que aplicaes acessem o banco de dados local ou remoto), utilitrios (ferramentas de backup, isql) e trs sabores do Firebird : SuperServer, Classic e embeded(embarcado). No exemplo abaixo, estarei instalando o FirebirdSQL SuperServer, cliente de banco de dados e os utilitrios : sudo dpkg -i firebird2.0-common_2.0.1.12855.ds1-7_i386.deb super_2.0.1.12855.ds1-7_i386.deb \\ firebird-utils_2.0.1.12855.ds1-7_all.deb \\ libfbclient2_2.0.1.12855.ds1-7_i386.deb (os nomes dos binrios podem variar conforme a distribuio, verso e mtodo utilizados. As linhas acima so um nico comando) As vezes, podem haver dependncias, ento se houverem mensagens de erro corroborando isso, ento instale-as com o seguinte comando : sudo apt-get install -f Se por ventura voce precisar configur a senha do SYSDBA (administrador) em seu sistema, execute o comando : sudo dpkg-reconfigure firebird2.0-super Tambm possivel com o comando acima, relacionar o servio do banco de dados do firebird que iniciado com o boot da mquina para usar o Firebird classic ou super. 6) Para administrar o banco, executar queries e afins numa interface grfica : Recomendo a instalao do programa FlameRobin, um frontend grfico, porm pesoleve (sem dependencias pesadas tambm), crossplataform (windows, linux, *bsd, macos) e completamente opensource. Voce encontra esse programa na seguinte pgina : http://www.flamerobin.org/ Baixe a verso .deb e em seguida : sudo dpkg -i flamerobin_0.7.6-1_i386.deb sudo apt-get install -f Para quem tem o repositrio universe habilitado, nem precisa do procedimento acima, basta : sudo apt-get install flamerobin 7) Convertendo banco de dados de verses anteriores para serem usados no FB2 : Os arquivos de dados do FB2 no so comptiveis com as verses anteriores, mas no se aflija, a soluo simples : fazer uma cpia de segurana (backup) do banco de firebird2.0-

dados antigo e restaura-lo no banco de dados novo. Vamos a um outro passo-apasso : 7.1) Se voce ainda mantm (ou manter) um FB1.5 em sua rede, ento : a) Faa um backup dele e guarde na maquina onde voce j tem o FB2.0 instalado : gbak -b -v -t -user "SYSDBA" -password "masterkey" \\ IP.DO.SERVIDOR:/caminho/para/o/banco/de/dados/arquivo.fdb \\ /var/lib/firebird/2.0/backup/arquivo.fbk Repita a mesma operao com o arquivo /var/lib/firebird2/system/security.fdb se desejar guardar tambm as contas de usurios. b) Agora restaure-o num arquivo novo, genuinamente comptivel com o FB2.0 : gbak -r -v -t -user "SYSDBA" -password "masterkey" \\ /var/lib/firebird/2.0/backup/arquivo.fbk \\ /var/lib/firebird/2.0/data/arquivo.fdb A restaurao do arquivo security.fbk da-se-a da mesma forma, no entanto, dever ser restaurado como /var/lib/firebird/2.0/system/security.fdb. 7.2 Se voce vai trocar a verso anterior do FB pela 2.0 no mesmo servidor : a) Faa a copia de segurana do seu banco de dados antigo (incluindo as contas de usurios), para salvaguardar de problemas e tenha de retornar ao banco de dados antigo, exemplo : # criando uma pasta para guardar os backups originais # o fb dever estar parado para realizar esta operao mkdir -p /local/do/backup/original # uma copia das contas dos usurios cp /var/lib/firebird2/system/security.fdb /local/do/backup/original # copia dos arquivos de dados que voce possuir cp /caminho/para/o/banco/de/dados/arquivo.fdb /local/do/backup/original b) Faa agora um backup (meta-dados e dados) : gbak -b -v -t -user "SYSDBA" \\ -password "masterkey" \\ 192.168.1.5:/caminho/para/o/banco/de/dados/arquivo.fdb \\ /local/do/backup/original/arquivo.fbk Se voce precisar tambm das contas dos usurios, repita este procedimento para o arquivo security.fdb . c) Tendo removido o FB anterior e instalado FB2.0 novo, vamos resturar o backup anterior : gbak -r -v -t -user "SYSDBA" \\ -password "masterkey" \\ /local/do/backup/original/arquivo.fbk \\ /var/lib/firebird/2.0/data/arquivo.fdb A restaurao do arquivo security.fbk da-se-a da mesma forma, no entanto,

dever ser restaurado como /var/lib/firebird/2.0/system/security.fdb. 7.3 Como definir quem ter acesso fsico ao arquivo de dados ? A pasta /var/lib/firebird/2.0/data um local j organizado pelo firebird para serem colocados os arquivos de dados, usando esta pasta como referencia voce no precisar se preocupar com permisses, pois nela h permisses suficientes apenas para o usurio firebird(criado pelo prprio firebird) e root, nenhum outro usurio cadastrado no Linux ter acesso a arquivos de dados colocados nesta pasta. Obviamente, se voce quiser um arquivo de dados em outro local voce pode, no entanto, para inibir o arquivo de ser copiado por outro usurio na rede voce ter que nas pastas/arquivos de dados executar o comando : chmod chown chown chmod 700 /home/fbdados firebird.firebird /home/fbdados firebird.firebird /home/fbdados/arquivo.fdb 600 /home/fbdados/arquivo.fdb

Onde /home/fbdados/ representa a pasta onde voce restaurou ou colocou o(s) arquivo(s) de banco de dados. Obviamente, praticar o mesmo comando para os arquivos (arquivo.fdb) redundancia, no entanto, bom saber que se a segurana da pasta for trocada acidentalmente ainda o arquivo de dados estar seguro. Este procedimento o mesmo que se fazia tambm nas verses anteriores. 8) Criando aliases para acesso ao banco de dados (opcional) : Uma dificuldade que muitos sentem ao acessar um arquivo de dados revelar o path da localizao fsica deste arquivo por ocasio de conectar o banco de dados, isso gera dois problemas principais : * Revela a localizao fsica do exposta num arquivo texto ou algo do informao para outros fins. * Engessa sua aplicao porque o sem alterar na aplicao ou arquivos arquivo de dados, se esta localizao for gnero algum poder reutilizar essa banco de dados no poder sair daquele local de configurao do seu aplicativo.

Esses dois problemas s ocorrem porque no foram criados aliases, as conexes ao invs de referirem-se ao arquivo de dados deveriam referir-se a aliases e este por sua vez foi programado para representar o arquivo de dados com sua localizao fisica. Edite o arquivo /etc/firebird/2.0/aliases.conf e acrescente : principal_dados= /var/lib/firebird/2.0/data/arquivo.fdb Agora, na sua aplicao voce configura-o para acessar SERVIDOR:principal_dados ao invs do comum SERVIDOR:/caminho/para/arquivo.fdb. Se seu arquivo de dados tiver que mudar de lugar (inclusive de servidor fsico), basta alterar o aliases e com isso sua aplicao permanecer a mesma. Observaes Importantes : Nem todos os administradores precisam usar o sudo, o sudo normalmente usado apenas por usurios do sistema Ubuntu e embora a verso do Debian Etch tambm possa utiliza-lo, desnecessrio quando se estar fazendo uso da conta root. Links uteis : Documentao a respeito do Firebird :

http://www.firebirdsql.org/index.php?op=doc Instalao do Firebird (1.5) no Ubuntu, apesar de ser uma verso anterior, ainda bastante usado : http://www.firebirdsql.org/manual/ubusetup.html Migrao do banco de dados Microsoft SQL Server (MSSQL) para Firebird, aqui relatando converses de tipos, funes, etc : http://www.firebirdsql.org/manual/migration-mssql.html Conformidade com o padro SQL : http://www.firebirdsql.org/index.php?op=devel? =engine&id=SQL_conformance&nosb=1 Lista de discusso em portugus sobre o FirebirdSQL e FirebirdSQL+PHP (ambas bastante movimentadas) : http://br.groups.yahoo.com/group/firebird-br/messages http://tech.groups.yahoo.com/group/firebird-php/messages E por fim, mas no menos importante, a pgina oficial sobre o FirebirdSQL : http://www.firebirdsql.org/ Posted in Banco de dados, GNU/Linux, ubuntu. 2 Comments