Oracle11g新增事件CLIENTID_OVERWRITE
在11g中,Oracle新增了CLIENTID_OVERWRITE事件,使得執行DBMS_APPLICATION_INFO包的SET_CLIENT_INFO資訊後,V$SESSION可以自動反應設定結果。
預設情況下,設定了SET_CLIENT_INFO過程後,還要執行DBMS_SESSION的SET_IDENTIFIER過程,才能使得V$SESSION反映設定後的結果:
SQL> SELECT * FROM V$VERSION;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> SELECT SID, SERIAL#, CLIENT_IDENTIFIER
2 FROM V$SESSION
3 WHERE SID IN (SELECT SID FROM V$MYSTAT);
SID SERIAL# CLIENT_IDENTIFIER
---------- ---------- ----------------------------------------------------------------
243 7966
SQL> EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO('TEST')
PL/SQL 過程已成功完成。
SQL> SELECT SID, SERIAL#, CLIENT_IDENTIFIER
2 FROM V$SESSION
3 WHERE SID IN (SELECT SID FROM V$MYSTAT);
SID SERIAL# CLIENT_IDENTIFIER
---------- ---------- ----------------------------------------------------------------
243 7966
SQL> VAR STR VARCHAR2(4000)
SQL> EXEC DBMS_APPLICATION_INFO.READ_CLIENT_INFO(:STR)
PL/SQL 過程已成功完成。
SQL> PRINT STR
STR
--------------------------------------------------------------------------------------
TEST
SQL> EXEC DBMS_SESSION.SET_IDENTIFIER('TEST')
PL/SQL 過程已成功完成。
SQL> SELECT SID, SERIAL#, CLIENT_IDENTIFIER
2 FROM V$SESSION
3 WHERE SID IN (SELECT SID FROM V$MYSTAT);
SID SERIAL# CLIENT_IDENTIFIER
---------- ---------- ----------------------------------------------------------------
243 7966 TEST
利用DBMS_APPLICATION_INFO包設定的客戶端標識只能通過這個包的READ_CLIENT_INFO來獲取,如果想要設定的結果直接顯示在V$SESSION檢視中,可以設定EVENTS CLIENTID_OVERWRITE:
SQL> ALTER SESSION SET EVENTS 'CLIENTID_OVERWRITE';
會話已更改。
SQL> EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO('TEST_NEW')
PL/SQL 過程已成功完成。
SQL> SELECT SID, SERIAL#, CLIENT_IDENTIFIER
2 FROM V$SESSION
3 WHERE SID IN (SELECT SID FROM V$MYSTAT);
SID SERIAL# CLIENT_IDENTIFIER
---------- ---------- ----------------------------------------------------------------
243 7966 TEST_NEW
取消這個事件通過下面的語句:
SQL> ALTER SESSION SET EVENTS 'CLIENTID_OVERWRITE OFF';
會話已更改。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-674346/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle11g RAC新增節點Oracle
- 新增按鈕事件事件
- oracle11g ddl trace event事件小記Oracle事件
- jquery為動態新增元素新增事件薦jQuery事件
- Oracle11g INTERVAL分割槽新增分割槽策略Oracle
- 事件委託---動態建立的元素新增事件事件
- Oracle11g新特性 - 快速線上新增not null欄位OracleNull
- Oracle11g新增密碼錯誤延遲驗證Oracle密碼
- 【RAC】Oracle11g RAC新增新節點相關事項Oracle
- oracle11G與12C新增服務的區別Oracle
- Vue根據條件新增click事件Vue事件
- angular 回車事件新增資料到liAngular事件
- react antd form rules 新增離焦事件ReactORM事件
- 填報表中也可以新增 html 事件HTML事件
- js 新增事件 attachEvent 和 addEventListener 的用法JS事件dev
- 為自定義的View新增長按事件View事件
- Gridview中新增按鈕響應事件View事件
- Mac日曆如何新增提醒事件的教程Mac事件
- 使用 EventKit 向系統日曆中新增事件事件
- jquery 為動態新增的元素繫結事件jQuery事件
- H5手機端jquery新增tap事件H5jQuery事件
- 企圖為vuex新增發布訂閱:事件繫結和事件觸發Vue事件
- Flutter自定義折線圖並新增點選事件Flutter事件
- Spring Boot 2.0 新特性(二):新增事件ApplicationStartedEventSpring Boot事件APPdev
- React map生成元素新增點選事件繫結thisReact事件
- jquery給動態新增的dom元素繫結事件jQuery事件
- ListView新增事件並獲取選中項的值View事件
- 為Java應用程式新增退出事件響應Java事件
- Oracle11g redo log 建立、新增、刪除(重做日誌組,重做日誌檔案)Oracle
- RecyclerView使用指南(三)—— 新增分割線和點選事件View事件
- 分支資料監測終端(新增TCBUS事件清除功能)事件
- 如何為新增的元素註冊事件處理函式事件函式
- jq動態生成的元素(標籤)新增點選事件事件
- jQuery給動態新增的元素繫結事件的方法jQuery事件
- Oracle11g新增檢視查詢表空間使用率DBA_TABLESPACE_USAGE_METRICSOracle
- 為 FragmentTabhost 新增 tab 點選事件,在頁面跳轉之前Fragment事件
- oracle 12c 新增的診斷事件的初步嘗試Oracle事件
- 【MAUI】為 Label、Image 等控制元件新增點選事件UI控制元件事件