Upload
marcio-henrique-da-silva
View
1.403
Download
3
Embed Size (px)
DESCRIPTION
Palestra “Banco de dados Firebird rodando em CentOS” no evento Flisol 2014 realizado na Faculdade Cenecista de Varginha (www.faceca.br). Revisado!
Citation preview
Márcio Henrique
1
Banco de dados Firebird rodando em CentOS
http://flisol.info/FLISOL2014/Brasil/Varginha
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
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
Comunidades Firebird no mundo
� Alemanha� Austrália� Brasil
� Espanha� Estados Unidos
4
� França� Itália� Rússia� Turquia� Outras...
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
Versões do Firebird
� Descontinuadas: 1.0, 1.5, 2.0� Mantidas: 2.1.5 e 2.5.2� Próxima: 3.0 - MultiprocessadorCompilações: Classic, Superclassic & Superserver
Drivers: OBDC, .NET Provider, Python Driver, JDBC e outros (Sphinx).
6
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
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
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
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
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
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
13Fonte:http://www.sinatica.com/
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
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.0SATA HDD, 8GB NAND Flash, MicroSD slotUSB, HDMI, VGA, IR, serial, Ethernet 10/100/1G, SATA, WiFi, Bluetooth e interface de 54 pin SOC
Acesse www.cubietruck.com/
Livros de Firebird
16
17
Evento
FDD é um evento anual do
Firebird que ocorre em
Piracicaba - SP nas férias de Julho. Fique
atento!
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
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
Como iniciar/parar o Firebird sem xinitd
� /sbin/service firebird-superserver start� /sbin/service firebird-superserver stop
20
Como iniciar/parar o Firebird com xinitd
� Service xinitd start� Service xinitd stop
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
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
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
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.025
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
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
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: juniorA 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
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
Acessando banco de dados via ibwebadmin
30
Consultando dados via ibwebadmin
31
Márcio Henrique
Contato:� [email protected]� Twitter: @marciohsilva� Skype: [email protected]
Sites interessantes:
� www.firebirdsql.org� www.firebase.com.br� http://www.centosbr.org/
32