您的位置:首页 > 数据库 > SQL

Oracle监控Sql脚本

2009-07-15 18:23 393 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: