array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.oci-set-action.php', 1 => 'oci_set_action', ), 'up' => array ( 0 => 'ref.oci8.php', 1 => 'Fonctions OCI8', ), 'prev' => array ( 0 => 'function.oci-server-version.php', 1 => 'oci_server_version', ), 'next' => array ( 0 => 'function.oci-set-call-timout.php', 1 => 'oci_set_call_timeout', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/oci8/functions/oci-set-action.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)
oci_set_action — Définit le nom de l'action
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 aller-retour 'round-trip' 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
Chaîne choisie par l'utilisateur jusqu'à 32 octets de long.
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 aller-retour (round-trip), 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 allers-retours avec la base de données. Ces allers-retours peuvent être évités lors de l'utilisation de requêtes dont le résultat est mis en cache.