oci_set_action
(PHP 5 >= 5.3.2, PHP 7, PECL OCI8 >= 1.4.0)
oci_set_action — Sets the action name
说明
$connection
,
string $action_name
) :
bool
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_name
-
User chosen string up to 32 bytes long.
返回值
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
范例
Example #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;
注释
Note: Oracle 版本需求
当 PHP 是与 Oracle 数据库 10g 及更新版本的 扩展库链接时,此函数可用。
性能
使用旧版的 OCI8 或 ORACLE 数据库 ,可使用 Oracle DBMS_APPLICATION_INFO 包来设置客户端信息。这比使用 oci_set_client_info() 较低效。
Roundtrip Gotcha
一些 OCI8 函数会导致 Roundtrips. 对数据库来说当启用结果缓存时,查询可能不产生Roundtrips。
参见
- oci_set_module_name() - Sets the module name
- oci_set_client_info() - Sets the client information
- oci_set_client_identifier() - Sets the client identifier
- oci_set_db_operation() - Sets the database operation