Oracle监控Sql脚本

来源:互联网 发布:南阳理工学院网络 编辑:程序博客网 时间:2024/05/19 23:23

spool d:/10-10.log
Prompt    192.168.10.10 WCM03 分析         
Prompt    分析时间
SELECT    SYSDATE        FROM DUAL;
Prompt  数据库实例
SELECT    NAME        FROM V$DATABASE;
Prompt 检查数据文件的状态记录状态不是"online"的数据文件
Select             file_name
from             dba_data_files
where             status='OFFLINE';
Prompt 检查表空间的使用情况 如果表空间使用超过80%,添加新的数据文件或者加大数据文件的大小
SELECT             tablespace_name,
            to_char(100*sum_free_m/sum_m, '99.99') || '%' AS pct_free,
             max_m,
            count_blocks free_blk_cnt,
              sum_free_m             
FROM             ( SELECT         tablespace_name,
                        sum(bytes)/1024/1024 AS sum_m
            FROM             dba_data_files
            GROUP BY         tablespace_name), 
            (SELECT         tablespace_name AS fs_ts_name,
                         max(bytes)/1024/1024 AS max_m,
                         count(blocks) AS count_blocks,
                         sum(bytes/1024/1024) AS sum_free_m
             FROM             dba_free_space
             GROUP BY         tablespace_name ) 
WHERE             tablespace_name = fs_ts_name;
Prompt 统计数据库的剩余的使用空间
SELECT             tablespace_name,
            trunc ( sum (bytes ) /  (1024*1024) ) as free_m,
            sum ( blocks ) as free_blk ,            
            max ( bytes ) / (1024) as big_chunk_k,
                 count (*) as num_chunks 
FROM             dba_free_space
GROUP BY         tablespace_name ;
Prompt 检查无效的数据库对象
SELECT             owner||'    '||object_name||'    '||object_type
FROM             dba_objects 
WHERE             status='INVALID';
Prompt 检查不起作用的约束
SELECT             owner||'    '||constraint_name||'    '||table_name||'    '||constraint_type||'    '||status 
FROM             dba_constraints 
WHERE             status = 'DISABLED'
AND             constraint_type = 'P';
Prompt 检查无效的trigger
SELECT             owner||'    '||trigger_name||'    '||table_name||'    '|| status 
FROM             dba_triggers 
WHERE             status = 'DISABLED';
Prompt 自由范围的碎片
column FSFI format 999,99
select             tablespace_name,
            sqrt(max(blocks)/sum(blocks))*(100/sqrt(sqrt(count(blocks)))) FSFI
from             dba_free_space
group by         tablespace_name
order by         1;
Prompt 数据缓冲命中率
SELECT             a.VALUE + b.VALUE logical_reads, 
            c.VALUE phys_reads, 
                    round(100*(1-c.value/(a.value+b.value)),4) hit_ratio 
FROM             v$sysstat a,
            v$sysstat b,
            v$sysstat c 
WHERE             a.NAME='db block gets' 
AND             b.NAME='consistent gets' 
AND             c.NAME='physical reads' ;
Prompt  语句的重载率
SELECT             SUM(pins) total_pins,
            SUM(reloads) total_reloads, 
                    SUM(reloads)/SUM(pins)*100 libcache_reload_ratio 
FROM              v$librarycache;  
Prompt 用户锁状态
SELECT /*+ rule */         s.username, 
                decode(l.type,'TM','TABLE LOCK', 'TX','ROW LOCK',NULL) LOCK_LEVEL, 
                        o.owner,
                        o.object_name,
                        o.object_type, 
                        s.sid,
                        s.serial#,
                        s.terminal,
                        s.machine,
                        s.program,
                        s.osuser 
FROM                 v$session s,
                v$lock l,
                dba_objects o 
WHERE                 l.sid = s.sid 
AND                 l.id1 = o.object_id(+) 
AND                 s.username is NOT NULL  ;
Prompt 数据字典高速缓存
SELECT                 (1-(SUM(getmisses)/(SUM(gets)+SUM(getmisses))))*100
FROM                 v$rowcache;

Prompt 物理文件的使用频率
SELECT                 name||'    '||phyrds||'/'||phywrts
FROM                  v$datafile df,
                v$filestat fs
WHERE                 df.file# =fs.file#;
Prompt 调度进程的竞争
SELECT                 network,
                sum(busy)/sum(busy)+sum(idle)
FROM                 v$dispatcher
GROUP BY             network; 
Prompt 减少Free List竞争
SELECT                 class,
                count
FROM                 v$waitstat
WHERE                 class='free list'; 
SELECT                 sum(value)
FROM                 v$sysstat
WHERE                 name     IN ('db block gets','consistent gets');
spool off







原创粉丝点击