Comandos de Busca

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
EvertonKopec
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Ter, 29 Dez 2009 10:43 am
Localização: Curitiba
É isso aí...

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.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

Selecionar tudo

select * from v$session;
select * from v$sql;
use o campo sql_id para fazer join

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
Avatar do usuário
fsitja
Rank: OraSauro
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

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?
Responder
  • Informação