- Este tópico contém 13 respostas, 6 vozes e foi atualizado pela última vez 16 anos, 9 meses atrás por
Marcio68Almeida.
-
AutorPosts
-
23 de junho de 2009 às 12:27 am #87455
C-S-R
ParticipanteBoa tarde a todos.
Gostaria de saber se o oracle guarda em algum lugar os comandos que foram executados por um determinado usuario, como deletes, creates.
Alguem sabe me dizer se existe esse lugar?
Caso nao exista como posso criar um arquivo de log que guarde essas informações?
Desde ja agradeço a ajuda.
23 de junho de 2009 às 1:09 am #87456Regis Araujo
ParticipanteOla.. Boa noite.
Vc pode verificar através das views.. V$sql e V$sqlarea, mas a informação de quem gerou cada DML ou DDL é mais complexo…
Normalmente é gravado dentro dos arquivos DUMP.. mas para vc achar é bem trabalhoso..
Abraços…
23 de junho de 2009 às 1:09 am #87457Anônimo
Olá com esta querie, é possível visualizar os últimos comandos realizados
SELECT /*+ INDEX (c) INDEX (q) USE_NL (q) */
q.piece, q.sql_text
FROM v$open_cursor c, v$sqltext_with_newlines q
WHERE c.”ADDRESS” = q.”ADDRESS”
AND c.”HASH_VALUE” = q.”HASH_VALUE”
ORDER BY
q.”ADDRESS”, q.”HASH_VALUE”, q.piece23 de junho de 2009 às 2:30 am #87460C-S-R
Participante[quote=”saft”:37sqazri]Olá com esta querie, é possível visualizar os últimos comandos realizados
SELECT /*+ INDEX (c) INDEX (q) USE_NL (q) */
q.piece, q.sql_text
FROM v$open_cursor c, v$sqltext_with_newlines q
WHERE c.”ADDRESS” = q.”ADDRESS”
AND c.”HASH_VALUE” = q.”HASH_VALUE”
ORDER BY
q.”ADDRESS”, q.”HASH_VALUE”, q.piece[/quote]Então tentei por ai mas nao existem muitas informações, como data e hora que foi executado e tb sao poucos.
23 de junho de 2009 às 2:34 am #87461C-S-R
Participante[quote=”Thunder_Catz”:7lpt8vzl]Ola.. Boa noite.
Vc pode verificar através das views.. V$sql e V$sqlarea, mas a informação de quem gerou cada DML ou DDL é mais complexo…
Normalmente é gravado dentro dos arquivos DUMP.. mas para vc achar é bem trabalhoso..
Abraços…[/quote]
As informações sao do usuario corrente nesse caso correto?
Seria mais ou menos isso que queria achar.Preciso achar o PC que usou a configuração errada e apagou as tabelas do sistema.
Teria como ver essa informação. SQL, Usuario, Maquina??
Obrigado pela ajuda. saft e Thunder_Catz.
23 de junho de 2009 às 3:01 am #87462Regis Araujo
ParticipanteOpa..
Bom..
Tenta localizar a QUERY de deleção da tabela.. e no campo PARSING_SCHEMA_NAME vc pode localizar o Usuário que realizou a deleção da tabela..
Também existe a coluna Service e Module que podem te auxiliar…
Abraços…
23 de junho de 2009 às 5:00 pm #87466David Siqueira
ParticipantePara que você obtenha maios qualidade nesses dados que precisa analisar, o interessante seria proceder de duas maneiras :
1) Habilitar Auditoria em seu Banco ( isso onera demais o banco de dados, e pode com certeza gerar muitas contenções)
2) Criar processos amarrados as ações dos usuários via Triggers de evento ( Onera os processos também, visto que ha um passo a mais a ser executa, o passo onde será guardado os comandos executados por determinado user.)
Abraço!!!!
23 de junho de 2009 às 6:02 pm #87467vieri
ParticipantePesquise por LOGMINER.
com ele você pode encontrar quase tudo que quiser basta ter os seus arquives da data onde ocorreu o “homicidio” as tabelas!! hehe
23 de junho de 2009 às 9:45 pm #87480Anônimo
Olá,
Mais uma dica, pode usar o Sql Developer da Oracle, é uma ferramenta free e armazena os últimos comandos realizados.
24 de junho de 2009 às 7:05 pm #87492C-S-R
ParticipanteObrigado pela ajuda de todos.
Então, vou ver quanto eu perco ligando a auditoria ou uma trigger todo vez que alguem dropar a tabela.
Vou ver esse Logminer tb.
Então saft o problema que nao é que alguem conecto na base e deleto as tabelas. Aconteceu pq alguem esqueceu de alterar as configurações do sistema e acabo apagando o schema errado.
24 de junho de 2009 às 7:54 pm #87493Marcio68Almeida
Participante[quote=”C-S-R”:iazofi8h]Então saft o problema que nao é que alguem conecto na base e deleto as tabelas. Aconteceu pq alguem esqueceu de alterar as configurações do sistema e acabo apagando o schema errado.[/quote]
Não entendi…
Existe algum processo que as tabelas são removidas ?
Ou foram removidas por algum desavisado ?
Ou era algum processo que era para apagar umas tabelas e apagaram do sistema errado ?
Apagar tabelas não é algo normal em um banco de dados…24 de junho de 2009 às 8:18 pm #87494C-S-R
Participante[quote=”Marcio68Almeida”:194b2ktm][quote=”C-S-R”:194b2ktm]Então saft o problema que nao é que alguem conecto na base e deleto as tabelas. Aconteceu pq alguem esqueceu de alterar as configurações do sistema e acabo apagando o schema errado.[/quote]
Não entendi…
Existe algum processo que as tabelas são removidas ?
Ou foram removidas por algum desavisado ?
Ou era algum processo que era para apagar umas tabelas e apagaram do sistema errado ?
Apagar tabelas não é algo normal em um banco de dados…[/quote]Sim, no caso de desenvolvedores eles possuem um processo que apaga a base de dados. Geralmente essas bases nao possuem muitos dados somente os basicos para eles fazerem os testes. Porem 1 schema foi adicionado onde existem dados mais completos para testes mais completos. Alguem nao foi avisado que esse nao poderia apagar.
Ai rodaram nesse schema o processo de apagar e recriar a base.24 de junho de 2009 às 9:16 pm #87495David Siqueira
ParticipanteAnalisando melhor acredito que seu problema seja de CONCESSÔES , todo e qualquer usuário pode simples e puramente apagar os dados assim???
Ao invés de procurar o culpado, não seria melhor trabalhar de uma maneira mais pró-ativa, no sentido de cercar e minimizar os riscos?
Adotando uma linha de segurança mais eficiente, como deixando a senha para esses processos na mão de uma ou duas pessoas pelo menos, dessa forma suas possibilidades de achar o culpado se limitam e também seu trabalho se torna mais tranquilo com relação as perdas.Abraço!
24 de junho de 2009 às 9:54 pm #87496Marcio68Almeida
Participante[quote=”C-S-R”:34d4ka6i]Sim, no caso de desenvolvedores eles possuem um processo que apaga a base de dados. Geralmente essas bases nao possuem muitos dados somente os basicos para eles fazerem os testes. Porem 1 schema foi adicionado onde existem dados mais completos para testes mais completos. Alguem nao foi avisado que esse nao poderia apagar.
Ai rodaram nesse schema o processo de apagar e recriar a base.[/quote]
Eu, particularmente, nunca daria esse tipo de poder a desenvolvedores, pois as chances de fazer esse tipo de estrago são enormes…
O conselho do nosso amigo é pertinente, cada um só pode acessar o esquema que lhe é de direito e mesmo assim nunca para remover tabelas, esse é um trabalho para DBA.
Tenho problemas constantes com desenvolvedores querendo maiores poderes, já briguei até com o dono da empresa, mas não abro acesso para eles fazerem lambança na base de dados…Neste caso específico, nem precisa procurar quem foi, tem é que bloquear mesmo…
-
AutorPosts
- Você deve fazer login para responder a este tópico.