(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)
oci_set_action — 設定動作名稱
設定 Oracle 追蹤的動作名稱。
當下一次從 PHP 到資料庫的「往返行程」發生時,通常是在執行 SQL 陳述式時,動作名稱會向資料庫註冊。
之後可以從資料庫管理視圖(例如 V$SESSION
)查詢動作名稱。它可以用於追蹤和監控,例如使用 V$SQLAREA
和 DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE
。
該值可能會在持續性連線中保留。
connection
由 oci_connect()、oci_pconnect() 或 oci_new_connect() 傳回的 Oracle 連線識別碼。
action
使用者選擇的字串,最多 32 個位元組。
範例 #1 設定動作
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// 記錄動作
oci_set_action($c, 'Friend Lookup');
// 導致往返行程的程式碼,例如查詢:
$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 連結版本 10g 以上的 Oracle 資料庫程式庫時,此函式才可用。
對於舊版本的 OCI8 或 Oracle 資料庫,可以使用 Oracle DBMS_APPLICATION_INFO
套件來設定用戶端資訊。這比使用 oci_set_client_info() 的效率低。
某些(但並非所有)OCI8 函式會導致往返行程。啟用結果快取時,查詢可能不會發生與資料庫的往返行程。