Caros amigos,
É o meu primeiro post, e já de cara gostaria de saber se alguém pode me ajudar com a dúvida abaixo:
Eu preciso visualizar as queries que determinado owner/usuário está realizando no banco de dados, mas ainda não consegui encontrar no dicionario de dados.
Grato.
* Versão do Oracle: 10g
* Sistema Operacional: Linux/ Red Hat
Consultar queries no Dicionário de Dados
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
bem vindo irmao
vê se te ajuda..
Para ver as instruções executadas:
Filtrando por usuário:
Filtrando pelo aplicativo:
vê se te ajuda..
Para ver as instruções executadas:
select sql_text, object_status, first_load_time, username, sid, lockwait
from v$session ses, v$sql sql
where ses.sql_id = sql.sql_id
Filtrando por usuário:
and ses.USERNAME = 'XXXX'
Filtrando pelo aplicativo:
and ses.program = 'XXXXXX'
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Qui, 19 Ago 2010 2:26 pm
- Localização: Curitiba-PR
- Contato:
Abraço,
Bernardo
Bernardo
Olá...
Acabei de registrar-me no forum. Achei algumas coisas interessantes e melhor então participar.
Fiz cursos de Oracle 8 e 9i mas acabei não atuando. Looonga estória...
Há um problema aqui no escritório e gostaria de voltar à ativa, reaquecer os motores.
Como todo bom problema, não é trivial aos mortais.
Temos uma aplicação sem documentação mais, rodando com Oracle. São mais de 2000 tabelas !
Para ganhar um cliente, preciso integrar este um produto novo com o banco dessa aplicação anterior. Vai agir como um usuário do banco antigo.
Basicamente, após a entrada de uma ação humana, preciso achar os registros envolvidos na operação. A cada X segundos nossa aplicação consultará para ver alterações e tomar atitudes em outro banco.
Como faço para descobrir quais tabelas foram alteradas desde um determinado horário, ou nos últimos 5 a 20 segundos?
Agradeceria muito sua ajuda.
Acabei de registrar-me no forum. Achei algumas coisas interessantes e melhor então participar.
Fiz cursos de Oracle 8 e 9i mas acabei não atuando. Looonga estória...
Há um problema aqui no escritório e gostaria de voltar à ativa, reaquecer os motores.
Como todo bom problema, não é trivial aos mortais.
Temos uma aplicação sem documentação mais, rodando com Oracle. São mais de 2000 tabelas !
Para ganhar um cliente, preciso integrar este um produto novo com o banco dessa aplicação anterior. Vai agir como um usuário do banco antigo.
Basicamente, após a entrada de uma ação humana, preciso achar os registros envolvidos na operação. A cada X segundos nossa aplicação consultará para ver alterações e tomar atitudes em outro banco.
Como faço para descobrir quais tabelas foram alteradas desde um determinado horário, ou nos últimos 5 a 20 segundos?
Agradeceria muito sua ajuda.
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
select sql_text, object_status, first_load_time, username, sid, lockwait, sql.LAST_ACTIVE_TIME
from v$session ses, v$sql sql
where ses.sql_id = sql.sql_id
and sql_text like '%insert%table_name%'
and sql.LAST_ACTIVE_TIME between (SYSDATE - 20/86400)
and sysdate;
and sql_text like '%insert%table_name%'
and sql.LAST_ACTIVE_TIME between (SYSDATE - 20/86400)
and sysdate;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes