oracle如何查看负载,oracle数据库负载

如何查看服务器当前的负载信息

方法一:

创新互联致力于网站设计制作、成都网站制作,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联,就选择了安全、稳定、美观的网站建设服务!

通过top命令来查看服务器负载

再对此Linux服务器性能分析之前,先了解下Linux系统Load average负载的知识,负载均值在 uptime 或者top 命令中可以看到,

方法二:输入 iostat -x -k -t

说明:%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。

即 delta(use)/s/1000 (因为use的单位为毫秒)

如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

方法三:

如果玩游戏很卡,可以用hdparm –t /dev/磁盘名称来测试磁盘性能是否达标,下图是单个希捷1T的盘测试的结果

说明:sd表示硬盘是SATA,SCSI或者SAS,a表示串口的第一块硬盘

oracle怎样判断某一时间点数据库负载高

用to_char函数即可。

如emp表中数据如下:

要查询hiredate的日期为1981年1月1日到1981年5月1日之间的数据,可用如下语句:

1

select * from emp where to_char(hiredate,'yyyy-mm-dd') between '1981-01-01' and '1981-05-01';

查询结果:

如何获取Oracle的当前负载情况

获取Oracle的当前负载情况:

查询sql语句如下:

SELECT *

FROM ( SELECT A.INSTANCE_NUMBER,

A.SNAP_ID,

B.BEGIN_INTERVAL_TIME + 0 BEGIN_TIME,

B.END_INTERVAL_TIME + 0 END_TIME,

ROUND(VALUE - LAG( VALUE, 1 , '0')

OVER(ORDER BY A.INSTANCE_NUMBER, A.SNAP_ID)) "DB TIME"

FROM (SELECT B.SNAP_ID,

INSTANCE_NUMBER,

SUM(VALUE ) / 1000000 / 60 VALUE

FROM DBA_HIST_SYS_TIME_MODEL B

WHERE B.DBID = (SELECT DBID FROM V$DATABASE)

AND UPPER (B.STAT_NAME) IN UPPER(('DB TIME' ))

GROUP BY B.SNAP_ID, INSTANCE_NUMBER) A,

DBA_HIST_SNAPSHOT B

WHERE A.SNAP_ID = B.SNAP_ID

AND B.DBID = (SELECT DBID FROM V$DATABASE)

AND B.INSTANCE_NUMBER = A.INSTANCE_NUMBER)

WHERE TO_CHAR(BEGIN_TIME, 'YYYY-MM-DD') = TO_CHAR(SYSDATE , 'YYYY-MM-DD')

ORDER BY BEGIN_TIME;

SQL 结果:

查看系统负载情况

1、如何判断系统是否已经Over Load?

根据cpu数量去判断。如果平均负载始终在1.2一下,而你有2颗cup的机器。那么基本不会出现cpu不够用的情况。

也就是Load平均要小于Cpu的数量。

2、查看系统负载vmstat

procs

r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。

b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。

cpu 表示cpu的使用状态

us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。

sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。

wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。

id 列显示了cpu处在空闲状态的时间百分比

system 显示采集间隔内发生的中断数

in 列表示在某一时间间隔中观测到的每秒设备中断数。

cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。

memory

swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常

free 当前的空闲页面列表中内存数量(k表示)

buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。

cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。

swap

si 由内存进入内存交换区数量。

so由内存交换区进入内存数量。

IO

bi 从块设备读入数据的总量(读磁盘)(每秒kb)。

bo 块设备写入数据的总量(写磁盘)(每秒kb)

这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

3、 cat /proc/loadavg (uptime、w、top)

0.18 0.09 0.11 1/396 31537

除了前3个数字表示平均进程数量外,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID.

grep 'model name' /proc/cpuinfo | wc -l (CPU数)

取得CPU核心数目N,观察后面2个数字(五分钟,15分钟的负载数字),用数字/N,如果得到的值小于0.7即可无忧


当前文章:oracle如何查看负载,oracle数据库负载
文章来源:http://hbruida.cn/article/dsgsgpc.html