(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)
oci_set_module_name — 设置模块名称
设置Oracle追踪的模块名称。
当PHP到数据库的下一个“往返”发生时,模块名称将在数据库中注册,通常是在执行SQL语句时。
随后可以从数据库管理视图(例如V$SESSION
)查询该名称。它可以用于追踪和监控,例如使用V$SQLAREA
和DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE
。
该值可以在持久连接中保留。
示例 #1 设置模块名称
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// 记录模块
oci_set_module_name($c, '主页');
// 导致往返的代码,例如查询:
$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 // modules in use: sqlplus system/welcome SQL> select module from v$session;
注意: Oracle版本要求
当PHP链接到10g及更高版本的Oracle数据库库时,此函数可用。
对于较旧版本的OCI8或Oracle数据库,可以使用Oracle DBMS_APPLICATION_INFO
包设置客户端信息。这不如使用oci_set_client_info()高效。
某些(但并非所有)OCI8函数会引起往返。当启用结果缓存时,查询可能不会发生数据库往返。