oci_set_action
(PHP 5.3.2, PECL OCI8 >= 1.4.0)
oci_set_action — Sets the action name
说明
bool oci_set_action ( resource $connection , string $action_name )Sets the action name for Oracle tracing.
The action name is registered with the database when the next 'roundtrip' 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 roundtrip, 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;
注释
TipNote: Oracle 版本需求
当 PHP 是与 Oracle 数据库 10g 及更新版本的 扩展库链接时,此函数可用。
性能
使用旧版的 OCI8 或 ORACLE 数据库 ,可使用 Oracle DBMS_APPLICATION_INFO 包来设置客户端信息。这比使用 oci_set_client_info() 较低效。
CautionRoundtrip 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