Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [oracle@waipio1 KILAUEA CURSOR]$ cat cross.container.CURSOR.SQL
- CONNECT sys/sys.n1te@kilauea AS sysdba
- ALTER SYSTEM flush shared_pool;
- CONNECT scott/tiger@hilo
- SET linesize 200
- SET trimspool ON
- COLUMN name format a30
- COLUMN value_string format a30
- variable ename VARCHAR2(10)
- variable prev_sql_id VARCHAR2(13)
- variable prev_child_number NUMBER
- EXEC :ename := 'KING'
- SELECT sal FROM emp WHERE ename = :ename;
- 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)
- SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
- FROM v$sql_bind_capture
- WHERE sql_id = :prev_sql_id
- AND child_number = :prev_child_number;
- CONNECT scott/tiger@kona
- variable ename VARCHAR2(10)
- variable prev_sql_id VARCHAR2(13)
- variable prev_child_number NUMBER
- EXEC :ename := 'SMITH'
- SELECT sal FROM emp WHERE ename = :ename;
- 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)
- SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
- FROM v$sql_bind_capture
- WHERE sql_id = :prev_sql_id
- AND child_number = :prev_child_number;
- quit
- [oracle@waipio1 KILAUEA CURSOR]$ sqlplus /nolog @ cross.container.CURSOR.SQL
- SQL*Plus: RELEASE 12.1.0.1.0 Production ON Sat Sep 28 07:46:25 2013
- Copyright (c) 1982, 2013, Oracle. ALL rights reserved.
- Connected.
- SYSTEM altered.
- Connected.
- PL/SQL PROCEDURE successfully completed.
- SAL
- ----------
- 5000
- PL/SQL PROCEDURE successfully completed.
- CON_ID SQL_ID CHILD_NUMBER NAME POSITION WAS VALUE_STRING
- ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
- 3 gskp4gdzu8qkv 0 :ENAME 1 YES KING
- Connected.
- PL/SQL PROCEDURE successfully completed.
- SAL
- ----------
- 800
- PL/SQL PROCEDURE successfully completed.
- CON_ID SQL_ID CHILD_NUMBER NAME POSITION WAS VALUE_STRING
- ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
- 4 gskp4gdzu8qkv 1 :ENAME 1 YES SMITH
- Disconnected FROM Oracle DATABASE 12c Enterprise Edition RELEASE 12.1.0.1.0 - 64bit Production
- WITH the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
- AND REAL Application Testing options
- /*
- KONA user searches v$sql for "sal". Only finds sql from kona.
- Because child_number is 1, KONA user may infer that child 0 ran in another container, or was invalidated in his own.
- */
- [oracle@waipio1 KILAUEA CURSOR]$ cat search.sqltext.SQL
- SET linesize 200
- COLUMN sql_text format a40
- CONNECT scott/tiger@hilo
- SELECT con_id, sql_id, child_number, sql_text FROM v$sql WHERE sql_text LIKE 'select sal from emp where ename%';
- CONNECT scott/tiger@kona
- SELECT con_id, sql_id, child_number, sql_text FROM v$sql WHERE sql_text LIKE 'select sal from emp where ename%';
- CONNECT sys/sys.n1te@kilauea AS sysdba
- SELECT con_id, sql_id, child_number, sql_text FROM v$sql WHERE sql_text LIKE 'select sal from emp where ename%';
- quit
- [oracle@waipio1 KILAUEA CURSOR]$ sqlplus /nolog @ search.sqltext.SQL
- SQL*Plus: RELEASE 12.1.0.1.0 Production ON Sat Sep 28 07:54:16 2013
- Copyright (c) 1982, 2013, Oracle. ALL rights reserved.
- Connected.
- CON_ID SQL_ID CHILD_NUMBER SQL_TEXT
- ---------- ------------- ------------ ----------------------------------------
- 3 gskp4gdzu8qkv 0 SELECT sal FROM emp WHERE ename = :ename
- Connected.
- CON_ID SQL_ID CHILD_NUMBER SQL_TEXT
- ---------- ------------- ------------ ----------------------------------------
- 4 gskp4gdzu8qkv 1 SELECT sal FROM emp WHERE ename = :ename
- Connected.
- CON_ID SQL_ID CHILD_NUMBER SQL_TEXT
- ---------- ------------- ------------ ----------------------------------------
- 3 gskp4gdzu8qkv 0 SELECT sal FROM emp WHERE ename = :ename
- 4 gskp4gdzu8qkv 1 SELECT sal FROM emp WHERE ename = :ename
- /*
- HILO DBA sees only container HILO bind values.
- KONA DBA sees only container KONA bind values.
- ROOT DBA sees all bind variables.
- */
- [oracle@waipio1 KILAUEA CURSOR]$ cat search.sqlbindcapture.SQL
- SET linesize 200
- SET trimspool ON
- COLUMN name format a30
- COLUMN value_string format a30
- CONNECT sys/sys.n1te@hilo AS sysdba
- SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
- FROM v$sql_bind_capture
- WHERE sql_id = '&&1';
- CONNECT sys/sys.n1te@kona AS sysdba
- SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
- FROM v$sql_bind_capture
- WHERE sql_id = '&&1';
- CONNECT sys/sys.n1te@kilauea AS sysdba
- SELECT con_id, sql_id, child_number, name, position, was_captured, value_string
- FROM v$sql_bind_capture
- WHERE sql_id = '&&1';
- quit
- [oracle@waipio1 KILAUEA CURSOR]$ sqlplus /nolog @ search.sqlbindcapture.SQL gskp4gdzu8qkv
- SQL*Plus: RELEASE 12.1.0.1.0 Production ON Sat Sep 28 08:03:05 2013
- Copyright (c) 1982, 2013, Oracle. ALL rights reserved.
- Connected.
- old 3: WHERE sql_id = '&&1'
- NEW 3: WHERE sql_id = 'gskp4gdzu8qkv'
- CON_ID SQL_ID CHILD_NUMBER NAME POSITION WAS VALUE_STRING
- ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
- 3 gskp4gdzu8qkv 0 :ENAME 1 YES KING
- Connected.
- old 3: WHERE sql_id = '&&1'
- NEW 3: WHERE sql_id = 'gskp4gdzu8qkv'
- CON_ID SQL_ID CHILD_NUMBER NAME POSITION WAS VALUE_STRING
- ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
- 4 gskp4gdzu8qkv 1 :ENAME 1 YES SMITH
- Connected.
- old 3: WHERE sql_id = '&&1'
- NEW 3: WHERE sql_id = 'gskp4gdzu8qkv'
- CON_ID SQL_ID CHILD_NUMBER NAME POSITION WAS VALUE_STRING
- ---------- ------------- ------------ ------------------------------ ---------- --- ------------------------------
- 4 gskp4gdzu8qkv 1 :ENAME 1 YES SMITH
- 3 gskp4gdzu8qkv 0 :ENAME 1 YES KING
- Disconnected FROM Oracle DATABASE 12c Enterprise Edition RELEASE 12.1.0.1.0 - 64bit Production
- WITH the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
- AND REAL Application Testing options
Advertisement
Add Comment
Please, Sign In to add comment