转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
日常用的sql列表(摘抄)         

日常用的sql列表(摘抄)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3696 更新时间:2007/11/14 12:58:52
.sid = s.sid and w.p1 = o.file_id and w.p2 >= o.block_id and w.p2 < o.block_id + o.blocks

--求当前事务的重做尺寸
select value
? from v$mystat, v$statname
?where v$mystat.statistic# = v$statname.statistic# and v$statname.name = ''''redo size'''';

--唤醒smon去清除临时段
column pid new_value Smon
set termout off
select p.pid from sys.v_$bgprocess b,sys.v_$process p where b.name = ''''SMON'''' and p.addr = b.paddr
/
set termout on
oradebug wakeup &Smon
undefine Smon

--求回退率
select b.value/(a.value + b.value),a.value,b.value from v$sysstat a,v$sysstat b
where a.statistic#=4 and b.statistic#=5;

--求DISK READ较多的SQL
select st.sql_text from v$sql s,v$sqltext st
where s.address=st.address and s.hash_value=st.hash_value and s.disk_reads > 300;

--求DISK SORT严重的SQL
select sess.username, sql.sql_text, sort1.blocks
? from v$session sess, v$sqlarea sql, v$sort_usage sort1
?where sess.serial# = sort1.session_num
?? and sort1.sqladdr = sql.address
?? and sort1.sqlhash = sql.hash_value? and sort1.blocks > 200;

