array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'uk', ), 'this' => array ( 0 => 'function.oci-set-action.php', 1 => 'oci_set_action', 2 => 'Sets the action name', ), 'up' => array ( 0 => 'ref.oci8.php', 1 => 'Функції OCI8', ), 'prev' => array ( 0 => 'function.oci-server-version.php', 1 => 'oci_server_version', ), 'next' => array ( 0 => 'function.oci-set-call-timout.php', 1 => 'oci_set_call_timeout', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/oci8/functions/oci-set-action.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)
oci_set_action — Sets the action name
Sets the action name for Oracle tracing.
The action name is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.
The action name can subsequently be queried from database administration
views such as V$SESSION
. It can be used for
tracing and monitoring such as with V$SQLAREA
and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE
.
The value may be retained across persistent connections.
connection
Ідентифікатор з'єднання Oracle, якого повертає oci_connect(), oci_pconnect(), oci_new_connect().
action
User chosen string up to 32 bytes long.
Приклад #1 Setting the action
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// Record the action
oci_set_action($c, 'Friend Lookup');
// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);
sleep(30);
?>
// While the script is running, the administrator can see the actions // being performed: sqlplus system/welcome SQL> select action from v$session;
Зауваження: Вимога до версії Oracle
Ця функція доступна, якщо PHP скомпоновано з бібліотеками Oracle Database версії 10g і новішими.
Зі
старішими версіями OCI8 або Oracle Database, клієнтські дані можна записувати,
використовуючи пакунок Oracle DBMS_APPLICATION_INFO
. Це менш
ефективно, ніж використання
oci_set_client_info().
Деякі (але не всі) функції OCI8 завжди спричиняють round-trip (надсилання запиту до бази даних, вибірку з бази, отримання відповіді від неї). Проте цього не стається, якщо увімкнено кешування результатів.