oracle 监控内存和硬盘的排序比率_最好使它小于 .10,监控数据库性能的SQL汇总转)...

本文介绍了多个Oracle数据库的性能监控和调整方法,包括SQL摘要、回滚段争用、表空间I/O比例、文件系统I/O、索引管理、SGA命中率、字典缓冲区命中率、共享缓存命中率、重做日志缓冲区命中率、排序比率、运行SQL查询的会话监控、内存与硬盘排序比率、MTS调度、碎片管理、存储分析以及字符集查询等关键指标和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

用于监视数据库性能,数据库性能,性能调整的SQL摘要

1.等待监视案例

选择事件,总和(解码(wait_Time,0,0,1))” Prev”,

sum(decode( wait_Time,0,1,0))” Curr”,计数(*)” Tot”

来自v $ session_Wait

按事件顺序按4分组;

2.回滚段的争用

选择名称,等待,获取,等待/获取”比率”

来自v $ rollstat a,v $ rollname b

其中a。 usn = b.usn;

3.监视表空间I/O比例

选择df.tablespace_name名称,df.file_name” file”,f.phyrds pyr,

f.phyblkrd pbr,f.phywrts pyw,f.phyblkwrt pbw

来自v $ filestat f,dba_data_files df

,其中f.file#= df.file_id

按df.tablespace_name排序;

4.监视文件系统的I/O比

选择substr(a.file#,1,2)”#”,substr(a.name,1,30)” Name”,

a.status,a.bytes ,b.phyrds,b.phywrts

来自v $ datafile a,v $ filestat b

其中a.file#= b.file#;

5.查找某个用户下的所有索引

选择user_indexes.table_name,user_indexes。 index_name,唯一性,column_name

来自user_ind_columns,user_indexes

其中user_ind_columns.index_name = user_indexes。 index_name

和user_ind_columns.table_name = user_indexes.table_name

按user_indexes.table_type,user_indexes的顺序.table_name,

user_indexe s.index_name,column_position;

6.监视SGA的命中率

选择一个。值+ b.value” logical_reads”,c.value” phys_reads”,

舍入(100 *((a.value + b.value)-c。值)/((a.value + b.value))”缓冲区命中率”

来自v $ sysstat a,v $ sysstat b,v $ sysstat c

其中a.statistic#= 38和b.statistic#= 39

和c.statistic#= 40;

7.监视SGA中字典缓冲区的命中率

选择参数,gets,Getmisses,getmisses/(gets + getmisses)* 100″未成年人比率”,

(1-(sum(get(getmisses)/(sum (gets)+ sum(getmisses))))* 100″命中率”

来自v $ rowcache

where gets + getmisss \ lt; \ gt ;; 0

按参数分组,gets,getmisses;

8。监视SGA中共享缓存的命中率,应小于1%

选择总和(引脚)” Total Pins”,总和(重新加载)” Total重新加载”,

总和(重新加载)/总和(引脚)* 100 libcache

从v $ librarycache;

选择总和(pinhits-reloads)/总和(pins)” hit radio”,总和(reload)/总和(pins)” reload percent”

来自v $ librarycache;

9.显示所有数据库对象的类别和大小

选择计数(名称) num_instances,类型,总和(source_size),source_size,

sum(parsed_size)parsed_size,sum(code_size)code_size,sum(error_size)error_size,

sum(source_size)+ sum(parsed_size)+ sum(code_size)+ sum(error_size)size_required

从dba_object_size

按类型分组,顺序为2;

10.监视SGA中重做日志缓冲区的命中率,该命中率应小于1%

SELECT名称,gets,misss,instant_gets,instant_misses,

解码(gets,0,0,misses/gets * 100)ratio1,

解码(immediate_gets + Instant_misses,0,0,

Instant_misses/(immediate_gets + Instant_misses )* 100)ratio2

FROM v $闩锁WHERE name IN(”重做分配”,”重做复制”);

11.监视内存和硬盘的排序比率,最好使其小于.10,增加sort_area_size

选择名称,值FROM v $ sysstat WHERE名称IN(” sorts(内存)”,” sorts(磁盘)”);

12.监视谁在当前数据库中运行什么SQL语句

SELECT osuser,用户名,来自v $会话a的sql_text,来自v $ sqltext b的

其中a.sql_address = b.address的顺序为添加地址,段;

13.监视词典缓冲区

SELECT(SUM(PINS-RELOADS))/SUM (PINS)V $ LIBRARYCACHE中的” LIB CACHE”;

SELECT(总和(GETS-GETMISSES-USAGE-FIXED))/总和(GETS)来自V $ ROWCACHE的” ROW CACHE”;

从V $ LIBRARYCACHE中选择总和(销)” EXECUTIONS”,总和(重新加载)”执行时缓存丢失”;

除前者外,后者小于1%,最好接近0%。

14.查找ORACLE字符集

从sys.props $选择*,其中名称=” NLS_CHARACTERSET”;

15.监视MTS

选择忙/(忙+闲)”共享服务器忙来自v $调度员;

当此值大于0.5时,需要增加参数

选择sum (wait)/sum(totalq)”调度程序从v $队列等待,其中类型为=” dispatcher”;

从v $ dispatcher中选择count(*);

从v $ mts中选择servers_highwater;

接近于mts_max_servers的servers_highwater,需要增加参数

16.碎片

选择表空间名称,按表空间名称从dba_free_space组中计数(tablespace_name)

计数(tablespace_name)\\ gt ;; 10;

alter tablespace name colesce;

alter table name取消分配未使用的;

创建或替换视图ts_blocks_v为

选择tablespace_name,block_id,字节,块, dba_free_space中的可用空间” segment_name

合并所有

选择tablespace_name,block_id,字节,块,来自dba_extents的segment_name;

从ts_blocks_v选择*;

从dba_free_space中选择表空间名称,总和(字节),最大(字节),计数(block_id)

按tablespace_name分组;

查看具有高度碎片化的表

SELECT segment_name table_name,COUNT(*)范围

来自dba_segments所有者不在的所有者(” SYS”,” SYSTEM”)GROUP BY segment_name

拥有COUNT(*)=(从dba_segments GROUP BY segment_name中选择最大(COUNT(*))个);

17.检查表和索引的存储

选择segment_name,总和(字节) ,从dba_extents中计数(*)ext_quan,其中

tablespace_name =” \ tablespace_name”和segment_type =” TABLE”按表空间名称,段名称分组;

选择segment_name,从dba_extents中计数(*),其中segment_type =” INDEX”并且owner =” \ owner”

按segment_name分组;

18.查找具有多个CPU的用户会话

选择.sid,spid,状态,substr(a.program,1,40)prog,a.terminal,osuser,value/60/100 value

来自v $会话a,v $进程b,v $ sesstat c

其中c.statistic#= 12且c.sid = a.sid和a.paddr = b.addr按值排序描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值