(PHP 5.3.2, PHP 7, PECL OCI8 >= 1.4.0)
oci_set_action — Définit le nom de l'action
$connection
, string $action_name
)Définit le nom de l'action pour un traçage Oracle.
Le nom de l'action est enregistré avec la base de données lors du prochain 'roundtrip' depuis PHP vers la base de données ; typiquement, lorsqu'une requête SQL est exécutée.
Le nom de l'action peut être interrogé par la suite depuis la vue d'administration de la base de données V$SESSION. Il peut être utilisé pour tracer et surveiller d'autres vues comme V$SQLAREA et DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.
La valeur peut être conservée au travers des connexions persistantes.
connection
Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect() ou la fonction oci_new_connect().
action_name
Chaîne choisie par l'utilisateur jusqu'à 32 octets de long.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemple #1 Définition d'une action
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// Enregistre l'action
oci_set_action($c, 'Friend Lookup');
// Code générant un roundtrip, par exemple, une requête :
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);
sleep(30);
?>
// Pendant l'exécution du script, l'administrateur peut voir les actions // en cours d'exécution : sqlplus system/welcome SQL> select action from v$session;
Note: Requis par la version Oracle
Cette fonction est disponible si PHP est lié à partir de la version 10g de la bibliothèque de la base de données Oracle .
Avec les anciennes version OCI8 ou les anciennes bases de données Oracle, l'information quant au client peut être défini en utilisant le paquet Oracle DBMS_APPLICATION_INFO. Ceci est moins efficace que d'utiliser la fonction oci_set_client_info().
Quelques fonctions OCI8 nécessitent des allé-retours avec la base de données. Ces allé-retours peuvent être évités lors de l'utilisation de requêtes dont le résultat est mis en cache.