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