Show a current Oracle SQL statements performed

Oracle Database Administration
Post Reply
User avatar
jimb
Site Admin
Posts: 6146
Joined: Thu Jan 19, 2012 1:10 pm
Location: New Delhi, India
Contact:

Show a current Oracle SQL statements performed

Post by jimb »

To check the current Oracle SQL statements performed by a certain session, use the below query to filter SID.
This script reports SQL TEXT from v$sqltext.

undefine vst2_sid
clear col bre comp
select st.sql_text
from v$process p, v$session s, v$sqltext st
where sid=&&vst2_sid
and addr=paddr
and st.address=decode(sql_address, '00', prev_sql_addr, sql_address)
order by piece
/


Sample Output:

Code: Select all

SQL> undefine vst2_sid
clear col bre comp
select st.sql_text
from v$process p, v$session s, v$sqltext st
where sid=&&vst2_sid
and addr=paddr
and st.address=decode(sql_address, '00', prev_sql_addr, sql_address)
order by piece
/
SQL> columns cleared
breaks cleared
computes cleared
SQL>   2    3    4    5    6    7  Enter value for vst2_sid: 159
old   3: where sid=&&vst2_sid
new   3: where sid=159

SQL_TEXT
----------------------------------------------------------------
select st.sql_text from v$process p, v$session s, v$sqltext st w
here sid=159 and addr=paddr and st.address=decode(sql_address, '
00', prev_sql_addr, sql_address) order by piece

SQL>
-----------------------------------
To check the current Oracle SQL statements performed by a certain session, use the below query to filter Username:

select sql_text
from v$sqlarea
where (address, hash_value) in
(select sql_address, sql_hash_value
from v$session
where username like '&username')
/



Sample Output:

Code: Select all

SQL> select sql_text
from   v$sqlarea
where  (address, hash_value) in
(select sql_address, sql_hash_value
        from v$session
        where username like '&username')
/
  2    3    4    5    6    7  Enter value for username: SYS
old   6:         where username like '&username')
new   6:         where username like 'SYS')

SQL_TEXT
--------------------------------------------------------------------------------
select sql_text from   v$sqlarea where  (address, hash_value) in (select sql_add
ress, sql_hash_value         from v$session         where username like 'SYS')
Oracle Database Administration Forums
http://www.oracle-forums.com/
User avatar
jimb
Site Admin
Posts: 6146
Joined: Thu Jan 19, 2012 1:10 pm
Location: New Delhi, India
Contact:

Re: Show a current Oracle SQL statements performed

Post by jimb »

You can also use the following.

First search for the SID.

set lines 250
set pages 9999
col sid_serial# for a11
col "Username" for a12
col "Program" for a35
col "OS_User" for a12
col "Machine" for a21
col server_pid for a10
SELECT s.sid || ',' || s.serial# sid_serial#,
p.spid server_pid,
s.username "Username",
s.program "Program",
TO_CHAR (logon_time, 'DD/MM/YYYY HH24:MI:SS') "Logon Time",
s.server,
s.status,
s.osuser "OS_User",
s.machine "Machine"
FROM v$session s, v$process p
WHERE p.addr = s.paddr
--AND s.username LIKE '%SYSTEM%'
--AND s.status = 'ACTIVE'
ORDER BY logon_time DESC;


Then get Current SQL (by SID):

set linesize 500
SET PAGESIZE 500
PROMPT=============================================================
PROMPT Current SQL statement this session executes by SID
PROMPT=============================================================
col sql_text for a70 hea "Current SQL"
SELECT q.sql_text
FROM v$session s,
v$sql q
WHERE s.sql_address = q.address
AND s.sql_hash_value + DECODE (SIGN(s.sql_hash_value), -1, POWER( 2, 32), 0) = q.hash_value
AND s.sid = &SID
/


-OR-

SET pagesize 50000
PROMPT=============================================================
PROMPT Current SQL statement this session executes by Process ID
PROMPT=============================================================
SET linesize 30000
SET LONG 500000
SET head OFF
SELECT s.username su,
SUBSTR(sa.sql_text,1,540) txt
FROM v$process p,
v$session s,
v$sqlarea sa
WHERE p.addr =s.paddr
AND s.username IS NOT NULL
AND s.sql_address =sa.address(+)
AND s.sql_hash_value=sa.hash_value(+)
AND spid =
&SPID
/
xaeresis
Posts: 196117
Joined: Wed Oct 04, 2023 2:39 pm

Re: Show a current Oracle SQL statements performed

Post by xaeresis »

сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтtuchkasсайтсайт
Post Reply