Cette fonction est très utile pour déterminer par exemple le nom de la machine, l'adresse IP ainsi que d'autres fonctions (système d'exploitation utilisé, problème de connexion à la BD, audit, etc...).
Pour voir des exemples de l'usage de SYS_CONTEXT (audit de la BD), on va créer deux objets (une table et un trigger ).
La création de la table est comme suit:
Et la création d'un trigger:
create or replace trigger logon_succes_bd
AFTER LOGON ON DATABASE
begin
begin
-- Insertion dans la table audit_logon
insert into v$audit_logon (
audit_date ,
db_user_name ,
os_user_name ,
computer_name ,
ip_address ,
module ,
comments )
values (
sysdate ,
user ,
sys_context('USERENV','OS_USER'),
sys_context('USERENV','HOST'),
sys_context('USERENV','IP_ADDRESS'),
sys_context('USERENV','MODULE'),
' Connexion avec succès à la BD ' || sys_context('USERENV','DB_NAME'));
exception
when others then null;
end;
end;
Une interrogation da la table v$audit_logon permet d'afficher les informations de la connexion à la BD.
Voici la liste de tous les paramètres de SYS_CONTEXT:
Exemple d'utilisation de cette fonction:
select sys_context('USERENV','NLS_DATE_FORMAT') from DUAL;
Pour voir des exemples de l'usage de SYS_CONTEXT (audit de la BD), on va créer deux objets (une table et un trigger ).
La création de la table est comme suit:
Et la création d'un trigger:
create or replace trigger logon_succes_bd
AFTER LOGON ON DATABASE
begin
begin
-- Insertion dans la table audit_logon
insert into v$audit_logon (
audit_date ,
db_user_name ,
os_user_name ,
computer_name ,
ip_address ,
module ,
comments )
values (
sysdate ,
user ,
sys_context('USERENV','OS_USER'),
sys_context('USERENV','HOST'),
sys_context('USERENV','IP_ADDRESS'),
sys_context('USERENV','MODULE'),
' Connexion avec succès à la BD ' || sys_context('USERENV','DB_NAME'));
exception
when others then null;
end;
end;
Lorsqu'on fait une connexion avec la BD, il y aura une insertion dans la table. Voici les résultats:
Une interrogation da la table v$audit_logon permet d'afficher les informations de la connexion à la BD.
Voici la liste de tous les paramètres de SYS_CONTEXT:
Exemple d'utilisation de cette fonction:
select sys_context('USERENV','NLS_DATE_FORMAT') from DUAL;