如何獲取繫結變數值
Bind Capture History
As of 10g, Oracle captures the bind value and stores it into the repository(AWR), but with following restrictions.
- Captured periodically(_cursor_bind_capture_interval), not at real time.
- Captured under maximum size(_cursor_bind_capture_area_size)
- Only bind variables in WHERE clause are captured
Ouch! Too many restrictions, aren’t they?
Simple demonstration:
UKJA@ukja102> var bid1 number; UKJA@ukja102> var eid1 number; UKJA@ukja102> UKJA@ukja102> exec :bid1 := dbms_workload_repository.create_snapshot; PL/SQL procedure successfully completed. UKJA@ukja102> UKJA@ukja102> var b1 number; UKJA@ukja102> var b2 number; UKJA@ukja102> var b3 varchar2(1); UKJA@ukja102> begin 2 :b1 := 1; 3 :b2 := 2000; 4 :b3 := 'y'; 5 end; 6 / PL/SQL procedure successfully completed. UKJA@ukja102> UKJA@ukja102> update t1 set c3 = :b3 where c1 between :b1 and :b2; 2000 rows updated. UKJA@ukja102> commit; Commit complete. UKJA@ukja102> UKJA@ukja102> exec :eid1 := dbms_workload_repository.create_snapshot; PL/SQL procedure successfully completed. UKJA@ukja102> UKJA@ukja102> var sql_id varchar2(100); UKJA@ukja102> begin 2 select sql_id into :sql_id 3 from dba_hist_sqltext 4 where sql_text like 'update t1 set c3 = :b3 where c1 between :b1 and :b2'; 5 end; 6 / PL/SQL procedure successfully completed. UKJA@ukja102> UKJA@ukja102> print sql_id SQL_ID -------------------------------------------------------------------------------- bvy5d4xupjkku UKJA@ukja102> UKJA@ukja102> col name format a10 UKJA@ukja102> col position format 99 UKJA@ukja102> col value_string format a20 UKJA@ukja102> select snap_id, name, position, value_string, last_captured - > from dba_hist_sqlbind 2 where sql_id = :sql_id 3 order by snap_id desc; SNAP_ID NAME POSITION VALUE_STRING LAST_CAPTURED ---------- ---------- -------- -------------------- ------------------- 6701 :B1 2 1 2009/05/06 11:10:13 6701 :B2 3 2000 2009/05/06 11:10:13 6701 :B3 1 6700 :B2 3 1000 2009/05/06 11:10:03 6700 :B3 1 6700 :B1 2 1 2009/05/06 11:10:03 6699 :B1 2 1 2009/05/06 11:05:50 6699 :B3 1 6699 :B2 3 2000 2009/05/06 11:05:50 6697 :B2 3 2000 2009/05/06 10:47:51 6697 :B3 1 6697 :B1 2 1 2009/05/06 10:47:51 12 rows selected.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-688706/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何獲取變數token的值變數
- 如何獲取變數 token 的值變數
- 如何用FGA得到繫結變數的值變數
- [20200326]繫結變數抓取與NULL值.txt變數Null
- [20191213]共享池繫結變數的值在哪裡.txt變數
- 如何在對in操作使用變數繫結(轉)變數
- js_獲取與設定css變數的值JSCSS變數
- 如何通過WinDbg獲取方法引數值
- [20191216]共享池繫結變數的值在哪裡2.txt變數
- [20211227]抽取跟蹤檔案中的繫結變數值.txt變數
- javascript 將變數值作為物件屬性 獲取物件對應的值JavaScript變數物件
- 在繫結變數下使用outline變數
- MySQL高階特性——繫結變數MySql變數
- [20180930]in list與繫結變數.txt變數
- [20180912]PLSLQ與繫結變數.txt變數
- Vue select 繫結動態變數Vue變數
- 如何列印數值變數變數
- [20180930]in list與繫結變數個數.txt變數
- [20210120]in list與繫結變數個數.txt變數
- python中獲取如何Series值Python
- C#獲取URL引數值C#
- 獲取資料並繫結到 UI | MAD SkillsUI
- 【ORACLE】Oracle繫結變數知識梳理Oracle變數
- 繫結變數窺視測試案例變數
- Grails中如何繫結引數AI
- 獲取Mysql的狀態、變數MySql變數
- C# 解析獲取Url引數值C#
- JavaScript 獲取 url 傳遞引數值JavaScript
- Vue父子元件如何雙向繫結傳值Vue元件
- select通過onchange獲取每次改變的值
- [20220414]toad與繫結變數peek.txt變數
- Oracle中如何查詢未使用繫結變數的SQL語句?Oracle變數SQL
- JAVA之反射學習3-反射獲取成員變數並賦值Java反射變數賦值
- 介面測試的獲取token變數變數
- python 獲取設定環境變數Python變數
- Vue事件獲取觸發事件物件和繫結事件物件Vue事件物件
- python 中如何判斷獲取檢視變數的型別Python變數型別
- JavaScript獲取url傳遞的引數值JavaScript
- Docker+Jenkins+Pipline如何獲取git外掛環境變數(提交sha、分支等)以及Jenkinsfile中獲取sh執行結果(獲取git最近提交資訊)DockerJenkinsGit變數