Définit le nom de l'action

# oci_set_action

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_action — Définit le nom de l'action

### Description

function oci_set_action(resource `$connection`, string `$action`): bool

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' entre PHP et 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.

### Liste de paramètres

`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.

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Exemples

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;

### Notes

> 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 .

Astuce

# Performance

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().

Attention

# Allers-retours

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.

### Voir aussi

- oci_set_module_name() - Définit le nom du module
- oci_set_client_info() - Définit l'information concernant le client
- oci_set_client_identifier() - Définit l'identifiant du client
- oci_set_db_operation() - Définit l'opération de base de données

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open