Pois é caro André Infelizmente não temos um ambiente de testes onde possamos reproduzir um ambiente semelhante ao da produção devido a complexidade do ambiente.
Mas obrigado pela ajuda. Acho que a idéia da trigger pode ser uma boa, vamos tentar isto aqui. Obrigado, André Alves. _____ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Andre Santos Enviada em: terça-feira, 5 de agosto de 2008 10:34 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Lock Table... Xará Achei que "TP_REGISTRO" significasse "tipo de registro" e faria uma chave composta com "SQ_REGISTRO". Sobre a freqüência de atualização e o problema com "lock", é difícil responder... o ideal seria fazer testes de carga/stress em uma base de testes. De qualquer forma, penso que seria interessante ter um tratamento de erro no trigger, tentando contornar/prevenir um erro de PK... Uma maneira seria captar o erro e tentar a inclusão novamente (preferencialmente aguardando um tempo aleatório). Mas tudo tem um preço: esse tratamento, da forma como imaginei, também pode gerar um "overhead"... Conclusão: para ter uma solução segura, não tem como escapar de uma boa fase de testes! ;^) Verificando essas possibilidades técnicas. [ ] André Em 04/08/08, André Alves <andre_tato11@ <mailto:andre_tato11%40yahoo.com.br> yahoo.com.br> escreveu: > > Valeu André. > > O TP_REGISTRO é a única coluna da chave primária da tabela. > > No entanto, em determinados horários do dia a freqüência de atualização > desta tabela é bastante alta... será que essa sua sugestão resolveria o > problema do dead lock? > > _____ > > De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br <oracle_br%40yahoogrupos.com.br> [mailto: > [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br <oracle_br%40yahoogrupos.com.br>] Em > nome de Andre Santos > Enviada em: segunda-feira, 4 de agosto de 2008 09:36 > Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br <oracle_br%40yahoogrupos.com.br> > Assunto: Re: [oracle_br] Lock Table... > > Xará > > Se não houver uma concorrência muito alta para inclusão nessa tabela, teste > fazer um trigger assim: > > CREATE OR REPLACE tg_inc_sua_tabela > BEFORE INSERT ON sua_tabela > FOR EACH ROW > BEGIN > SELECT MAX( sq_registro ) + 1 > INTO :NEW.sq_registro > FROM sua_tabela > WHERE tp_registro = :NEW.tp_registro; > END; > / > > Imagino que o índice da chave primária tenha a coluna "TP_REGISTRO" em > primeiro lugar (para melhor desempenho). > > [ ] > > André > > Em 02/08/08, André Alves <andre_tato11@ <mailto: > andre_tato11%40yahoo.com.br <andre_tato11%2540yahoo.com.br>> > yahoo.com.br> escreveu: > > > > Tenho uma situação semelhante a do Márcio e não posso utilizar SEQUENCE, > > pois a chave é composta. A minha tabela de chaves tem duas colunas > > > > TP_REGISTRO VARCHAR2(5) NOT NULL (PK) > > > > SQ_REGISTRO NUMBER(10) NOT NULL > > > > Temos várias rotinas que executam BATCH e que obtém a chave por esta > > tabela. > > Nós estamos utilizando SELECT FOR UPDATE para locar o registro, porém > > aparentemente está dando DEAD LOCK, a sessão fica presa e cai com > SNAPSHOT > > TOO OLD. > > > > Nossa versão de Oracle é o 9.0.2 em HPUX. Se alguém tiver alguma idéia... > > > > _____ > > > > De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br<oracle_br%2540yahoogrupos.com.br>> > os.com.br > <oracle_br%40yahoogrupos.com.br> [mailto: > > [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br<oracle_br%2540yahoogrupos.com.br>> > os.com.br > <oracle_br%40yahoogrupos.com.br>] Em > > nome de Diego Leite > > Enviada em: sábado, 2 de agosto de 2008 11:55 > > Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br<oracle_br%2540yahoogrupos.com.br> > > > os.com.br <oracle_br%40yahoogrupos.com.br> > > Assunto: Re: [oracle_br] Lock Table... > > > > Lock Table nao e aconselhavel pela ORACLE. Pq nao criar uma > > sequence?Imagine 2 sistemas(com N usuarios tentando acessar essa > > tabela locada!! > > > > 2008/8/1 Márcio Ricardo Alves da Silva <[EMAIL PROTECTED] > > <mailto:marcio_cbj%40yahoo.com.br <marcio_cbj%2540yahoo.com.br><marcio_cbj% > 2540yahoo.com.br>> com.br>: > > > Untitled DocumentBoas. > > > > > > a utlização do comando Lock Table é aconselhável a sua utilização? > Estou > > com uma situação que o ID de uma tabela é gerado "manualmente" sem > sequence > > e hoje dois sistemas utilizam esse ID, e aonteceu de os sistemas pegarem > o > > mesmo ID. Pensei em pegar o ID só na hora da gravação do registro, acho > > mais > > garantido mais não 100%. > > > > > > > > > --------------------------------------------- > > > Márcio Ricardo Alves da Silva > > > Programador .Net > > > OCA 9i > > > marcio.silva@ > <mailto:marcio.silva%40config.com.br <marcio.silva%2540config.com.br> > <marcio.silva%2540config.com.br>> > > config.com.br > > > > > > Config Informática Ltda > > > Av. Eng. Luis Carlos Berrine, 801 - 7o. andar > > > 04571-010 - Brooklin Novo - São Paulo - SP > > > Fone (11) 5501-8300 > > > Fax (11) 5501-8302 > > > www.config.com.br > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > ------------------------------------ > > > > > > ---------------------------------------------------------- > > >>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > > inteira responsabilidade de seus remetentes. > > > Acesse: http://www.mail- > > <http://www.mail- > <http://www.mail- <http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/> archive.com/oracle_br@yahoogrupos.com.br/> > archive.com/ <mailto:archive.com%2Foracle_br%40yahoogrupos.com.br> oracle_br@yahoogrupos.com.br<archive.com%2Foracle_br%40yahoogrupos.com.br> > /> > > archive.com/ <mailto:archive.com%2Foracle_br%40yahoogrupos.com.br<archive.com%252Foracle_ br%2540yahoogrupos.com.br> > > > [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br <oracle_br%40yahoogrupos.com.br><archive.com > %2Foracle_br%40yahoogrupos.com.br> > > / > > > ---------------------------------------------------------- > > >>Funções, Procedures, propostas de emprego - O GRUPO ORACLE_BR TEM SEU > > PROPRIO ESPAÇO! VISITE: http://www.oraclebr <http://www.oraclebr > <http://www.oraclebr <http://www.oraclebr.com.br/> .com.br/> .com.br/> > > .com.br/ > > > ---------------------------------------------------------- Links do > > Yahoo! > > Grupos > > > > > > > > > > > > > -- > > Att, > > > > Diego Leite - DBA Jr. > > > > Internal Virus Database is out of date. > > Checked by AVG - http://www.avg. <http://www.avg. <http://www.avg.com> com> com > > Version: 8.0.138 / Virus Database: 270.5.6/1575 - Release Date: 7/26/2008 > > 4:18 PM > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > No virus found in this incoming message. > Checked by AVG - http://www.avg. <http://www.avg.com> com > Version: 8.0.138 / Virus Database: 270.5.10/1587 - Release Date: 8/2/2008 > 5:30 PM > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.138 / Virus Database: 270.5.12/1592 - Release Date: 8/5/2008 6:03 AM [As partes desta mensagem que não continham texto foram removidas]