oci_set_module_name

(PHP 5 >= 5.3.2, PHP 7, PECL OCI8 >= 1.4.0)

oci_set_module_nameSets the module name

说明

oci_set_module_name ( resource $connection , string $module_name ) : bool

Sets the module name for Oracle tracing.

The module 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 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() 返回。

module_name

User chosen string up to 48 bytes long.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

注释

Note: Oracle 版本需求

当 PHP 是与 Oracle 数据库 10g 及更新版本的 扩展库链接时,此函数可用。

Tip

性能

使用旧版的 OCI8 或 ORACLE 数据库 ,可使用 Oracle DBMS_APPLICATION_INFO 包来设置客户端信息。这比使用 oci_set_client_info() 较低效。

Caution

Roundtrip Gotcha

一些 OCI8 函数会导致 Roundtrips. 对数据库来说当启用结果缓存时,查询可能不产生Roundtrips。

范例

Example #1 Setting the module name

<?php

$c 
oci_connect('hr''welcome''localhost/XE');

// Record the module
oci_set_module_name($c'Home Page');

// 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
// modules in use:

sqlplus system/welcome
SQL> select module from v$session;

参见

User Contributed Notes

There are no user contributed notes for this page.