How can I see the last SQL statement executed in Oracle database 11g r2?

我只是一个虾纸丫 提交于 2019-12-07 03:35:48

问题


I am new to oracle database.

Can someone give me an example of the steps for how to see the last statements executed on the Oracle database 11g r2?


回答1:


You can use the below query to get the last sql executed based on last sql which was active in database

select ltrim(sq.sql_text)
  from v$sql sq, v$session se, v$open_cursor oc
 where sq.sql_id = oc.sql_id
   and se.saddr = oc.saddr
   and se.sid = oc.sid
   and se.audsid = SYS_CONTEXT('userenv', 'sessionid')
 order by oc.LAST_SQL_ACTIVE_TIME desc;



回答2:


Find all sql where sql is like ....

select h.sample_time
, u.username
, h.machine
, s.sql_text
, h.*
from dba_hist_active_sess_history h
inner join v$sql s
on s.sql_id = h.sql_id
left outer join dba_users u
on u.user_id = h.user_id
where s.sql_text like 'DELETE%'
order by h.sample_time desc;

You need to be connected as sysdba user for this sql




回答3:


You can use the below query:

SELECT program_id, program_line#, sql_text
FROM V$SQL VS , ALL_USERS AU
WHERE (executions >= 1)
AND (parsing_user_id != 0)
AND (AU.user_id(+) = VS.parsing_user_id)
AND UPPER(AU.USERNAME)  IN (UPPER('YourUser'))
ORDER BY last_active_time DESC;

if you need to know the statements of an PL/SQL object were executed then use or join with

select *
    from   dba_objects
    where object_id = program_id



回答4:


A couple of hints:

  • In SQLplus, type a semicolon+ to see, and slash to execute again
  • In SQLdeveloper, use F8
  • If you mean see other users' statements then it's not possible by default.
    • You can configure AUDIT.
    • You can see some SQL statements in SELECT * FROM V$SQLAREA;



回答5:


Connect as SYS user and execute the following query

select sql_text from v$sql where first_load_time=(select max(first_load_time) from v$sql) ;


来源:https://stackoverflow.com/questions/25205234/how-can-i-see-the-last-sql-statement-executed-in-oracle-database-11g-r2

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!