(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)
oci_set_action — Задаёт имя для действия
Присваивает имя действию для трассировки Oracle.
Присвоенное имя регистрируется в базе данных во время очередного запроса от PHP, например, когда запускается SQL выражение.
Имя действия может быть извлечено из административных представлений (view)
базы данных, таких как V$SESSION
. Его можно использовать
для трассировки и мониторинга, например, с помощью
V$SQLAREA
и
DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE
.
Значение можно устанавливать и через постоянные соединения.
connection
Идентификатор соединения Oracle, который возвращают функции oci_connect(), oci_pconnect() или oci_new_connect().
action
Задаваемая пользователем строка до 32 байт.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Пример #1 Установка действия
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// Запись действия
oci_set_action($c, 'Friend Lookup');
// Код, осуществляющий запрос к БД, например выборка:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);
sleep(30);
?>
// Пока скрипт выполняется, администратор может наблюдать выполнение действий: sqlplus system/welcome SQL> select action from v$session;
Замечание: Требование к версии Oracle
Эта функция доступна, если PHP слинкован с библиотеками Oracle Database начиная с версии 10g и выше.
В старых версиях модуля OCI8 или базы
данных Oracle была доступна установка информации о клиенте средствами
пакета DBMS_APPLICATION_INFO
. Для этого более
эффективен вызов функции oci_set_client_info().
Ряд OCI8-функции вызывают полное сканирование таблицы (roundtrip). Функции не сканируют таблицы полностью для тех запросов, в которых включено кеширование результатов в базе данных.