ExaGridDba

12c container dba does not see bind vars in other containers

Sep 28th, 2013
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. [oracle@waipio1 KILAUEA CURSOR]$ cat cross.container.CURSOR.SQL
  2. CONNECT sys/sys.n1te@kilauea AS sysdba
  3. ALTER SYSTEM flush shared_pool;
  4.  
  5. CONNECT scott/tiger@hilo
  6. SET linesize 200
  7. SET trimspool ON
  8. COLUMN name format a30
  9. COLUMN value_string format a30
  10.  
  11. variable ename VARCHAR2(10)
  12. variable prev_sql_id VARCHAR2(13)
  13. variable prev_child_number NUMBER
  14.  
  15. EXEC :ename := 'KING'
  16. SELECT sal FROM emp WHERE ename = :ename;
  17. EXEC SELECT prev_sql_id, prev_child_number INTO :prev_sql_id, :prev_child_number FROM v$session WHERE sid = ( SELECT sid FROM v$mystat WHERE ROWNUM <= 1)
  18.  
  19. SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
  20. FROM v$sql_bind_capture
  21. WHERE sql_id = :prev_sql_id
  22. AND child_number = :prev_child_number;
  23.  
  24. CONNECT scott/tiger@kona
  25.  
  26. variable ename VARCHAR2(10)
  27. variable prev_sql_id VARCHAR2(13)
  28. variable prev_child_number NUMBER
  29.  
  30. EXEC :ename := 'SMITH'
  31. SELECT sal FROM emp WHERE ename = :ename;
  32. EXEC SELECT prev_sql_id, prev_child_number INTO :prev_sql_id, :prev_child_number FROM v$session WHERE sid = ( SELECT sid FROM v$mystat WHERE ROWNUM <= 1)
  33.  
  34. SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
  35. FROM v$sql_bind_capture
  36. WHERE sql_id = :prev_sql_id
  37. AND child_number = :prev_child_number;
  38.  
  39. quit
  40. [oracle@waipio1 KILAUEA CURSOR]$ sqlplus /nolog @ cross.container.CURSOR.SQL
  41.  
  42. SQL*Plus: RELEASE 12.1.0.1.0 Production ON Sat Sep 28 07:46:25 2013
  43.  
  44. Copyright (c) 1982, 2013, Oracle.  ALL rights reserved.
  45.  
  46. Connected.
  47.  
  48. SYSTEM altered.
  49.  
  50. Connected.
  51.  
  52. PL/SQL PROCEDURE successfully completed.
  53.  
  54.  
  55.        SAL
  56. ----------
  57.       5000
  58.  
  59.  
  60. PL/SQL PROCEDURE successfully completed.
  61.  
  62.  
  63.     CON_ID SQL_ID        CHILD_NUMBER NAME                             POSITION WAS VALUE_STRING
  64. ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
  65.          3 gskp4gdzu8qkv            0 :ENAME                                  1 YES KING
  66.  
  67. Connected.
  68.  
  69. PL/SQL PROCEDURE successfully completed.
  70.  
  71.  
  72.        SAL
  73. ----------
  74.        800
  75.  
  76.  
  77. PL/SQL PROCEDURE successfully completed.
  78.  
  79.  
  80.     CON_ID SQL_ID        CHILD_NUMBER NAME                             POSITION WAS VALUE_STRING
  81. ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
  82.          4 gskp4gdzu8qkv            1 :ENAME                                  1 YES SMITH
  83.  
  84. Disconnected FROM Oracle DATABASE 12c Enterprise Edition RELEASE 12.1.0.1.0 - 64bit Production
  85. WITH the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
  86. AND REAL Application Testing options
  87. /*
  88. KONA user searches v$sql for "sal". Only finds sql from kona.
  89. Because child_number is 1, KONA user may infer that child 0 ran in another container, or was invalidated in his own.
  90. */
  91.  
  92. [oracle@waipio1 KILAUEA CURSOR]$ cat search.sqltext.SQL
  93. SET linesize 200
  94. COLUMN sql_text format a40
  95.  
  96. CONNECT scott/tiger@hilo
  97. SELECT con_id, sql_id, child_number, sql_text FROM v$sql WHERE sql_text LIKE 'select sal from emp where ename%';
  98. CONNECT scott/tiger@kona
  99. SELECT con_id, sql_id, child_number, sql_text FROM v$sql WHERE sql_text LIKE 'select sal from emp where ename%';
  100. CONNECT sys/sys.n1te@kilauea AS sysdba
  101. SELECT con_id, sql_id, child_number, sql_text FROM v$sql WHERE sql_text LIKE 'select sal from emp where ename%';
  102.  
  103. quit
  104. [oracle@waipio1 KILAUEA CURSOR]$ sqlplus /nolog @ search.sqltext.SQL
  105.  
  106. SQL*Plus: RELEASE 12.1.0.1.0 Production ON Sat Sep 28 07:54:16 2013
  107.  
  108. Copyright (c) 1982, 2013, Oracle.  ALL rights reserved.
  109.  
  110. Connected.
  111.  
  112.     CON_ID SQL_ID        CHILD_NUMBER SQL_TEXT
  113. ---------- ------------- ------------ ----------------------------------------
  114.          3 gskp4gdzu8qkv            0 SELECT sal FROM emp WHERE ename = :ename
  115.  
  116. Connected.
  117.  
  118.     CON_ID SQL_ID        CHILD_NUMBER SQL_TEXT
  119. ---------- ------------- ------------ ----------------------------------------
  120.          4 gskp4gdzu8qkv            1 SELECT sal FROM emp WHERE ename = :ename
  121.  
  122. Connected.
  123.  
  124.     CON_ID SQL_ID        CHILD_NUMBER SQL_TEXT
  125. ---------- ------------- ------------ ----------------------------------------
  126.          3 gskp4gdzu8qkv            0 SELECT sal FROM emp WHERE ename = :ename
  127.          4 gskp4gdzu8qkv            1 SELECT sal FROM emp WHERE ename = :ename
  128.  
  129. /*
  130. HILO DBA sees only container HILO bind values.
  131. KONA DBA sees only container KONA bind values.
  132. ROOT DBA sees all bind variables.
  133. */
  134.  
  135. [oracle@waipio1 KILAUEA CURSOR]$ cat search.sqlbindcapture.SQL
  136. SET linesize 200
  137. SET trimspool ON
  138. COLUMN name format a30
  139. COLUMN value_string format a30
  140.  
  141. CONNECT sys/sys.n1te@hilo AS sysdba
  142.  
  143. SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
  144. FROM v$sql_bind_capture
  145. WHERE sql_id = '&&1';
  146.  
  147. CONNECT sys/sys.n1te@kona AS sysdba
  148.  
  149. SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
  150. FROM v$sql_bind_capture
  151. WHERE sql_id = '&&1';
  152.  
  153. CONNECT sys/sys.n1te@kilauea AS sysdba
  154.  
  155. SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
  156. FROM v$sql_bind_capture
  157. WHERE sql_id = '&&1';
  158.  
  159.  
  160. quit
  161. [oracle@waipio1 KILAUEA CURSOR]$ sqlplus /nolog @ search.sqlbindcapture.SQL gskp4gdzu8qkv
  162.  
  163. SQL*Plus: RELEASE 12.1.0.1.0 Production ON Sat Sep 28 08:03:05 2013
  164.  
  165. Copyright (c) 1982, 2013, Oracle.  ALL rights reserved.
  166.  
  167. Connected.
  168. old   3: WHERE sql_id = '&&1'
  169. NEW   3: WHERE sql_id = 'gskp4gdzu8qkv'
  170.  
  171.     CON_ID SQL_ID        CHILD_NUMBER NAME                             POSITION WAS VALUE_STRING
  172. ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
  173.          3 gskp4gdzu8qkv            0 :ENAME                                  1 YES KING
  174.  
  175. Connected.
  176. old   3: WHERE sql_id = '&&1'
  177. NEW   3: WHERE sql_id = 'gskp4gdzu8qkv'
  178.  
  179.     CON_ID SQL_ID        CHILD_NUMBER NAME                             POSITION WAS VALUE_STRING
  180. ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
  181.          4 gskp4gdzu8qkv            1 :ENAME                                  1 YES SMITH
  182.  
  183. Connected.
  184. old   3: WHERE sql_id = '&&1'
  185. NEW   3: WHERE sql_id = 'gskp4gdzu8qkv'
  186.  
  187.     CON_ID SQL_ID        CHILD_NUMBER NAME                             POSITION WAS VALUE_STRING
  188. ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
  189.          4 gskp4gdzu8qkv            1 :ENAME                                  1 YES SMITH
  190.          3 gskp4gdzu8qkv            0 :ENAME                                  1 YES KING
  191.  
  192. Disconnected FROM Oracle DATABASE 12c Enterprise Edition RELEASE 12.1.0.1.0 - 64bit Production
  193. WITH the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
  194. AND REAL Application Testing options
Advertisement
Add Comment
Please, Sign In to add comment