分享

常用sql

 168一路发 2011-01-05
DBA常用的视图:
 

1.示例:已知hash_value:3111103299,查询sql语句:  
select * from v$sqltext   
where hashvalue='3111103299' 
order by piece   
2.查看消耗资源最多的SQL:  
SELECT hash_value, executions, buffer_gets, disk_reads, parse_calls  
FROM V$SQLAREA  
WHERE buffer_gets > 10000000OR disk_reads > 1000000  
ORDERBY buffer_gets + 100 * disk_reads DESC;  
 
3.查看某条SQL语句的资源消耗:  
SELECT hash_value, buffer_gets, disk_reads, executions, parse_calls  
FROM V$SQLAREA  
WHERE hash_Value = 228801498AND address = hextoraw('CBD8E4B0');  
 
4.查询sql语句的动态执行计划:  
        首先使用下面的语句找到语句的在执行计划中的address和hash_code  
        SELECT sql_text, address, hash_value FROM v$sql t  
                where (sql_text like '%FUNCTION_T(表名大写!)%')  
        然后:  
        SELECT operation, options, object_name, cost FROM v$sql_plan  
                WHERE address = 'C00000016BD6D248' AND hash_value = 664376056;  
 
5.查询oracle的版本:  
select * from v$version;  
 
6.查询数据库的一些参数:  
select * from v$parameter  
 
7.查找你的session信息  
SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS  
FROM V$SESSION WHERE audsid = userenv('SESSIONID');  
 
8.当machine已知的情况下查找session  
SELECT SID, OSUSER, USERNAME, MACHINE, TERMINAL  
FROM V$SESSION  
WHERE terminal = 'pts/tl' AND machine = 'rgmdbs1';  
 
9.查找当前被某个指定session正在运行的sql语句。假设sessionID为100  
select b.sql_text   
from v$session a,v$sqlarea b   
where a.sql_hashvalue=b.hash_value and a.sid=100 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多