| .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] 下一页 |