# oci_set_action

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

oci_set_action — Establece el nombre de una acción

### Descripción

oci_set_action(resource `$connection`, string `$action_name`): bool

Establece el nombre de una acción para el rastreo de Oracle.

El nombre de la acción se registra con la base de datos cuando ocurra el siguiente "viaje de ida y vuelta" desde PHP a la base de datos, normalemnte cuando una sentencia SQL es ejecutada.

El nombre de la acción puede ser consultado posteriormente desde una vista de administración de la base de datos como `V$SESSION`. Se puede usar para rastrear y monitorizar como con `V$SQLAREA` y `DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE`.

El valor podría manterse entre conexiones persistentes.

### Parámetros

`connection`

  Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().

`action_name`

  La cadena elegida por el usuario, hasta 32 bytes de longitud.

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de error.

### Ejemplos

Ejemplo #1 Establecer la acción

`<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// Grabar la acción
oci_set_action($c, 'Friend Lookup');
// Código que causa un viaje de ida y vuelta, por ejemplo una consulta:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);
sleep(30);
?>`

    // Mientras el script se esté ejecutando, el administrador puede ver las acciones
    // que se están realizando:

    sqlplus system/welcome
    SQL> select action from v$session;

### Notas

> Nota: Requisito de versión de Oracle

> Esta función esta disponible cuando PHP está vinculado con bibliotecas de Oracle Database de la versión 10g en adelante.

Sugerencia

# Rendimiento

Con versiones antiguas de OCI8 o de Oracle Database, se puede establecer la información del cliente usando el paquete `DBMS_APPLICATION_INFO` de Oracle. Esto es menos eficiente que utilizar oci_set_client_info().

Precaución

# Problema con los viajes de ida y vuelta

Algunas, pero no todas, las funciones de OCI8 causan viajes de ida y vuelta. Estos podrían no ocurrir con las consultas cuando está habilitado el almacenamiento en caché de resultados.

### Ver también

- oci_set_module_name() - Establece el nombre de un módulo
- oci_set_client_info() - Establece la información del cliente
- oci_set_client_identifier() - Establece el identificador del cliente