Apostila - Banco de Dados Firebird

download Apostila - Banco de Dados Firebird

of 15

  • date post

    23-Oct-2015
  • Category

    Documents

  • view

    360
  • download

    60

Embed Size (px)

Transcript of Apostila - Banco de Dados Firebird

  • Programa de Capacitao Profissional 2010

    Pgina 1 de 15

    SPDATA Servio de Processamento de Dados LTDA

    Treinamento de Banco de Dados Firebird

    Romilton Gonalves Dias Instrutor

    Objetivo: Qualificao dos Profissionais para Gerenciamento e Manuteno do Banco de Dados Firebird

    Objetivos Especficos:

    1. Verso do Firebird utilizada no sistema SGH e projeto de homologao para Firebird 2.1 ....................... Pag 2 2. Novidades da verso 2.1 do Firebird .......................................................................................................... Pag 2 3. Diferena de SuperServer e ClassicServer (quando usar e como migrar) .................................................. Pag 4 4. Instalao do Firebird nas estaes Windows XP, Vista e Seven em Servidores Windows e Linux ........... Pag 4 5. Ferramentas Nativas Gbak, Gfix, Gstat, Gsec e isql .................................................................................... Pag 5 6. Configuraes e cuidados para melhor desempenho ................................................................................ Pag 9 7. Estrutura do banco de dados do sistema SGH ........................................................................................... Pag 9 8. Tipos de Erros e Corrupes ...................................................................................................................... Pag 9 9. Correo do banco de dados corrompido .................................................................................................. Pag 10 10. Ferramentas (isql, Iboconsole, Ibexpert,Putty, Grep ) ............................................................................... Pag 10 11. Comandos Bsicos Linux . Pag 11 12. Formas de configuraes do back-up Automtico (Linux e Windows) ...................................................... Pag 11 13. Restaurar banco de dados completo ou parcial ......................................................................................... Pag 12 14. Comandos SQL DML (Consultas, update, delete, insert) ............................................................................ Pag 13 15. Integrao do Sistema SGH entre os mdulos ........................................................................................... Pag 15

    Contagem, 27 de Setembro de 2010

  • Programa de Capacitao Profissional 2010

    Pgina 2 de 15

    1 - Verso do Firebird utilizada no sistema SGH e projeto de homologao para Firebird 2.1

    Atualmente a verso padro homologada pela equipe de desenvolvimento da SPdata Firebird 1.5 que est com a sua ltima verso Firebird-1.5.6.5026-0 e disponvel para download no site oficial www.firebirdsql.org.

    O Processo de homologao para verso do Firebird 2.1 est em fase final e ser disponibilizado nas prximas verses

    2 - Principais novidades do Firebird 2.1

    Monitoramento de banco de dados Talvez este seja o recurso mais aguardado para esta verso do Firebird. Aqueles que sempre quiseram saber o que se passava dentro de um banco de dados em um determinado momento, agora podero extrair essa informao atravs das tabelas virtuais de monitoramento! Note que, para ter acesso a esse recurso, sua base de dados deve estar com a ODS na verso 11.1. A recuperao das informaes de monitoramento feita atravs de selects normais, executados nas tabelas de monitoramento. importante saber que o acesso informao feito com a transao associada ao select de monitoramento no isolamento Consistency. Com isso, para atualizar as informaes recuperadas (refresh), necessrio fechar a transao atual e executar o select novamente, abrindo uma nova transao. Isso garante que as informaes de tabelas de monitoramento inter-relacionadas (mestre-detalhe) estaro sempre consistentes. A consulta completa das informaes de monitoramento s pode ser realizada pelo owner do banco de dados, ou pelo SYSDBA. Usurios normais s tm acesso s informaes relacionadas sua prpria conexo com o banco. As tabelas de monitoramento so: MON$DATABASE, MON$ATTACHMENTS, MON$TRANSACTIONS, MON$TRANSACTIONS, MON$STATEMENTS, MON$CALL_STACK, MON$IO_STATS, MON$RECORD_STATS. Existem softwares no Mercado que fazem este monitoramento de modo grfico um deles o Sinatica que pode ser baixado do site oficial www.sinatica.com.br

  • Programa de Capacitao Profissional 2010

    Pgina 3 de 15

    Cancelando comandos Atravs das tabelas de monitoramento, possvel cancelar queries ou comandos que esto sendo executados. Para isso, basta abrir uma conexo com o banco de dados e dar um delete na tabela mon$statements, apagando o registro que representa o comando que voc quer cancelar. O comando abaixo cancela todos os comandos que esto sendo executados no banco de dados, e que no estejam associados conexo do SYSDBA (que est executando o cancelamento): delete from mon$statements where mon$attachment_id current_connection

    Otimizao do protocolo de comunicao O Firebird, quando utilizado no modelo duas camadas (cliente servidor) em redes de baixa velocidade (ex: Internet), se mostra bastante lento. O culpado, neste caso, o protocolo de comunicao responsvel pela conversa entre a aplicao cliente e o servidor Firebird, que no foi originalmente escrito para ser usado em redes com banda limitada. A soluo definitiva para este problema vir em alguma verso futura do Firebird, com a criao de um novo protocolo de comunicao. No entanto, isso quebrar a compatibilidade de comunicao com servidores antigos. No Firebird 2.1, algumas rotinas do atual protocolo de comunicao foram otimizadas, de forma a gerar menos conversa entre o cliente e o servidor, sem perder a compatibilidade com as verses anteriores do Firebird. Em alguns casos, um ganho de performance de cerca de 40% pde ser observado nas conexes via internet. Para ter total proveito das otimizaes realizadas, necessrio que a conexo esteja usando o fbclient.dll da verso 2.1, e que o servidor tambm seja 2.1 (ou superior). Nota: Drivers que acessam diretamente o servidor, sem passar pela fbclient.dll (ex: JayBird e .NET Provider) devero ter seus cdigos atualizados para que tirem proveito das otimizaes.

    Pr-alocao de espao no disco Sabemos que o arquivo de um banco de dados Firebird cresce de acordo com a necessidade. O Firebird 2.1 introduz a possibilidade de pr-alocar espao, diminuindo a fragmentao do arquivo, o que causa um impacto positivo na performance de leitura do disco. No momento, este recurso est disponvel apenas para a verso Windows. O novo parmetro DatabaseGrowthIncrement pode ser configurado no firebird.conf, e determina o limite mximo (em bytes) que poder ser pr-alocado na requisio de alocao de espao para o banco de dados. O padro 128MB. Configurar esse parmetro com o valor zero desativa o recurso de pr-alocao. Nota: Em situaes muito especficas, havia a possibilidade de corrupo de um BD, caso a partio onde ele estivesse armazenado ficasse cheia. Para solucionar este problema, o Firebird 2.1, no momento de alocao de espao, faz com que as pginas criadas sejam imediatamente gravadas no disco. Isso significa que o Firebird est realizando uma operao de escrita adicional em relao ao modelo anterior, o que, em algumas situaes, pode afetar negativamente o desempenho.

    Backup Incremental Desde a verso 2.0 o Firebird foi incorporado o backup incremental com o aplicativo Nbackup. O nbackup um novo utilitrio de backup que vem junto com o Firebird 2.1 e oferece funcionalidades inexistentes no gbak, ferramenta de backup pr-existente no Firebird, porm, no substitui esse ltimo. Ambos os programas tm as suas vantagens e desvantagens e iro ainda coexistir provavelmente por algum tempo. Neste artigo, aprenda tudo sobre esse poderoso utilitrio. Sintaxe C:\banco> nbackup -B 0 sghdados.001 backnivel0_1-set-2010.nbk C:\banco> nbackup -B 1 sghdados.001 backnivel1_1-set-2010.nbk C:\banco> nbackup -B 2 sghdados.001 backnivel2_1-set-2010.nbk

  • Programa de Capacitao Profissional 2010

    Pgina 4 de 15

    3 - Diferena de SuperServer e ClassicServer (quando usar e como migrar) Super Server e Classic Server O Firebird possui duas verses: a verso Super Server a verso Classic Server. Entre as duas a diferena est na forma como est estruturada o gerenciamento das conexes dos clientes e processamento.

    1. Na verso Super Server os recursos (valores recuperados do disco, consultas feitas) so compartilhados por todos os clientes conectados. Super vem de supervisor Ou seja somente um processo rodando no servidor para todos usurios.

    (fbserver) Caso pane ter de Parar o processo e todos os usurios! 2. J na verso Classic Server, cada cliente tem sua prpria instncia do banco de dados (fb_inet_server) e

    comunicam-se entre si atravs de um gerenciador de transaes (fb lock mgr). Ou Seja um processo no servidor para cada conexo no banco de dados caso de pane pode idenificar.

    Super Server ou Classic Server Qual Melhor? Nenhuma das duas verses melhor ou pior, cada uma adequa-se melhor a cada caso ou seja, necessita de anlise. Para determinadas situaes a verso Super Server mais recomendada (Servidor com pouca memria RAM, nmero mdio ou pequeno de clientes conectados, Servidor uniprocessado). Em outras situaes a verso Classic Server sai-se melhor (Muita memria RAM disponvel, Servidores multiprocessados muitas conexes simultneas). A vantagem da verso Classic Server tratar os usurios de forma independente, Uma desvantagem da mesma o consumo elevado da memria RAM (mas caso o server tenha muita memria RAM isto deixa de ser uma desvantagem). Para migrar de Super Server para Classic Server no Linux precisa alterar os buffers de pginas de dentro da pasta /opt/firebird/bin rodar o comando gfix -b 75 /work/banco/sghdados.001 e o xinet.conf alterando a quantidade de instncias, o arquivo de configurao fica dentro da pasta /etc instances = 3000 cps = 50 1