- Este tópico contém 9 respostas, 3 vozes e foi atualizado pela última vez 18 anos, 8 meses atrás por
souza.
-
AutorPosts
-
6 de julho de 2007 às 4:48 pm #79955
souza
ParticipanteTenho como saber como meu banco está configuado para tratar locks ?
Se é por tabela, coluna ou linha …Desde já obrigado
6 de julho de 2007 às 5:48 pm #79961Marcio68Almeida
ParticipanteConfigurado ??? Você pode usar a seguinte query para acompanhar o que está acontecendo…
Select s.sid, s.serial#, o.owner, s.lockwait, s.username, s.osuser, s.terminal, s.status, l.id2, decode (NVL (l.id2, 0), 0, o.object_name, 'Trans-' || to_char (l.id1)) object_name, decode (NVL (l.type, '.'), 'BL', 'Buffer hash table instance', 'CF', 'Control file schema global enqueue', 'CU', 'Cursor bind', 'CI', 'Cross-instance function invocation instance','DF', 'Data file instance', 'JQ', 'Job queue', 'DL', 'Direct loader parallel index create', 'TX', 'Transaction enqueue', 'UL', 'User supplied', 'DM', 'Mount/startup db primary/secondary instance', 'DR', 'Distributed recovery process', 'DX', 'Distributed transaction entry', 'TM', 'DML enqueue', l.type) type, decode (NVL (l.lmode, 0), 0, '--Waiting--', 1, 'Null', 2, 'Row Share', 3, 'Row Excl', 4, 'Share', 5, 'Sha Row Exc', 6, 'Exclusive', 'Other') "Lock Mode", decode (NVL (l.request, 0), 0, ' - ', 1, 'Null', 2, 'Row Share', 3, 'Row Excl', 4, 'Share', 5, 'Sha Row Exc', 6, 'Exclusive', 'Other') "Req Mode"
From v$lock l, v$session s, dba_objects o
Where s.sid = l.sid (+)
and l.id1 = o.object_id (+)
and s.username is not null
Order by l.id2, s.sid
6 de julho de 2007 às 6:18 pm #79964souza
ParticipanteMas quero saber o que está sendo bloqueado no momento de uma gravação(tabela,linha ou coluna) . É porque tenho a seguinte situação , quando é disparado determinado processo na aplicação alguma tabela ou coluna é bloqueada e impede que outros usuários trabalhem. Gostaria de saber como faço para identificar esse tipo de processo.
6 de julho de 2007 às 8:15 pm #79966Marcio68Almeida
ParticipanteRode essa consulta que te passei na hora em que suspeitar que há lock.
Vai te informar quem está travando o que.9 de julho de 2007 às 3:36 pm #79976souza
ParticipanteObrigado
E para matar o usuário , como faço ?
9 de julho de 2007 às 4:25 pm #79979gustavodesa
ParticipanteBasta você saber o SID e o SERIAL da sessão do usuário que voce quer matar.
Você pode encontrar essas informações na VIEW de desempenho V$session.Comando para matar o usuário:
alter system kill session ‘session-id,session-serial’ immediate;
Gustavo de Sá
10 de julho de 2007 às 3:23 pm #79986Marcio68Almeida
ParticipanteO SID e SERIAL# já são trazidos na consulta que forneci…
na sintaxe fornecida é impressindível o uso das aspas como nosso maigo mostrou…10 de julho de 2007 às 6:27 pm #79993souza
ParticipanteOk , obrigado
10 de julho de 2007 às 8:15 pm #79999souza
ParticipanteMas preciso saber na verdade quel é o esmema de bloqueio (locks) configurado no Oracle, se é por tabela, linha, ou pagina ?
11 de julho de 2007 às 3:00 am #80013souza
ParticipantePessoal posso estar falando bobagem , mas preciso saber na verdade qual é o esmema de bloqueio (locks) configurado no Oracle, se é por tabela, linha, ou pagina ?
Desde já obrigado
-
AutorPosts
- Você deve fazer login para responder a este tópico.