oci_set_db_operation
(PHP 7 >= 7.2.14, PHP 7 >= 7.3.1, PECL OCI8 >= 2.2.0)
oci_set_db_operation — Задает операцию базы данных
Описание
$connection
, string $dbop
) : boolУстанавливает DBOP для трассировки Oracle.
Имя операции базы данных регистрируется в базе данных при следующем "циклическом пути" (round-trip) из PHP в базу данных, как правило, при выполнении выражения SQL.
Операция базы данных может впоследствии запрашиваться из
представлений администрирования базы данных, таких как V$SQL_MONITOR
.
Функция oci_set_db_operation() доступна, если oci8 использует клиентские библиотеки Oracle версии 12 (или новее) и базу данных Oracle 12 (или новее).
Список параметров
-
connection
-
Идентификатор соединения Oracle, возвращаемый oci_connect(), oci_pconnect(), или oci_new_connect().
-
dbop
-
Пользовательская строка.
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Примеры
Пример #1 Установка DBOP
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// Записать операцию
oci_set_db_operation($c, 'main query');
// Код, вызывающий циклический путь, например запрос:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);
sleep(30);
?>
// Во время выполнения скрипта администратор может видеть выполняемые операции // с базой данных. sqlplus system/welcome SQL> select dbop_name from v$sql_monitor;
Примечания
Совет по полному сканированию таблицы (roundtrip)
Некоторые, но не все OCI8-функции вызывают полное сканирование таблицы (roundtrip). Полное сканирование таблиц не происходит для тех запросов, в которых включено кеширование результатов в базе данных.
Смотрите также
- oci_set_action() - Задает имя для действия
- oci_set_module_name() - Задает имя модулю
- oci_set_client_info() - Задает информацию о клиенте
- oci_set_client_identifier() - Задает идентификатор клиента