
正文
oracle查看用户的sql语句,oracle查看sql的sql_id
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle查看sql是哪个用户发出的
只包含DML与DDL语句,不能查询select语句。另外需要开启supplemental logging,默认是没有开启的。
SYS,SYSTEM用户下的一些DBA会用到的数据字典表,那些表名比较特别点,就是告诉你这是特殊的表可以不理会,具体是放什么内容的需要查相关手册的。查不到东西很正常,如果表里面没有数据的话。
相关问答
Q1: 如何查看oracle服务器上正在执行的SQL语句
在PL/SQL Developer中得到一个SQL的执行计划输入想要查看执行计划的目标SQL,再按一下快捷键F5就可以了。
直接File-New-Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows。
首先,你要以dba身份登陆数据库。第二,为某个用户开启sql跟踪。那个用户就是你要跟踪的、正在执行sql语句的那个用户。
用show processlist;这个能看到正在执行的sql语句,不过不是很全,比如很长的insert或者查询语句。
可能是表被锁了,可以杀死其它Session,也可以简单的重启数据库。
ORACLE的执行计划分为预估执行计划和实际执行计划。其中,你用Toad、PL/SQL Developer、SQL Developer、EXPLAIN PLAN FOR或者SET ATUOTRACE TRACEONLY等获取的执行计划都是预估的执行计划。
Q2: 怎么查看用户的SQL执行历史
对v$sqltext、v$sqlarea查看的是shared pool中的SQL,其时间索引是其解析历史,因为共享的问题这个查询可能并不能完整地反映出执行的历史。
在Oracle中,如果需要查看SQL执行历史,需要使用SQL跟踪功能。如果没有开启 SQL 跟踪功能,执行SQL的历史记录将无法被记录下来。
方法/步骤 首先先建一个查询的窗口中,选中数据库,点击新建查询。弹出了一个新建查询的窗口的界面中,输入需要执行的sql的语句。sql输入完成之后,选中需要的执行的sql的语句。然后进行点击菜单中的查询的按钮选项。
mysql 有这样一个机制,就是,在用户的主目录下会生成一个.mysql_history 的文件,这个文件会记录用户登录mysql后,在mysql中敲过的每条命令。cat ~/.mysql_history 即可以看到以前的命令历史。
关于oracle查看用户的sql语句和oracle查看sql的sql_id的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





