(PHP 7 >= 7.2.14, PHP 8, PHP 7 >= 7.3.1, PHP 8, PECL OCI8 >= 2.2.0)
oci_set_db_operation — Définit l'opération de base de données
Définit l'opération de base de données (DBOP) pour le traçage Oracle.
L'opération de base de données est enregistrée avec la base de données lors du prochain 'aller-retour' de PHP vers la base de données, généralement lorsqu'une déclaration SQL est exécutée.
L'opération de base de données peut ensuite être interrogée à partir de l'administration de la base de données
vues telles que V$SQL_MONITOR
.
La fonction oci_set_db_operation() est disponible lorsque OCI8 utilise les bibliothèques clientes Oracle 12 (ou ultérieures) et Oracle Database 12 (ou ultérieures).
connection
Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect() ou la fonction oci_new_connect().
action
La chaîne choisie par l'utilisateur.
Exemple #1 Mise en place de la DBOP
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// Enregistre l'opération
oci_set_db_operation($c, 'main query');
// Code qui provoque un aller-retour, par exemple une requête:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);
sleep(30);
?>
// Lorsque le script est en cours d'exécution, l'administrateur peut voir les opérations de base de données // en cours d'exécution: sqlplus system/welcome SQL> select dbop_name from v$sql_monitor;
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.