Pular para o conteúdo
  • Este tópico contém 13 respostas, 6 vozes e foi atualizado pela última vez 16 anos, 9 meses atrás por Marcio68Almeida.
Visualizando 14 posts - 1 até 14 (de 14 do total)
  • Autor
    Posts
  • #87455
    C-S-R
    Participante

      Boa 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.

      #87456
      Avatar photoRegis Araujo
      Participante

        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…

        #87457
        Anô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.piece

          #87460
          C-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.

            #87461
            C-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.

              #87462
              Avatar photoRegis Araujo
              Participante

                Opa..

                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…

                #87466
                David Siqueira
                Participante

                  Para 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!!!!

                  #87467
                  vieri
                  Participante

                    Pesquise 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

                    #87480
                    Anônimo

                      Olá,

                      Mais uma dica, pode usar o Sql Developer da Oracle, é uma ferramenta free e armazena os últimos comandos realizados.

                      #87492
                      C-S-R
                      Participante

                        Obrigado 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.

                        #87493
                        Marcio68Almeida
                        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…

                          #87494
                          C-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.

                            #87495
                            David Siqueira
                            Participante

                              Analisando 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!

                              #87496
                              Marcio68Almeida
                              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…

                              Visualizando 14 posts - 1 até 14 (de 14 do total)
                              • Você deve fazer login para responder a este tópico.