bonjour,
mon trigger on logon ne fonctionne plus en 9i et 10G. J'utilise le trigger on logon pour interdire les connexions sqlplus :
mais le raise_application_error ne fonctionne plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 CREATE OR REPLACE TRIGGER block_login AFTER LOGON ON DATABASE DECLARE v_osuserid v$session.osuser%TYPE; v_machinename v$session.machine%TYPE; v_sid v$session.sid%TYPE; v_serial v$session.serial#%TYPE; v_program v$session.program%TYPE; CURSOR c1 IS SELECT sid, serial#, osuser, machine FROM v$session WHERE audsid=sys_context('USERENV','SESSIONID') AND upper(username) in ('XXX') AND machine like 'XXX%'; -- Posibilité de mettre un filtre sur les user à auditer BEGIN OPEN c1; LOOP FETCH c1 INTO v_sid, v_serial, v_osuserid, v_machinename; EXIT WHEN c1%NOTFOUND; raise_application_error(-20001,'IL EST INTERDIT DE SE CONNECTER VIA SQLPLUS A LA BASE PENDANT LE TP'); END LOOP; CLOSE c1; END; /
Partager