--求对象的创建代码
column column_name format a36
column sql_text format a99
select dbms_metadata.get_ddl(''''TABLE'''',''''&1'''') from dual;
select dbms_metadata.get_ddl(''''INDEX'''',''''&1'''') from dual;

--求表的索引
set linesize 131
select a.index_name,a.column_name,b.status, b.index_type
from user_ind_columns a,user_indexes b
where a.index_name=b.index_name and a.table_name=''''&1'''';

求索引中行数较多的
select index_name,blevel,num_rows,CLUSTERING_FACTOR,status from user_indexes where num_rows > 10000 and blevel > 0
select table_name,index_name,blevel,num_rows,CLUSTERING_FACTOR,status from user_indexes where status <> ''''VALID''''

--求当前会话的SID,SERIAL#
select sid, serial# from v$session where audsid = SYS_CONTEXT(''''USERENV'''',''''SESSIONID'''');

--求表空间的未用空间
col mbytes format 9999.9999
select tablespace_name,sum(bytes)/1024/1024 mbytes from dba_free_space group by tablespace_name;

--求表中定义的触发器
select table_name,index_type,index_name,uniqueness from user_indexes where table_name=''''&1'''';
select trigger_name from user_triggers where table_name=''''&1'''';

--求未定义索引的表
select table_name from user_tables where table_name not in (select table_name from user_ind_columns);

--执行常用的过程
exec print_sql(''''select count(*) from tab'''');
exec show_space2(''''table_name'''');

--求free memory
select * from v$sgastat where name=''''free memory'''';
select a.name,sum(b.value) from v$statname a,v$sesstat b where a.statistic# = b.statistic# group by a.name;

查看一下谁在使用那个可以得回滚段,或者查看一下某个可以得用户在使用回滚段,
找出领回滚段不断增长的事务,再看看如何处理它,是否可以将它commit,再不行
就看看能否kill它,等等, 查看当前正在使用的回滚段的用户信息和回滚段信息:
set linesize 121
SELECT r.name "ROLLBACK SEGMENT NAME ",l.sid "ORACLE PID",p.spid "SYSTEM PID ",s.username "ORACLE USERNAME"
FROM v$lock l, v$process p, v$rollname r, v$session s
WHERE l.sid = p.pid(+) AND s.sid=l.sid AND TRUNC(l.id1(+)/65536) = r.usn AND l.type(+) = ''''TX'''' AND l.lmode(+) = 6 ORDER BY r.name;

--查看用户的回滚段的信息
select s.username, rn.name from v$session s, v$transaction t, v$rollstat r, v$rollname rn
where s.saddr = t.ses_addr and t.xidusn = r.usn and r.usn = rn.usn

--生成执行计划
explain plan set statement_id=''''a1'''' for &1;
--查看执行计划
select lpad('''' '''',2*(level-1))||operation operation,options,OBJECT_NAME,position from plan_table
start with id=0 and statement_id=''''a1'''' connect by prior id=parent_id and statement_id=''''a1''''

--查看内存中存的使用
select decode(greatest(class,10),10,decode(class,1,''''Data'''',2,''''Sort'''',4,''''Header'''',to_char(class)),''''Rollback'''') "Class",
sum(decode(bitand(flag,1),1,0,1)) "Not Dirty",sum(decode(bitand(flag,1),1,1,0)) "Dirty",
sum(dirty_queue) "On Dirty",count(*) "Total"
from x$bh group by decode(greatest(class,10),10,decode(class,1,''''Data'''',2,''''Sort'''',4,''''Header'''',to_char(class)),''''Rollback'''');

-- 查看表空间状态
?select tablespace_name,extent_management,segment_space_management from dba_tablespaces;
?select table_name,freelists,freelist_groups from user_tables;

--查看系统请求情况
SELECT DECODE (name, ''''summed dirty write queue length'''', value)/
DECODE (name, ''''write requests'''', value) "Write Request Length"
FROM v$sysstat WHERE name IN ( ''''summed dirty queue length'''', ''''write requests'''') and value>0;

--计算data buffer 命中率
select a.value + b.value "logical_reads", c.value "phys_reads",
round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO"
from v$sysstat a, v$sysstat b, v$sysstat c
where a.statistic# = 40 and b.statistic# = 41 and c.statistic# = 42;

SELECT name, (1-(physical_reads/(db_block_gets+consistent_gets)))*100 H_RATIO FROM v$buffer_pool_statistics;

--查看内存使用情况
select least(max(b.value)/(1024*1024),sum(a.bytes)/(1024*1024)) shared_pool_used,
max(b.value)/(1024*1024) shared_pool_size,greatest(max(b.value)/(1024*1024),sum(a.bytes)/(1024*1024))-
(sum(a.bytes)/(1024*1024)) shared_pool_avail,((sum(a.bytes)/(1024*1024))/(max(b.value)/(1024*1024)))*100 avail_pool_pct
from v$sgastat a, v$parameter b where (a.pool=''''shared pool'''' and a.name not in (''''free memory'''')) and b.name=''''shared_pool_size'''';

--查看用户使用内存情况
select username, sum(sharable_mem), sum(persistent_mem), sum(runtime_mem)
from sys.v_$sqlarea a, dba_users b
where a.parsing_user_id = b.user_id group by username;

--查看对象的缓存情况
select OWNER,NAMESPACE,TYPE,NAME,SHARABLE_MEM,LOADS,EXECUTIONS,LOCKS,PINS,KEPT
from v$db_object_cache where type not in (''''NOT LOADED'''',''''NON-EXISTENT'''',''''VIEW'''',''''TABLE'''',''''SEQUENCE'''')
and executions>0 and loads>1 and kept=''''NO'''' order by owner,namespace,type,executions desc;

select type,count(*) from v$db_object_cache group by type;

--查看库缓存命中率
select namespace,gets, gethitratio*100 gethitratio,pins,pinhitratio*100 pinhitratio,RELOADS,INVALIDATIONS from v$librarycache

--查看某些用户的hash
select a.username, count(b.hash_value) total_hash,count(b.hash_value)-count(unique(b.hash_value)) same_hash,
(count(unique(b.hash_value))/count(b.hash_value))*100 u_hash_ratio
from dba_users a, v$sqlarea b where a.user_id=b.parsing_user_id group by a.username;

--查看字典命中率
select (sum(getmisses)/sum(gets)) ratio from v$rowcache;

--查看undo段的使用情况
SELECT d.segment_name,extents,optsize,shrinks,aveshrink,aveactive,d.status
FROM v$rollname n,v$rollstat s,dba_rollback_segs d
WHERE d.segment_id=n.usn(+) and d.segment_id=s.usn(+);

--无效的对象
select owner,object_type,object_name from dba_objects where status=''''INVALID'''';
select constraint_name,table_name from dba_constraints where status=''''INVALID'''';

--求出某个进程,并对它进行跟踪
select s.sid,s.serial# from v$session s,v$process p where s.paddr=p.addr and p.spid=&1;
exec dbms_system.SET_SQL_TRACE_IN_SESSION(&1,&2,true);
exec dbms_system.SET_SQL_TRACE_IN_SESSION(&1,&2,false);

--求出锁定的对象
select do.object_name,session_id,process,locked_mode
from v$locked_object lo, dba_objects do where lo.object_id=do.object_id;

--求当前session的跟踪文件
SELECT p1.value || ''''/'''' || p2.value || ''''_ora_'''' || p.spid || ''''.ora'''' filename
? FROM v$process p, v$session s, v$parameter p1, v$parameter p2
?WHERE p1.name = ''''user_dump_dest'''' AND p2.name = ''''instance_name''''
?? AND p.addr = s.paddr AND s.audsid = USERENV(''''SESSIONID'''') AND p.background is null AND instr(p.program,''''CJQ'''') = 0;

--求对象所在的文件及块号
select segment_name,header_file,header_block
from dba_segments where segment_name like ''''&1'''';

--求对象发生事务时回退段及块号
select a.segment_name,a.header_file,a.header_block
from dba_

上一页  [1] [2] [3]  下一页


[办公软件]在sybase中插入图片、PDF、文本文件  [办公软件]安装Sybase ASE
[办公软件]linux指令大全(完整篇)  [办公软件]Linux新手入门常用命令大全
[办公软件]在RedHat Linux 9里安装gaim0.80  [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法
[办公软件]Linux程序员必读:中文化与GB18030标准  [办公软件]linux指令大全
[办公软件]制作Linux启动盘的四种方法  [办公软件]Linux文件系统的反删除方法
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台