[firebase-br] RES: Digest lista, volume 3337, assunto 1
Syon - Dinarte
dinarte em syon.com.br
Ter Maio 27 08:27:11 -03 2014
Olá Gustavo
Segue abaixo passo a passo que utilizo para instalação, tenta usar o
Firebird SS.
Para instalar é necessário estar logado com o usuário root
Diretório/Pasta para baixar, crie uma pasta, exemplo: /root/fb
2.1. Comando: mkdir /root/fb
Acesse essa pasta
3.1. Comando: cd /root/fb
Baixar ou realizar o download - Utilize o wget para baixar o firebird.gz que
é um arquivo compactado
4.1. Comando: wget
http://sourceforge.net/projects/firebird/files/firebird-linux-amd64/2.5.2-Re
lease/FirebirdSS-2.5.2.26540-0.amd64.tar.gz
5. Descompactar (são dois passos)
5.1. Descampacta para um outro tipo de compactação, TAR
5.1.1. Comando: gzip -d FirebirdSS-2.5.2.26540-0.amd64.tar.gz
5.2. Descompacta para uma pasta, no caso FirebirdSS-2.5.2.26540-0.amd64
5.2.1. Comando: tar -xf FirebirdSS-2.5.2.26540-0.amd64.tar
6. Acesse essa pasta
6.1. Comando: cd FirebirdSS-2.5.2.26540-0.amd64/
Iniciar a Instalação
7.1. Comando: ./install.sh
7.2. Aparecerá uma confirmação conforme abaixo, pressione <enter> para
iniciar ou Ctrl+C para cancelar
Firebird super 2.5.2.26540-0.amd64 Installation
Press Enter to start installation or ^C to abort
7.3. Aparecerão outras mensagens conforme segue:
Extracting install data
insserv: script saslauthd.orig: service saslauthd already provided!
firebird 0:off 1:off 2:on 3:on 4:off 5:on
6:off
Starting Firebird done
Fixing firebird's shell to /bin/sh
Starting Firebird
7.4. Atribuir senha do administrador, a senha padrão é masterkey, para
maior segurança aconselha-se outra de responsabilidade do administrador.
Digite-a quando aparecer a seguinte mensagem:
Please enter new password for SYSDBA user:
7.5. Mensagens finais conforme segue:
GSEC> GSEC>
Running ex to modify /etc/init.d/firebird
Install completed
7.6. A instalação for realizada na seguinte pasta/diretório: /opt/firebird
Atenciosamente
Dinarte Moscon
Syon Sistemas
-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de
lista-request em firebase.com.br
Enviada em: segunda-feira, 26 de maio de 2014 12:00
Para: lista em firebase.com.br
Assunto: Digest lista, volume 3337, assunto 1
Enviar submissões para a lista de discussão lista para
lista em firebase.com.br
Para se cadastrar ou descadastrar via WWW, visite o endereço
http://firebase.com.br/mailman/listinfo/lista_firebase.com.br
ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo
da mensagem para
lista-request em firebase.com.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
lista-owner em firebase.com.br
Quando responder, por favor edite sua linha Assunto assim ela será mais
específica que "Re: Contents of lista digest..."
Resumos das últimas mensagens enviadas para a lista da FireBase.
Tópicos de Hoje:
1. Erro de Deadlock (Wesley Oliveira)
2. Re: Erro de Deadlock (Jéter Rabelo - GMail)
3. Erro ao instalar o FirebirdCS 1.5.6 (Gustavo Freitas)
----------------------------------------------------------------------
Message: 1
Date: Mon, 26 May 2014 10:43:58 -0300
From: "Wesley Oliveira" <wesley em rgsystem.com.br>
To: "FireBase" <lista em firebase.com.br>
Subject: [firebase-br] Erro de Deadlock
Message-ID: <000901cf78e8$8c5acb20$a5106160$@rgsystem.com.br>
Content-Type: text/plain; charset="iso-8859-1"
Olá pessoal!
Estou com uma situação um tanto quanto desagradável.
Tenho uma função chamada PRO_RETORNA_ID que me traz o próximo ID utilizável
de uma tabela passada via parâmetro e atualiza uma tabela “contadora” com
esses registros.
O problema é o seguinte: quando eu chamo uma função para encerrar o ano
letivo da escola em dois computadores diferentes (são dois anos diferentes
também), o sistema passa por todos os alunos do ano letivo gerando o
histórico.
Para salvar o histórico no banco, é chamada a função PRO_RETORNA_ID uma
única vez para cada aluno. Eu estava com erro de deadlock antes e,
manipulando a maneira como a função é chamada, consegui parar com esse
problema, entretanto, comecei a receber um erro de violação de chave
primária.
Para tentar resolver o problema, fiz uma trigger no BeforeInsert da tabela
de Históricos que é a seguinte:
DECLARE VARIABLE TEM INTEGER;
BEGIN
SELECT COUNT(*) FROM TSI_HISTORICO WHERE CSI_CODHIS = NEW.CSI_CODHIS INTO
:TEM;
IF (TEM > 0) THEN
BEGIN
NEW.CSI_CODHIS = (SELECT RESULTADO FROM PRO_RETORNA_ID('TSI_HISTORICO',
'CSI_CODHIS'));
END
END
Porém, agora eu recebo o erro de Deadlock transaction novamente... Já
procurei várias maneiras de fazer o tratamento das transações tanto na
procedore quanto na trigger mas nada resolveu. Inclusive encontrei uma
página que mostra uma sentença assim: IN AUTONOMOUS TRANSACTION DO
(...)
Mas também não funcionou...
Alguém tem alguma idéia de como resolver essa questão?
Att.
Wesley Oliveira
Programador de Sistemas de Informação
RG System Informática
Fone: +55 (27) 3727-1127
Celular: +55 (27) 99606-0038
------------------------------
Message: 2
Date: Mon, 26 May 2014 10:51:44 -0300
From: Jéter Rabelo - GMail <jeter.rabelo em gmail.com>
To: FireBase <lista em firebase.com.br>
Subject: Re: [firebase-br] Erro de Deadlock
Message-ID: <538346F0.3090901 em gmail.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Bom dia.
Para você não ter problemas com chaves primárias utilize um
generator/sequence. Pois ao incrementar um generator, esse processo é feito
independente de transação.
O problema de deadlock é porque existe uma transação aberta tentando gravar
um registro na tabela, e outra transação tenta gravar o mesmo registro.
Caso você não queira utilizar Generator/Sequence, reveja os commit's da
gravação da sua tabela.
Se você fizer: StartTransaction/Commit a cada incremente do registro, os
índices de dealock's serão bastante reduzidos, talvez até eliminados.
Atenciosamente.
Jeter-Jerasoft
______________________
Jéter Rabelo Ferreira
<http://www.jerasoft.com.br>
http://www.jerasoft.com.br
Skype: jeter.rabelo
Em 26/05/2014 10:43, Wesley Oliveira escreveu:
> Olá pessoal!
>
>
>
> Estou com uma situação um tanto quanto desagradável.
>
>
>
> Tenho uma função chamada PRO_RETORNA_ID que me traz o próximo ID
> utilizável de uma tabela passada via parâmetro e atualiza uma tabela
> ?contadora? com esses registros.
>
> O problema é o seguinte: quando eu chamo uma função para encerrar o
> ano letivo da escola em dois computadores diferentes (são dois anos
> diferentes também), o sistema passa por todos os alunos do ano letivo
> gerando o histórico.
>
> Para salvar o histórico no banco, é chamada a função PRO_RETORNA_ID
> uma única vez para cada aluno. Eu estava com erro de deadlock antes e,
> manipulando a maneira como a função é chamada, consegui parar com esse
> problema, entretanto, comecei a receber um erro de violação de chave
> primária.
>
>
>
> Para tentar resolver o problema, fiz uma trigger no BeforeInsert da
> tabela de Históricos que é a seguinte:
>
>
>
> DECLARE VARIABLE TEM INTEGER;
>
> BEGIN
>
> SELECT COUNT(*) FROM TSI_HISTORICO WHERE CSI_CODHIS = NEW.CSI_CODHIS
> INTO :TEM;
>
>
>
> IF (TEM > 0) THEN
>
> BEGIN
>
> NEW.CSI_CODHIS = (SELECT RESULTADO FROM
> PRO_RETORNA_ID('TSI_HISTORICO', 'CSI_CODHIS'));
>
> END
>
> END
>
>
>
> Porém, agora eu recebo o erro de Deadlock transaction novamente... Já
> procurei várias maneiras de fazer o tratamento das transações tanto na
> procedore quanto na trigger mas nada resolveu. Inclusive encontrei uma
> página que mostra uma sentença assim: IN AUTONOMOUS TRANSACTION DO
> (...)
>
> Mas também não funcionou...
>
>
>
> Alguém tem alguma idéia de como resolver essa questão?
>
>
>
> Att.
>
> Wesley Oliveira
> Programador de Sistemas de Informação
>
> RG System Informática
> Fone: +55 (27) 3727-1127
> Celular: +55 (27) 99606-0038
>
>
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
------------------------------
Message: 3
Date: Mon, 26 May 2014 11:04:53 -0300
From: Gustavo Freitas <gst.freitas em gmail.com>
To: FireBase <lista em firebase.com.br>
Subject: [firebase-br] Erro ao instalar o FirebirdCS 1.5.6
Message-ID:
<CA+m3O5KyVrg2uzoaPyRfT21uTE41XtBZuw3J-LxFFXNcPAKvGA em mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Pessoal,
fiz a instalação do firebird em um servidor opensuse 11.4
linux-pn0o:/spr # rpm -Uvh FirebirdCS-1.5.6.5026-0.i686.rpm
Preparing... ###########################################
[100%]
1:FirebirdCS ###########################################
[100%]
GSEC> GSEC> Saved a copy of security.fdb in /tmp
linux-pn0o:/opt/firebird/misc # /etc/init.d/firebird start
service: no such service gds_db
/etc/init.d/firebird: line 10: flags: command not found
/etc/init.d/firebird: line 11: socket_type: command not found
/etc/init.d/firebird: line 12: wait: `=': not a pid or valid job spec
/etc/init.d/firebird: line 12: wait: `no': not a pid or valid job spec
/etc/init.d/firebird: line 13: user: command not found
/etc/init.d/firebird: line 18: server: command not found
/etc/init.d/firebird: line 19: disable: command not found
Está acontecendo esse erro.. sabem me dizer qual é a solução ?
--
Gustavo Freitas
------------------------------
Subject: Legenda do Digest
_______________________________________________
lista mailing list
lista em firebase.com.br
http://firebase.com.br/mailman/listinfo/lista_firebase.com.br
------------------------------
Fim da Digest lista, volume 3337, assunto 1
*******************************************
Mais detalhes sobre a lista de discussão lista