[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