Trigger de logon

Vamos lá você quer gravar todos os usuários que se conectão em sua base de dados, e não deseja ativar a auditoria apenas para isso. Então minha sugestão seria criar uma trigger de logon, você pode criar uma trigger de logon com varias informaçoes basta incluir no select.

 

Na trigger de exemplo, eu só inclui data de logon, e o nome de usuário. Mas poderia ter incluso maquina, modulo que conectou, programa que conectou, qual sid, qual spid, serial, etc… as possibilidades são muitas. Basta você conhecer um pouso as visoes internas do oracle. (recomendo sempre utilizar a visão v$session para pegar estas informações).

Segue abaixo passos rápidos de como criar uma trigger de login. Após este procedimento você poderá criar a trigger com quantos campos achar necessário, basta programar.

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
lana

SQL> CREATE TABLE connection_lana (login_date DATE,user_name VARCHAR2(30));

Table created.

SQL> select * from connection_lana;

no rows selected

SQL> CREATE OR REPLACE TRIGGER teste_login after LOGON ON DATABASE
when (USER LIKE 'SYS')
DECLARE
v_sid number;
v_module varchar2(48);
BEGIN
INSERT INTO connection_lana
(login_date, user_name)
VALUES
(SYSDATE, USER);
END teste_login;
/

Trigger created.

SQL> select trigger_name,status from dba_triggers where trigger_name='TESTE_LOGIN';

TRIGGER_NAME                   STATUS
------------------------------ --------
TESTE_LOGIN                    ENABLED

SQL> conn / as sysdba
Connected.
SQL> select * from connection_lana;

LOGIN_DAT USER_NAME
--------- ------------------------------
27-OCT-09 SYS
%name Trigger de logon

Autor: Leandro Lana

Trabalho com banco de dados Oracle desde 2006, já trabalhei com as plataformas 9i, 10G, 11G, 12C, 18C, 19C e 21(ainda em testes).

Trabalhando atualmente como consultor Oracle na MigraTI Soluções em TI como administrador de banco de dados Oracle, SQL-Server, MySQL e Postgresql.

Contato: leandro.lana@migrati.com.br

Fone: (47) 9191-6052 / (47) 3328 0996

Certificações:

OCA 10G.

OCP 10G.

OCE Linux.

OCE RAC/Cluster.

MCP SQL-Server 2008.

MCITP SQL-Server 2008.

DB2 Fundamentals.