Roteiro para instalação do Intsys com Firebird em Linux OpenSuse e Fedora/RedHat Autor: Marcos G. Bocca http://marcos.bocca.adm.br Versão 0.2 2009-14-09 Esta rotina foi criada para contornar imcompatibilidade entre o banco de dados DOORS.GDB em ambiente Windows e Linux, a despeito da documentação que informa o contrário em http://www.firebirdsql.org/rlsnotesh/install210.html#install-model-interop O Intsys não acessa o banco de dados, o utilitário Flamerobin retorna a mensagem "isc_attach_database failed" e o utilitário gbak retorna "is not a valid database" quando o arquivo DOORS.GDB é simplesmente copiadao do servidor Windows para o Linux e vice-versa. NOTAS: -Os comandos são a título de exemplo e estão precedidos de "...:#" se linux e "X:...>" se DOS. - A senha do banco de dados é disponibizada pelo fornecedor do software, e aqui está substituida por "******" - O nome "DOORS.GDB" tem que estar em maiúsculas ! - Estes procedimentos foram efetuados apenas no OpenSuSE 10.3 64bits - O ponto crucial para contornar o erro de acesso foi a criação do backup com o gbak e a recriação do banco com o mesmo utilitário. Faça o download do pacote RPM da versão 2.1 SuperServer disponível em http://www.firebirdsql.org/ ,adequado para seu hardware (32 ou 64 bits) Instale o pacote RPM do firebird. ..:# rpm -ivh FirebirdSS-2.1.3.18185-0.amd64.rpm Altere a senha do usuario SYSDBA. Será preciso obter a original Exemplo: ..:# cd /opt/firebird ..:# cat SYSDBA.password | grep PASSWD= ..:# bin/changeDBAPassword.sh Crie um diretório para os banco de dados e atribua os direitos e propriedades ao mesmo. Exemplo ..:# mkdir /opt/fbdata ..:# chmod 770 /opt/fbdata ..:# chown firebird:firebird /opt/fbdata Analogamente, crie um diretório temporário para o firebird... exemplo: ..:# mkdir /tmp/firebird ..:# chmod 770 /tmp/firebird ..:# chown firebird:firebird /tmp/firebird Edite o arquivo /opt/firebird/firebird.conf (dica: faça um backup antes). Exemplo: ..:# cd /opt/firebird ..:# cp -p firebird.conf firebird.conf.bk0-org ..:# mc -e firebird.conf e inclua/altere: DatabaseAccess = Full TempDirectories = /tmp/firebird RemoteServicePort = 3050 Reinicie o firebird - SuSE: ..:# rcfirebird restart - Fedora/RedHat: ..:# service firebird restart A partir do servidor Windows ou de uma estação com o Firebird 2.1 server instalado: Localize o caminho do programa firebird; Acrescente ao PATH o caminho dos executáveis; Renomeie o DOORS.GDB do servidor para DOORS-OLD.GDB e faça um backup utilizando o gbak : X:...> PATH=%PATH%;C:\Arquiv~1\Firebird\Firebird_2_1\bin X:...> gbak -USER SYSDBA -PAS ****** -B DOORS-OLD.GDB DOORS.GBAK ou faça o backup utilizando a interface gráfica do http://www.flamerobin.org/. Copie o backup para o diretório dos bancos de dados no servidor Linux, e acerte as propriedades do DOORS.GBAK: ..:# cd /opt/fbdata ..:# chown firebird:firebird DOORS.GBAK ..:# chmod 770 DOORS.GBAK Recrie o banco de dados. Exemplo: ..:# /opt/firebird/bin/gbak -USER SYSDBA -PAS ****** -R DOORS.GBAK DOORS.GDB Acerte as propriedades do DOORS.GDB: ..:# chown firebird:firebird DOORS.GDB ..:# chmod 770 DOORS.GBK Acesse o Intsys respeitando, no caminho, maiúsculas e minúsculas e lembrando da barra normal no final. Exemplo: Caminho: /opt/fbdata/ Uma vez acessado o sistema, reconfigure o nível de segurança alterando em /opt/firebird/firebird.conf o parâmetro "DatabaseAccess = Full" para DatabaseAccess = Restrict /opt/fbdata -------------------------------------------------------------------------------