Bom Dia pessoa,
Estou precisando de uma ajuda de vocês.
É o seguinte, aqui no meu serviço o banco de dados é utilizado por quase todos os analistas seniors, eles fazem insert, update, delete tudo direto nas bases. Foi definido uma politica interna para que utiliza-se as bases da seguinte forma, cria-se uma table auxiliar para não modificar a original. Mas ainda existe um filho de deus que não faz isso.
Gostaria de saber se existe algum tipo de comando no PL SQL que possa mostrar o usuário que fez a alteração no banco de dados ou nas table??
Ou algo do Genero?
Obrigado.
Comandos de Busca
-
- Rank: Programador Júnior
- Mensagens: 29
- Registrado em: Ter, 29 Dez 2009 10:43 am
- Localização: Curitiba
É isso aí...
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
select * from v$session;
select * from v$sql;
na session você tera o campo username
na sql você tera o campo sql_text onde é guardado a instrução sql executada
você pode ligar o trace do seu banco tambem
- fsitja
- Rank: OraSauro
- Mensagens: 611
- Registrado em: Seg, 19 Jan 2009 4:29 pm
- Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Se os usuários não podem modificar a tabela, faça REVOKE dos privilégios de insert, delete e update deles e está resolvido o problema.
O ideal inclusive seria dar a eles apenas privilégio em uma view, que talvez seja Union delas duas, e redirecionar os DMLs com uma trigger Instead Of, para que eles não tenham acesso às tabelas originais.
Mas essa solução ainda me parece meio perigosa para a consistência do banco de dados.
Como você está garantindo a unicidade de Primary Keys, Unique Keys, e a consistência de chaves estrangeiras, entre as duas tabelas e outras relacionadas a elas?
O ideal inclusive seria dar a eles apenas privilégio em uma view, que talvez seja Union delas duas, e redirecionar os DMLs com uma trigger Instead Of, para que eles não tenham acesso às tabelas originais.
Mas essa solução ainda me parece meio perigosa para a consistência do banco de dados.
Como você está garantindo a unicidade de Primary Keys, Unique Keys, e a consistência de chaves estrangeiras, entre as duas tabelas e outras relacionadas a elas?
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 1 visitante