FLISOL 2014 - Banco de dados Firebird rodando em CentOS - Faceca
1. Márcio Henrique
1
Banco de dados Firebird
rodando em CentOS
http://flisol.info/FLISOL2014/Brasil/Varginha
2. Porque usar Firebird ?
Open Source
Maduro – 12 anos de sucesso!
Comunidade ativa no Brasil e no mundo
Recuperação Rápida
Multiplataforma: Window, Linux, FreeBSD, HP-
UX e MacOS
Fácil administração – Dispensa DBA
Instalação silenciosa e de fácil manutenção
2
3. Porque “rodar” Firebird no Linux?
Não precisa de licenças para servidor
Suporta grande número de conexões
Permite automatizar bem as rotinas de backup via shell
script
Funciona muito bem na versão Classic Server/Super
Classic para múltiplos processadores
É seguro e confiável
Possui diversas ferramentas para linha de comando
Funciona muito bem.
3
4. Comunidades Firebird no mundo
Alemanha
Austrália
Brasil
Espanha
Estados Unidos
4
França
Itália
Rússia
Turquia
Outras...
5. Quem usa Firebird no Brasil
Diversos órgão de governo (Programas como
DAPI, SAPI e outros)
Embrapa
Lojas Edmil S/A
Leucotron - PABX
AVG Antivírus
Baptistetti – ERP
VVS Sistemas – Aplicação comercial
5
6. Versões do Firebird
Descontinuadas: 1.0, 1.5, 2.0
Mantidas: 2.1.5 e 2.5.2
Próxima: 3.0 - Multiprocessador
Compilações: Classic, Superclassic & Superserver
Drivers: OBDC, .NET Provider, Python Driver,
JDBC e outros (Sphinx).
6
7. Um pouco do Linux CentOS
CentOS fornece praticamente toda a estrutura do
RHEL (Red Hat Enterprise Linux) sem o modelo
comercial, sendo uma recompilação livre dos
pacotes divulgados pela Red Hat (Jackson
Laskoski, 2011).
Segundo alguns importantes usuários de Linux o
CentOS é distribuição baseado em Redhat mais
utilizada no mundo para servidores.
7
8. Um pouco mais sobre o Linux CentOS
Tem um bom sistema de empacotamento,
controle de dependência de pacotes,
compatibilidade binária entre pacotes com o
RHEL (Alexandre Makoto, 2014)
Alguns fãs de diversas distribuições criticam a
demora da equipe core do CentOS para liberar
novas versões. Mas recentemente esta questão
tem sido pouco comentada.
8
9. Informações básicas sobre Firebird
Usuário que roda o Firebird: firebird (Precisa ter
acesso à pasta onde ficarão os arquivos de dados)
Usuário administrador do banco: SYSDBA
Senha padrão: masterkey
Porta padrão: 3050
9
10. Modo Super Server do Firebird
Apenas um processo
com múltiplas conexões.
Cache compartilhado
Não recomendado para
ambiente
multiprocessado
Recomendado para
aplicações menores
10
11. Modo Superclassic do Firebird
Utiliza cache dedicado mas apenas
um processo para todas as
conexões.
Utiliza xinetd no Linux.
O nome do processo é
fb_smp_server
Aproveita todos os processadores
Recomendado para 64 bits
Para alterar o modo entre Classic
Server e Super Classic execute:
./changeMultiConnectMode.sh
12
12. Resumo do modos de execução do Firebird
SuperServer
– Bases de dados pequenas ou pouco acessadas
– Servidores pequenos
– Ambientes onde o cache compartilhado é mais vantajoso que a escalabilidade do SuperClassic
ClassicServer
– Ambientes onde a estabilidade é a maior preocupação
– Servidores multi-processados
– Grandes bases de dados com centenas de usuários
SuperClassic
– Servidores multi-processados
– Grandes bases de dados com centenas de usuários
– Ambientes onde o cache dedicado é mais vantajoso que o cache compartilhado do
SuperServer
– Ambientes onde o ClassicServer já não consegue escalar
13
Fonte:http://www.sinatica.com/
13. Firebird consome muito recurso?
14
Experimente rodar
Firebird no
Raspberry pi
Processador ARM1176JZF-S
de 700 MHz, GPU VideoCore
IV,8 e 512 MB de memória
RAM em sua última revisão.
Cartão de memória SD.
Linux Debian “wheezy”
Acesse www.raspberrypi.org
14. Firebird consome muito recurso?
15
Experimente rodar Firebird no Cubietruck
Dual-core A20 - ARM Mali400
MP2, 1 vertex shader, 2
fragment shaders, OpenGL ES
2.0
SATA HDD, 8GB NAND Flash,
MicroSD slot
USB, HDMI, VGA, IR, serial,
Ethernet 10/100/1G, SATA,
WiFi, Bluetooth e interface de
54 pin SOC
Acesse www.cubietruck.com/
16. 17
Evento
FDD é um
evento anual do
Firebird que
ocorre em
Piracicaba - SP
nas férias de
Julho. Fique
atento!
17. Criando uma VM no Virtualbox para Instalar o CentOS
Instalar o VirtualBox (Para quem não tem Linux):
Baixar em: https://www.virtualbox.org/wiki/DownloadsURL:
http://download.virtualbox.org/virtualbox/4.3.10/VirtualBox-4.3.10-
93012-Win.exe
Criar uma VM com CentOS 6.5
Baixar CentOS em: http://centos.ufes.br/6.5/isos/x86_64/
URL: http://centos.ufes.br/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso
Criar uma nova VM – Redhat e configurar rede para acesso à Internet:
ifconfig eth0 up
vi /etc/sysconfig/network-scritps/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
18
18. Instalando Firebird Super Server no CentOS (YUM)
yum install firebird firebird-superserver
chmod 775 /opt/firebird
chown firebird:firebird /opt/firebird
Se acusar falta da biblioteca execute:
yum install compat-libstdc++-33
O Firebird geralmente será instalado em /opt/firebird
19
19. Como iniciar/parar o Firebird sem xinitd
/sbin/service firebird-superserver start
/sbin/service firebird-superserver stop
20
20. Como iniciar/parar o Firebird com xinitd
Service xinitd start
Service xinitd stop
21
21. Como instalar o Firebird no CentOS (RPM)
wget http://sourceforge.net/projects/firebird/files/firebird-
linux-amd64/2.5.2- Release/FirebirdCS-2.5.2.26540-
0.amd64.rpm/download
yum install libncurses.so.5
yum install libstdc++.so.6
rpm -ivh FirebirdCS-2.5.2.26540-0.amd64.rpm
yum install xinetd.x86_64
mcedit /etc/xinetd.conf e alterar:
instances = unlimited
per_source = unlimited
22
22. Como instalar o Firebird no CentOS (Compilando)
wget
http://internode.dl.sourceforge.net/project/firebird/firebird/2.5.1-
Release/Firebird-2.5.1.26351-0.tar.bz2
tar xjvf Firebird-2.5.1.26351-0.tar.bz2
cd Firebird-2.5.1.26351-0
yum install xinetd.x86_64
./configure
make
make install
23
23. Utilizando a VM da apresentação
Para baixar a VM pronta com firebird configurado, ferramenta
IbWebAdmin instalada e banco de dados de exemplo utilize a
seguinte URL: https://mega.co.nz/#F!mENQVBbC!OamX8t0ZgKDI9CGTpPCmFA
MD5: 97ab2db8b9e638137e3cfeaab7708c17
24
24. Ativando a VM baixada no Virtualbox
→Descompacte o arquivo “centos65fb25.zip” (centOS65.ged)
Para ativar a VM execute o VirtualBox e siga os passos abaixo:
→Clique em “Máquina” “Novo”
Em nome digite: “CentOS 6.5”, Tipo: “Linux”, Versão: “RedHat 64”
Memória: Escolha no mínimo 512MB. Recomenda-se 1GB.
Em “Disco rígido” escolha: “Utilizar um disco virtual existente”
Escolha o arquivo centOS65.ged e clique no botão “Criar”
Execute a VM. A senha no root é larissa
Configure a interface de Rede em modo Bridge para ter acesso ao servidor
através de outros hosts da sua rede. Exemplo:
ifconfig eth0 10.0.0.4 netmask 255.255.255.0
25
25. Conectando-se no banco de dados via isql
Para conectar:
/usr/bin/isql localhost/3050:/fbdata/cep.fdb -u SYSDBA
-p S0fia -page 8192
Para obter informações sobre o banco:
show database;
Para listar as tabelas:
show tables;
Para sair (desconectar):
quit;
26
26. Recursos disponíveis na VM:
Scripts disponíveis em /script:
openfb → Faz conexão com um banco de dados. Exemplo:
openfb /fbdata/vendas.fdb
sweep → Manutenção no banco de dados. Recomendado para bancos de
dados em produção. Exemplo: sweep /fbdata/vendas.fdb
trocasenhafb → Permite trocar a senha do usuários SYSDBA. Exemplo: É
importante utilizar este Script para que os demais funcionem
corretamente. Exemplo: trocasenha F0fia NewS3nha
→acessofb Altera os direitos de acesso aos arquivos de dados da pasta
/fbdata. Após adicionar outro banco de dados em /fbdata execute:
acessofb
→→→→bkprstfb25 Realiza backup e restore de um banco de dados utilizando a
ferramenta nativa gbak. Exemplo: bkprstfb25 vendas.fdb27
27. Recursos disponíveis na VM:
htop → Para exibir os processo em execução e uso de meória e
processamento.
Ftp server → Para permitir o envio de banco de dados para a pasta /fbdata.
O servidor FTP será ativado por padrão.
Usuário do ftp: junior
A senha precisa ser definida. Utilize o comando passwd para definir.
Exemplo: passwd junior
Informe a senha tecle ENTER, repita a senha e tecle ENTER.
Somente o usuário junior pode logar no FTP e terá acesso à pasta /fbdata
Após enviar um arquivo para o FTP é preciso executar o script acessofb.
28
28. ibWebAdmin – Ferramenta de Gerenciamento
IBWebAdmin é uma ferramenta free desenvolvida em PHP
que acessa o servidor Firebird/Interbase através do driver
Interbase.
É de fácil instalação, acesso via Browser e fácil de utilizar.
Para acessar o ibWebadmin digite no Browser o endereço IP
da VM seguido de /ibwebadmin. Exemplo:
http://10.0.0.4/ibwebadmin
29