每日数据库监控

每日数据库监控
每日数据库监控

4. 方案细则

现阶段公司处于发展之中,现在数据库多以单机模式,但是目前生产库是属于集群模式,所以对于数据库的健康健康大致分为两个部分,一个是对于集群的健康监控,一个是对于数据库的性能状态监控。随着公司业务的不断发展及扩大,数据库的规模也会相应的增加,所以以集群模式出现的数据库在以后的环境中会有很多,在此加入了对于数据库集群的健康检查。

4.1 集群健康状态监控检查

4.1.1 查看各资源状态

(nodeapps节点应用程序,ASM实例,数据库实例等):

[root@node1 ~]# su - grid

[grid@ node1~]$ crs_stat -t -v (命令兼容10g)

Name Type R/RA F/FT Target State Host

----------------------------------------------------------------------

ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE node1

ora.FLASH.dg ora....up.type 0/5 0/ ONLINE ONLINE node1

ora.GRIDDG.dg ora....up.type 0/5 0/ ONLINE ONLINE node1

ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE node1

ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE node2

ora....N2.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE node2

ora....N3.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE node2

ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE node1

ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE node2

ora.devdb.db ora....se.type 0/2 0/1 ONLINE ONLINE node1

ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE

https://www.360docs.net/doc/8b5268963.html,work ora....rk.type 1/5 0/ ONLINE ONLINE node1

ora....SM1.asm application 0/5 0/0 ONLINE ONLINE node1

ora....E1.lsnr application 0/5 0/0 ONLINE ONLINE node1

ora.node1.gsd application 0/5 0/0 OFFLINE OFFLINE

ora.node1.ons application 0/3 0/0 ONLINE ONLINE node1

ora.node1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE node1

ora....SM2.asm application 0/5 0/0 ONLINE ONLINE node2

ora....E2.lsnr application 0/5 0/0 ONLINE ONLINE node2

ora.node2.gsd application 0/5 0/0 OFFLINE OFFLINE

ora.node2.ons application 0/3 0/0 ONLINE ONLINE node2

ora.node2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE node2

ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE node2

ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE node1

ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE node2

ora.scan2.vip ora....ip.type 0/0 0/0 ONLINE ONLINE node2

ora.scan3.vip ora....ip.type 0/0 0/0 ONLINE ONLINE node2

[grid@node1 ~]$

在11g R2中,默认oc4j和gsd资源是disable 的;gsd 是CRS 用于跟9i RAC 进行通信的一个模块,是为了向后兼容才保留的,不影响性能;建议不要刪除, 也不要尝试开启他们, 忽略即可。

4.1.2 11g RAC 常用的命令

crsctl stat resource -t .

[root@ node1 u01]# su - grid

[grid@ node1 ~]$ crsctl stat resource –t

[grid@node1 ~]$ crsctl stat resource -t

--------------------------------------------------------------------------------

NAME TARGET STATE SERVER STATE_DETAILS

--------------------------------------------------------------------------------

Local Resources

--------------------------------------------------------------------------------

ora.DATA.dg

ONLINE ONLINE node1

ONLINE ONLINE node2

ora.FLASH.dg

ONLINE ONLINE node1

ONLINE ONLINE node2

ora.GRIDDG.dg

ONLINE ONLINE node1

ONLINE ONLINE node2

ora.LISTENER.lsnr

ONLINE ONLINE node1

ONLINE ONLINE node2

ora.asm

ONLINE ONLINE node1 Started

ONLINE ONLINE node2 Started

ora.gsd

OFFLINE OFFLINE node1

OFFLINE OFFLINE node2

https://www.360docs.net/doc/8b5268963.html,work

ONLINE ONLINE node1

ONLINE ONLINE node2

ora.ons

ONLINE ONLINE node1

ONLINE ONLINE node2

--------------------------------------------------------------------------------

Cluster Resources

--------------------------------------------------------------------------------

ora.LISTENER_SCAN1.lsnr

1 ONLINE ONLINE node2

ora.LISTENER_SCAN2.lsnr

1 ONLINE ONLINE node2

ora.LISTENER_SCAN3.lsnr

1 ONLINE ONLINE node2

ora.cvu

1 ONLINE ONLINE node2

ora.devdb.db

1 ONLINE ONLINE node1 Open

2 ONLINE ONLINE node2 Open ora.node1.vip

1 ONLINE ONLINE node1

ora.node2.vip

1 ONLINE ONLINE node2

ora.oc4j

1 ONLINE ONLINE node2

ora.scan1.vip

1 ONLINE ONLINE node2

ora.scan2.vip

1 ONLINE ONLINE node2

ora.scan3.vip

1 ONLINE ONLINE node2

[grid@node1 ~]$

如果后面不带-t , 那么可以看到相对详细的资源信息。

[grid@rac01 ~]$ crsctl stat resource

[grid@node1 ~]$ crsctl stat resource

NAME=ora.DATA.dg

TYPE=ora.diskgroup.type

TARGET=ONLINE , ONLINE

STATE=ONLINE on node1, ONLINE on node2

NAME=ora.FLASH.dg

TYPE=ora.diskgroup.type

TARGET=ONLINE , ONLINE

STATE=ONLINE on node1, ONLINE on node2

NAME=ora.GRIDDG.dg

TYPE=ora.diskgroup.type

TARGET=ONLINE , ONLINE

STATE=ONLINE on node1, ONLINE on node2

NAME=ora.LISTENER.lsnr

TYPE=ora.listener.type

TARGET=ONLINE , ONLINE STATE=ONLINE on node1, ONLINE on node2

NAME=ora.LISTENER_SCAN1.lsnr

TYPE=ora.scan_listener.type

TARGET=ONLINE

STATE=ONLINE on node2

NAME=ora.LISTENER_SCAN2.lsnr

TYPE=ora.scan_listener.type

TARGET=ONLINE

STATE=ONLINE on node2

NAME=ora.LISTENER_SCAN3.lsnr

TYPE=ora.scan_listener.type

TARGET=ONLINE

STATE=ONLINE on node2

NAME=ora.asm

TYPE=ora.asm.type

TARGET=ONLINE , ONLINE STATE=ONLINE on node1, ONLINE on node2

NAME=ora.cvu

TYPE=ora.cvu.type

TARGET=ONLINE

STATE=ONLINE on node2

NAME=ora.devdb.db

TYPE=ora.database.type

TARGET=ONLINE , ONLINE STATE=ONLINE on node1, ONLINE on node2

NAME=ora.gsd

TYPE=ora.gsd.type

TARGET=OFFLINE, OFFLINE

STATE=OFFLINE, OFFLINE

NAME=https://www.360docs.net/doc/8b5268963.html,work

TYPE=https://www.360docs.net/doc/8b5268963.html,work.type

TARGET=ONLINE , ONLINE

STATE=ONLINE on node1, ONLINE on node2

NAME=ora.node1.vip

TYPE=ora.cluster_vip_net1.type TARGET=ONLINE

STATE=ONLINE on node1

NAME=ora.node2.vip

TYPE=ora.cluster_vip_net1.type TARGET=ONLINE

STATE=ONLINE on node2

NAME=ora.oc4j

TYPE=ora.oc4j.type

TARGET=ONLINE

STATE=ONLINE on node2

NAME=ora.ons

TYPE=ora.ons.type

TARGET=ONLINE , ONLINE STATE=ONLINE on node1, ONLINE on node2

NAME=ora.scan1.vip

TYPE=ora.scan_vip.type

TARGET=ONLINE

STATE=ONLINE on node2

NAME=ora.scan2.vip

TYPE=ora.scan_vip.type

TARGET=ONLINE

STATE=ONLINE on node2

NAME=ora.scan3.vip

TYPE=ora.scan_vip.type

TARGET=ONLINE

STATE=ONLINE on node2

[grid@node1 ~]$

4.1.3 检查cluster运行状态

需要在grid 用户下执行这些命令。

[root@node1 ~]# su - grid

检查Oracle Clusterware 是否在线

[grid@node1 ~]$ crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

4.2 数据库健康状况及性能检查

检查Oracle 数据库性能情况,包含:检查数据库的等待事件,检查死锁及处理,检查cpu、I/O、内存性能,查看是否有僵死进程,检查行链接/迁移,定期做统计分析,检查缓冲区命中率,检查共享池命中率,检查排序区,检查日志缓冲区,总共十几个部分。

4.2.1 数据库级检查

4.2.1.1检查Oracle实例状态

col INSTANCE_NAME for a13

col HOST_NAME for a20

col STARTUP_TIME for a20

col STATUS for a5

col DATABASE_STATUS for a15

select instance_name,host_name,startup_time,status,database_status from gv$instance;

INSTANCE_NAME HOST_NAME STARTUP_TIME STATU DATABASE_STATUS

------------- -------------------- -------------------- ----- --------------- devdb2 node2.localdomain 2013/06/27 22:40:43 OPEN ACTIVE

devdb1 node1.localdomain 2013/06/27 22:40:19 OPEN ACTIVE

Elapsed: 00:00:00.02

SQL>

其中“STATUS”表示Oracle 当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”

表示Oracle 当前数据库的状态,必须为“ACTIVE”。

4.2.1.2检查Oracle数据库状态

SQL> col INST_ID for 99999

SQL> col DBID for 9999999999

SQL> col NAME for a6

SQL> col LOG_MODE for a15

SQL> col OPEN_MODE for a15

SQL> select INST_ID,DBID,NAME,log_mode,open_mode from gv$database;

INST_ID DBID NAME LOG_MODE OPEN_MODE

------- ----------- ------ --------------- ---------------

2 723969835 DEVDB ARCHIVELOG READ WRITE

1 723969835 DEVDB ARCHIVELOG READ WRITE

Elapsed: 00:00:00.02

SQL>

其中“LOG_MODE”表示Oracle 当前的归档方式。“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。在我们的系统中数据库必须运行在归档方式下。

4.2.1.3检查数据库的等待事件

SQL> select sid,event,p1,p2,p3,WAIT_TIME,SECONDS_IN_WAIT from v$session_wait where event not like 'SQL%' and event not like 'rdbms%';

如果数据库长时间持续出现大量像latch free,enqueue,buffer busy waits,db file sequential read,db file scattered read等等待事件时,需要对其进行分析,可能存在问题的语句。

4.2.1.4 Disk Read最高的SQL语句的获取

SQL> SELECT SQL_TEXT FROM (SELECT * FROM V$SQLAREA ORDER BY DISK_READS) WHERE ROWNUM<=5 ;

4.2.1.5查找前十条性能差的sql

SQL> SELECT * FROM (SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,SQL_TEXT FROM V$SQLAREA ORDER BY DISK_READS DESC) WHERE ROWNUM<=10 ;

4.2.1.5等待时间最多的5 个系统等待事件的获取

SQL> SELECT * FROM (SELECT * FROM V$SYSTEM_EVENT WHERE EVENT NOT LIKE 'SQL%' ORDER BY TOTAL_WAITS DESC) WHERE ROWNUM<=5;

4.2.1.6检查运行很久的SQL

COLUMN USERNAME FORMAT A12

COLUMN OPNAME FORMAT A16

COLUMN PROGRESS FORMAT A8

SELECT USERNAME,SID,OPNAME,ROUND(SOFAR*100 / TOTALWORK,0) || '%' ASPROGRESS,TIME_REMAINING,SQL_TEXT FROM V$SESSION_LONGOPS , V$SQL WHERE TIME_REMAINING <> 0 AND SQL_ADDRESS=ADDRESS AND SQL_HASH_VALUE = HASH_VALUE;

4.2.1.7检查碎片程度高的表

SELECT segment_name table_name,COUNT(*) extents FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM') GROUP BY segment_name HAVING COUNT(*)=(SELECT MAX(COUNT(*))

FROM dba_segments GROUP BY segment_name);

4.2.1.8检查表空间的I/O 比例

SELECT DF.TABLESPACE_NAME NAME,DF.FILE_NAME "FILE",F.PHYRDS PYR, F.PHYBLKRD PBR,F.PHYWRTS PYW, F.PHYBLKWRT PBW FROM V$FILESTAT F, DBA_DATA_FILES DF WHEREF.FILE# = DF.FILE_ID ORDER BY DF.TABLESPACE_NAME;

4.2.1.9检查文件系统的I/O 比例

col BYTES for 99999999999

col PHYRDS for 9999999999

col PHYWRTS for 999999999

col NAME for a35

col STATUS for a8

SELECT SUBSTR(A.FILE#,1,2) "#", SUBSTR(https://www.360docs.net/doc/8b5268963.html,,1,35) "NAME",

A.STATUS,A.BYTES,

B.PHYRDS,B.PHYWRTS FROM V$DATAFILE A, V$FILESTAT B WHERE A.FILE#

= B.FILE#;

4.2.1.10检查死锁及处理

查询目前锁对象信息:

col sid for 999999

col username for a10

col schemaname for a10

col osuser for a16

col machine for a16

col terminal for a20

col owner for a10

col object_name for a30

col object_type for a10

select

sid,serial#,username,SCHEMANAME,osuser,MACHINE,terminal,PROGRAM,owner,object_na me,object_type,o.object_id from dba_objects o,v$locked_object l,v$session s where o.object_id=l.object_id and s.sid=l.session_id;

oracle 级kill 掉该session:

SQL> alter system kill session '&sid,&serial#';

操作系统级kill 掉session:

[node ~]# kill -9 pid

4.2.1.11 查看是否有僵死进程

SQL> select spid from v$process where addr not in (select paddr from v$session);

有些僵尸进程有阻塞其他业务的正常运行,定期杀掉僵尸进程。

4.2.1.12 检查缓冲区命中率

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 https://www.360docs.net/doc/8b5268963.html,='db block gets' AND https://www.360docs.net/doc/8b5268963.html,='consistent gets' AND

https://www.360docs.net/doc/8b5268963.html,='physical reads' ;

LOGICAL_READS PHYS_READS HIT_RATIO

------------- ---------- ----------

1.3893E+11 7530004139 94.58

Elapsed: 00:00:00.06

如果命中率低于90% 则需加大数据库参数db_cache_size。

4.2.1.13 检查共享池命中率

select sum(pinhits)/sum(pins)*100 from v$librarycache;

SUM(PINHITS)/SUM(PINS)*100

--------------------------

97.6912242

Elapsed: 00:00:00.00

如低于95%,则需要调整应用程序使用绑定变量,或者调整数据库参数shared pool 的大小。

4.2.1.14 检查排序区

SQL> select name,value from v$sysstat where name like '%sort%';

NAME VALUE

-------------------------------------------------- ----------

sorts (memory) 273601806

sorts (disk) 624

sorts (rows) 6835508701

Elapsed: 00:00:00.03

如果disk/(memoty+row)的比例过高,则需要调整

sort_area_size(workarea_size_policy=false

pga_aggregate_target(workarea_size_policy=true)。

4.2.1.15 检查日志缓冲区

SQL>select name,value from v$sysstat where name in ('redo entries','redo buffer allocation retries');

NAME VALUE

-------------------------------------------------- ----------

redo entries 740739308

Elapsed: 00:00:00.02

如果redo buffer allocation retries/redo entries 超过1% ,则需要增大log_buffer。

4.2.1.16 检查Oracle控制文件状态

SQL>select status,name from v$controlfile;

输出结果应该有3 条以上(包含3 条)的记录,“STATUS”应该为空。状态为空表示控制文件状态正常。

4.2.1.17 检查Oracle在线日志状态

SQL> select group#,status,type,member from v$logfile;

输出结果应该有 3 条以上(包含 3 条)记录,“STATUS”应该为非“INVALID”,非“DELETED”。注:“STATUS”显示为空表示正常。

4.2.1.18 检查Oracle所有数据文件状态

SQL> select name,status from v$datafile;

SQL> select file_name,status from dba_data_files;

输出结果中“STATUS”应该都为“ONLINE”。或者:输出结果中“STATUS”都为“AVAILABLE”。

4.2.1.19 查看当前会话连接数

SQL>select sid,serial#,username,program,machine,status from v$session;

SID,会话(session)的ID 号;

SERIAL#,会话的序列号,和SID 一起用来唯一标识一个会话;

USERNAME,建立该会话的用户名;

PROGRAM,这个会话是用什么工具连接到数据库的;

STATUS,当前这个会话的状态,ACTIVE 表示会话正在执行某些任务,INACTIVE 表示当前会话没有执行任何操作;

如果建立了过多的连接,会消耗数据库的资源,同时,对一些“挂死”的连接可能需要手工进行清理。如果DBA 要手工断开某个会话,则执行:(一般不建议使用这种方式去杀掉数据库的连接,这样有时候session 不会断开。容易引起死连接。建议通过

sid 查到操作系统的spid,使用ps –ef|grep spidno 的方式确认spid 不是ORACLE 的后台进程。使用操作系统的kill -9 命令杀掉连接)alter system kill session 'SID,SERIAL#';

注意:上例中SID 为1 到10(USERNAME 列为空)的会话,是Oracle 的后台进程,不要对这些会话进行任何操作。

4.2.1.20 检查表空间使用情况

col 表空间名for a20

SELECT a.tablespace_name "表空间名",

total "表空间大小",

free "表空间剩余大小",

(total - free) "表空间使用大小",

total / (1024 * 1024 * 1024) "表空间大小(G)",

free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

round((total - free) / total, 4) * 100 "使用率%"

FROM (SELECT tablespace_name, SUM(bytes) free

FROM dba_free_space

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total

FROM dba_data_files

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name;

或者

SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name

FROM dba_free_space

GROUP BY tablespace_name;

SELECT a.tablespace_name,

a.bytes total,

b.bytes used,

c.bytes free,

(b.bytes * 100) / a.bytes "% USED ",

(c.bytes * 100) / a.bytes "% FREE "

FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c

WHERE a.tablespace_name = b.tablespace_name

AND a.tablespace_name = c.tablespace_name;

4.2.1.21 查看回滚段名称及大小

SELECT segment_name, tablespace_name, r.status, (initial_extent / 1024) initialextent, (next_extent / 1024) nextextent, max_extents, v.curext curextent FROM dba_rollback_segs r, v$rollstat v WHERE r.segment_id = https://www.360docs.net/doc/8b5268963.html,n(+) ORDER BY segment_name;

4.2.1.22 检查system表空间内的内容

select distinct(owner) from dba_tables where tablespace_name='SYSTEM' and owner!='SYS' and owner!='SYSTEM'

union

select distinct(owner) from dba_indexes where tablespace_name='SYSTEM' and owner!='SYS' and owner!='SYSTEM';

如果记录返回,则表明system 表空间内存在一些非system 和sys 用户的对象。

应该进一步检查这些对象是否与我们应用相关。如果相关则把这些对象移到非System 表空间,同时应该检查这些对象属主的缺省表空间值。

4.2.1.23 监控数据量的增长情况

SQL> select A.tablespace_name,(1-(A.total)/B.total)*100 used_percent from (select tablespace_name,sum(bytes) total from dba_free_space group by tablespace_name) A, (select tablespace_name,sum(bytes) total from dba_data_files group by tablespace_name)

B where A.tablespace_name=B.tablespace_name;

根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相应的措施:删除历史数据或者扩表空间。

注意:在数据库结构发生变化时,如增加了表空间,增加了数据文件或重做日志文件这些操作,都会造成Oracle 数据库控制文件的变化,DBA 应及进行控制文件的备份,备份方法是:执行SQL 语句:

alter database backup controlfile to '/home/backup/control.bak';

或:

alter database backup controlfile to trace;

这样,会在USER_DUMP_DEST(初始化参数文件中指定)目录下生成创建控制文件的SQL 命令。

4.2.2 系统及日志级性能检查监控

4.2.2.1 检查Oracle服务进程

$ps -ef|grep ora_|grep -v grep&&ps -ef|grep ora_|grep -v grep|wc –l

在检查Oracle 的进程命令输出后,输出显示至少应包括以下一些进程:

Oracle 写数据文件的进程,输出显示为:“ora_dbw0_DEVDB”

Oracle 写日志文件的进程,输出显示为:“ora_lgwr_ DEVDB”

Oracle 监听实例状态的进程,输出显示为:“ora_smon_ DEVDB”

Oracle 监听客户端连接进程状态的进程,输出显示为:“ora_pmon_DEVDB”

Oracle 进行归档的进程,输出显示为:“ora_arc0_ DEVDB”

Oracle 进行检查点的进程,输出显示为:“ora_ckpt_DEVDB”

Oracle 进行恢复的进程,输出显示为:“ora_reco_ DEVDB”

4.2.2.2检查Oracle监听状态

以oracle 用户执行

$ lsnrctl status

“Services Summary”项表示Oracle 的监听进程正在监听哪些数据库实例,输出显示中至少应该有“DEVDB”这一项。

检查监听进程是否存在:

$ ps -ef|grep lsn|grep -v grep

4.2.2.3 检查操作系统日志文件

# cat /var/log/messages |grep failed

查看是否有与Oracle 用户相关的出错信息。

4.2.2.4检查oracle日志文件

$ cat $ORACLE_BASE/diag/rdbms/devdb/devdb1/trace/alert_devdb.log |grep ora-

$ cat $ORACLE_BASE/diag/rdbms/devdb/devdb1/trace/alert_devdb.log |grep err

$ cat $ORACLE_BASE/diag/rdbms/devdb/devdb1/trace/alert_devdb.log |grep fail

Oracle 在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:数据库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;对数据库进行的某些操作,如创建或删除表空间、增加数据文件;

数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)等。定期检查日志文件,根据日志中发现的问题及时进行处理:

4.2.2.5 检查系统磁盘空间

如果文件系统的剩余空间过小或增长较快,需对其进行确认并删除不用的文件以释

放空间。

# df -h

Filesystem Size Used Avail Use% Mounted on

4.2.3 检查数据库cpu、I/O、内存性能

记录数据库的cpu 使用、IO、内存等使用情况,使用vmstat,iostat,sar,top等命令进行信息收集并检查这些信息,判断资源使用情况。

4.2.3.1 CPU 使用情况

注意上面的蓝色字体部分,此部分内容表示系统剩余的cpu,当其平均值下降至10%以下的时视为CPU 使用率异常,需记录下该数值,并将状态记为异常。

4.2.3.2内存使用情况

如上所示,蓝色部分表示系统总内存,红色部分表示系统使用的内存,黄色部分表示系统剩余内存,当剩余内存低于总内存的10%时视为异常。

4.2.3.3 系统磁盘I/O 情况

如上所示,蓝色字体部分表示磁盘读写情况,红色字体部分为cpu IO 等待情况。

4.2.3.4 系统负载情况

如上所示,蓝体字部分表示系统负载,后面的3 个数值如果有高于2.5 的时候就表明系统在超负荷运转了,并将此值记录到巡检表,视为异常。

实验5 数据库监视与性能优化

实验项目名称:数据库监视与性能优化实验学时: 4 同组学生姓名:实验地点: 实验日期:实验成绩: 批改教师:批改时间: 一、实验目的和要求 1、利用索引优化查询性能、优化SQL语句。 2、了解通过对SQL profiler跟踪系统运行数据。 二、实验仪器和设备 设备:奔腾Ⅳ或奔腾Ⅳ以上计算机; 环境:WINDOWS 7 或WINDOWS XP、Microsoft SQL Server 2008。 三、实验过程 1、完成以下的实验。 1)使用对象资源管理器创建、管理索引 ①为员工表创建一个索引名为“emp_id”的唯一性非聚集索引,索引关键字是“员工号”,填充因子80 % 。 ②重命名索引,将索引“emp_id”重命名为“员工表_员工号”。 ③删除索引“员工表_员工号”。 2)使用T-SQL语句创建、管理索引 ①为员工表创建一个索引名为“emp_id”的唯一性非聚集索引,索引关键字是“员工号”,填充因子80 % 。 ②重命名索引,将索引“emp_id”重命名为“员工表_员工号”。 ③为员工参与项目表创建一个索引名为“员工_项目_index”的非聚集复合索引,索引关键字为“员工号”,升序,项目编号,降序,填充因子50%。 ④删除索引“员工表_员工号”和“员工_项目_index”。 3)索引前后的执行计划 ①删除员工表中员工号上的主键。按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表和员工参与项目表中的员工号都没有索引)②为员工参与项目表创建一个索引名为“员工参与项目_员工号”的非聚集索引,索引关键字为“员工号”,升序;按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表中员工号没索引,员工参与项目表中的员工号有非聚集

数据库安全运维监控

点击文章中飘蓝词可直接进入官网查看 数据库安全运维监控 随着大家对安全运维监控意识的提高,数据库安全运维成为企业关注的重点。数据库大流量、高并发、高相应的业务需求,同时也对运维人员的运维重点和运维能力提出更高挑战。对此,风城云码软件技术作为专业的运维软件提供商,为广大用户及合作伙伴提供更好的数据库安全运维监控产品及解决方案,以此解决用户的数据库安全运维监控问题。 数据库安全运维监控系统哪家好? 南京风城云码软件技术有限公司是获得国家工信部认定的“双软”企业,具有专业的软件开发与生产资质。多年来专业从事IT运维监控产品及大数据平台下网络安全审计产品研发。开发团队主要由留学归国软件开发人员及管理专家领衔组成,聚集了一批软件专家、技术专家和行业专家,依托海外技术优势,使开发的软件产品在技术创新及应用领域始终保持在领域上向前发展。 目前公司软件研发部门绝大部分为大学本科及以上学历;团队中拥有系统架构师、软件工程师、中级软件工程师、专业测试人员;服务项目覆盖用户需求分析、系统设计、代码开发、测试、系统实施、人员培训、运维整个信息化过程,并具有多个项目并行开发的能力。 自公司成立已来,本团队一直从事IT系统运维管理以及网络信息安全审计产品的开发,同时在电力、制造行业及政府部门的信息化、智能化系统的开发及信息安全系统的开发中有所建树;在企事业协同办公管理、各类异构系统的数据交换与集成(企业总线ESB)、电力行业软件系统架构设计、电网大数据量采集和数据分析、电能质量PQDF算法解析等应用方面拥有丰富开发的经验。特别在网络信息安全、IT应用系统的智能化安全监控领域具有独特的技术优势和深厚的技术储备。近年来随着企业的不断发展和技术的不断更新,公司的开发团队正在拓展更多业务范围和更新的技术应用。 数据库安全运维监控,对IT资源集中监控系统实现网络、应用服务器、业务系统、各类主机资源和安全设备等的监控,建立对各类IT资源的各类运行参数的采集、分析、设备故障发现和故障解决流程。

污染源在线监控站点基础数据库系统

佛山市水质自动监测系统软件开发项目 一、项目名称 佛山市水质自动监测系统软件开发项目 二、项目范围 软件开发和数据对接 三、项目建设背景为加强对江河水质的监控并及时掌握水质情况,2006 年建设了水环境质量自动监测网络,其中,全市已建成7 个水质自动监测站,拟建3 个,监测项目达14 项,水环境质量自动监测网能实时对全市主要江河水源地和跨界断面水质进行监控。水站建成后由于分布地方不同,收集各站点的信息比较麻烦,环境管理人员不能及时掌握各水站的水质监测情况,因此急需建设一套水质自动监测系统,把各水站监测的各主要江河水质数据在系统上表现出来。 同时,2004 年我局建设了污染源在线监控系统,该系统实时监控我市重点污染源排污状况,包括废水重点污染源和省控制废气重点污染源企业。为进一步扩展系统将地表水自动监测站监测数据纳入系统监控,要求在此平台基础上开发水质自动监测系统,把各水站监测的各主要江河水质数据在环境信息管理平台上表现出来,为环境管理和环境决策提供有效信息。 四、各水站点运行及建设概况 1、水站建设现状

截至2008 年4 月,佛山市境内已建成水质自动监测子站共7 个,包括位于禅城区沙口站,顺德区陈村潭村站、伦教羊额站、龙江杨滘站、均安七滘站、容桂穗香围站,以及省环保局投资建设的位于三水区青岐站。拟建水质自动监测站共3 个,包括即将建成的位于 南海区小塘站、计划年内兴建的位于高明区富湾站和位于三水区大塘站。 2、监测项目目前沙口水质自动监测站监测项目包括水温、pH 值、溶解氧、电导率、浊度、高锰酸盐指数、氨氮、总磷、总有机 碳等9 项。年内新增包括硬度、酚、氰化物、总砷、镉、六价铬、 镍等7 项监测项目。 位于顺德区5 个水质自动监测站监测项目相同,包括pH 值、溶解氧、电导率、浊度、高锰酸盐指数、硬度、酚、氟化物、硝酸盐氮、氨氮、总磷、氰化物及总砷等14 项。 三水区青岐站监测项目包括水温、pH 值、溶解氧、电导率、 浊度、高锰酸盐指数、氟化物、氨氮、总磷、氰化物等10 项。 在建南海区小塘站监测项目包括水温、pH 值、溶解氧、电导率、浊度、高锰酸盐指数、氟化物、氨氮、总氮、总磷、

污染源在线监控站点基础数据库系统

佛山市水质自动监测系统软件开发项目 项目名称 佛山市水质自动监测系统软件开发项目 二、项目范围 软件开发和数据对接 、项目建设背景 为加强对江河水质的监控并及时掌握水质情况,2006 年建设了水环境质量自动监测网络,其中,全市已建成7个水质自动监测站,拟建3 个,监测项目达14 项,水环境质量自动监测网能实时对全市主要江河水源地和跨界断面水质进行监控。水站建成后由于分布地方不同,收集各站点的信息比较麻烦,环境管理人员不能及时掌握各水站的水质监测情况,因此急需建设一套水质自动监测系统,把各水站监测的各主要江河水质数据在系统上表现出来。 同时,2004 年我局建设了污染源在线监控系统,该系 统实时监控我市重点污染源排污状况,包括废水重点污染源和省控制废气重点污染源企业。为进一步扩展系统将地表水自动监测站监测数据纳入系统监控,要求在此平台基础上开发水质自动监测系统,把各水站监测的各主要江河水质数据在环境信息管理平台上表现出来,为环境管理和环境决策提供有效信息。

四、各水站点运行及建设概况 1、水站建设现状 截至2008 年4 月,佛山市境内已建成水质自动监测子 站共7 个,包括位于禅城区沙口站,顺德区陈村潭村站、伦教羊额站、龙江杨滘站、均安七滘站、容桂穗香围站,以及省环保局投资建设的位于三水区青岐站。拟建水质自动监测站共3 个,包括即将建成的位于南海区小塘站、计划年内兴建的位于高明区富湾站和位于三水区大塘站。 2、监测项目 目前沙口水质自动监测站监测项目包括水温、pH 值、 溶解氧、电导率、浊度、高锰酸盐指数、氨氮、总磷、总有机碳等9 项。年内新增包括硬度、酚、氰化物、总砷、镉、六价铬、镍等7 项 监测项目。 位于顺德区5 个水质自动监测站监测项目相同,包括 pH 值、溶解氧、电导率、浊度、高锰酸盐指数、硬度、酚、 氟化物、硝酸盐氮、氨氮、总磷、氰化物及总砷等14 项。 三水区青岐站监测项目包括水温、pH 值、溶解氧、电 氰化物 等10 项。 在建南海区小塘站监测项目包括水温、pH 值、溶解氧、

第3章 自动数据库性能监视器

第3章自动数据库性能监视器 自动数据库性能监视器(ADDM)自动检查和报告数据库的性能问题。结果作为ADDM调查报告显示在Oracle企业管理器的数据库主页中,审查ADDM调查结果让你可以快速找出性能问题。 每个ADDM调查结果都提供了一串有关减少性能问题影响的建议,审查ADDM调查结果并执行建议是你每天正常维护数据库应该要做的事情,即使数据库处于未最佳的性能状态,你也应该继续使用ADDM监视数据库性能。 3.1 自动数据库诊断监视器概述 ADDM是构建在Oracle数据库内部的自我诊断软件,ADDM检查并分析自动工作量仓库(AWR)捕获到的数据,确定Oracle数据库可能存在的性能问题,然后它定位性能问题的根本原因,为纠正这些性能问题提供建议,并量化预计的性能收益,ADDM也可以识别不需要行动的区域。 3.1.1 ADDM分析 每次AWR快照(默认每小时一次)后就会执行ADDM分析,分析报告保存在数据库中,你可以通过Oracle企业管理器来查看这些报告,在使用本指南描述的另一个性能调整方法之前,先审查一下ADDM分析报告。 ADDM分析是从上到下执行的,首先确定症状,然后完善分析报告,指出导致性能问题的根本原因,ADDM使用DB time统计信息确定性能问题,DB time是数据库除了用户请求花去的递增式时间,包括等待时间和所有非空闲会话的CPU时间。 数据库性能调整的目标是减少给定工作量的DB time,通过减少DB time,数据库使用相同数量的资源可以支持更多用户请求,ADDM报告使用了大量DB time的系统资源,将其显示在问题区域,并按消耗的DB time数量进行倒序排序,关于DB time统计信息的更多信息请参考"时间模型统计"小节的内容。 3.1.2 ADDM建议 除了诊断性能问题外,ADDM还会给出建议解决方案,并且有时会建议多个可选的解决方案让你选择,ADDM建议包括: 硬件改造 添加CPU或修改I/O子系统配置 数据库配置 修改初始化参数配置 方案修改 对表或索引进行哈希分区,或使用自动段空间管理(ASSM) 修改应用程序 为序列使用缓存选项或使用绑定变量 使用其它顾问 在高负载SQL语句上运行SQL调整顾问或在热点对象上运行分段顾问。 ADDM应用在生产系统上受益良多,即使在开发和测试系统上,ADDM也可以提前提供潜在的性能问题警报。 性能调整是一个反复的过程,修复一个问题可能会导致瓶颈转移到系统的其它部分,即使使用ADDM分析报告,也要经过多次反复的调整才能使性能达到理想的水平。 3.1.3 Oracle真正应用集群中的ADDM 在Oracle真正引用集群(Oracle RAC)环境中,你可以使用ADDM分析整个数据库集群的性能,Oracle RAC中的ADDM会认为DB time是所有数据库实例数据库时间的总和,它只会报告集群级别的重要分析结果,例如,考虑局部各个集群节点的I/O水平就没什么意义,但所有节点的I/O水平的总和对于判定集群问题就显得很重要了。 3.2 配置自动数据库诊断监视器 3.2.1 设置初始化参数启用ADDM 默认情况下自动数据库诊断监视功能是被启用的,由初始化参数CONTROL_MANAGEMENT_PACK_ACCESS和STATISTICS_LEVEL控制。 CONTROL_MANAGEMENT_PACK_ACCESS初始化参数应该被设置为DIAGNOSTIC+TUNING(默认)或DIAGNOSTIC以确保启用自动数据库诊断监视器,如果将CONTROL_MANAGEMENT_PACK_ACCESS设置为NONE,就会禁用掉许多Oracle数据库特性,包括ADDM,强烈建议不要这么做。

视频监控系统设计方案

网络监控系统设计方案
导读:本次设计方案中,视频监控系统分为如下几个部分,每部分的基本功能和组成如下: (一) 前端视频数据采集部分:通过网络摄像机实现对各个监控区域的图像采集;前端视频数据 采集设备包括红外一体化网络摄像机、网络半球、网络智能球、高清网络摄像机、立杆、墙挂支 架等设备。
视频监控总体设计 1.1. 网络视频监控系统组成 本次设计方案中,视频监控系统分为如下几个部分,每部分的基本功能和组成如下: (一) 前端视频数据采集部分:通过网络摄像机实现对各个监控区域的图像采集;前端 视频数据采集设备包括红外一体化网络摄像机、网络半球、网络智能球、高清网络摄像机、 立杆、墙挂支架等设备。 (二) 视频数据传输部分:通过超五类双绞线、室外 4 芯室外多模铠装光缆、光电转换 设备和网络交换机等设备组成转发视频图像数据的传输网络, 并通过传输网络将图像数据从 前端监控设备传送到后端监控中心进行视频显示和存储, 主要设备和线材包括: 网络交换机、 光电转换设备、超五类双绞线、室外铠装光缆等。 (三) 视频监控中心部分:视频监控中心是将前端采集的视频图像信息通过软件解码, 转化为图像信号传送到监视器上, 形成直观图像信息并且显示出来, 同时对视频信息按照存 储策略进行存储。通过网络监控中心管理平台对整个系统进行统一操作、配置、管理,其中 主要设备网络监控中心管理平台、监控录像主机、大尺寸电视等设备。 (四) 监控终端部份:监控终端主要功能是监看实时视频画面、查询回放录像、抓拍图 像、手动录像,主要包括监控客户端、多路视频解码器。 1.2. 监控系统拓扑图

基于Web的远程监控与数据采集系统

第32卷第4期电子科技大学学报V ol.32 No.4 2003年8月 Journal of UEST of China Aug. 2003 基于Web的远程监控与数据采集系统 陈 新* (郑州轻工业学院信息与控制工程系郑州 450002) 【摘要】分析了监控系统的发展趋势,提出了一种基于Web技术的远程监控与数据采集系统的设计方案。Web 数据库采用ASP技术实现,远程智能终端采用单片机系统实现,用户可以通过浏览器实现对现场设备状态的监控。 该设计方案在实现铁路供水监控系统中取得了成功,通过控制网和Internet的结合,实现了集控制、管理、信息、 网络于一体的企业综合自动化。 关键词监控系统; Web数据库; 服务器; ASP技术 中图分类号TP277 文献标识码 A Application of Long Distance Supervisory Control and Data Acquisition System Based on Web Chen Xin (Dept. of Information and Controlling Eng., Zhengzhou Inst. of Light Ind., Zhengzhou 450002) Abstract In this paper, the development trend and the general significance of the supervisory control system is analyzed, and also a design project of water supply’s supervisory control and data acquisition system based on Web is introduced. The Web database adopts ASP technology to realize, and the long distance intelligent terminal uses MCU system. The user can supervise and control the water supply’s equipments though the browser. The design has met with success in the system of railway water supply’s supervisory control. Though the combination between control network and Internet, the corporation can achieve its automation with control, management, information and network together. Key words supervisory control system; Web database; service; ASP technology 监控系统是集计算机技术、控制技术、网络技术为一体的高新技术产品,具有控制功能强、操作简便和可靠性高等特点,可以方便地用于工业装置的生产控制和经营管理。监控技术经过了单机监控系统、集中式监控系统和网络范围内的远程监控三个发展阶段。远程监控是指本地计算机通过网络系统对远端的控制系统进行监测和控制[1],其中基于Web的远程监控与数据采集(Supervisory Control and Data Acquisition, SCADA)模式成为当前监控系统的发展趋势[2]。同时,随着社会的发展,人们对水利供应、电力供应、环境监测、城市燃气供应、集中供热以及银行防盗等系统的正常运行提出了更高的要求。以上系统的特点是站点分布较为分散,而站点的正常运行又极为重要。以铁路沿线供水为例,其供水站点的分布很广,传统的人工现场监控浪费人力物力,效率低下,所以研制开发低成本、高可靠性、配置灵活,适用范围广的远程监控系统具有普遍的意义和实用价值。本文结合某铁路局沿线供水监控项目,开发了基于Web的远程监控与数据采集的系统方案。 1 系统整体说明 基于Web的远程监控系统可分为现场监控(智能终端)、监控中心(包括通信模块、数据库服务器、Web服 2002年11月12日收稿 * 男 43岁硕士副教授主要从事过程控制方面的研究

数据库性能监控分析系统的设计与实现

—105— 数据库性能监控分析系统的设计与实现 王 娜,宿红毅,白 琳,王 鑫,郝子昭 (北京理工大学计算机科学与工程系,北京 100081) 摘 要:在讨论Oracle 体系结构和性能优化的基础上介绍了一个基于J2EE 的数据库性能监控和分析系统(DMI)的总体设计思想及其部分实现。 关键词:性能优化;Oracle ;实时监控;JMS ;RMI Design and Realization of Database Performance Monitoring and Analyzing System WANG Na, SU Hongyi, BAI Lin, WANG Xin, HAO Zizhao (Dept. of Computer Science and Engineering, Beijing Institute of Technology, Beijing 100081) 【Abstract 】This paper presents the design and part of implementation of a database performance monitoring and analyzing system (DMI) based on J2EE with discussing the architecture and performance optimizing of Oracle. 【Key words 】Performance optimizing; Oracle; Real-time monitoring; JMS; RMI 计 算 机 工 程Computer Engineering 第31卷 第24期 Vol.31 № 24 2005年12月 December 2005 ·软件技术与数据库· 文章编号:1000—3428(2005)24—0105—03 文献标识码:A 中图分类号:TP311.13 随着数据库应用的不断深入和扩大,数据库中的数据量迅速增长,数据操作也越来越复杂,数据库工作效率逐渐下降。因此,实施对数据库的管理维护、性能调优越来越受到广大数据库管理员(DBA)的关注和重视。虽然目前各种数据库产品本身也提供了大量功能强大的性能监控和调试工具,如Oracle 的OEM 、Performance Manager 、Capacity Planer 等,来帮助数据库管理人员对数据库性能进行调整、优化,但遗憾的是,精通掌握这些工具并能通过它们来有效地分析数据库性能状态,进而合理配置数据库以调整其性能也十分困难。因此开发一个简单高效的数据库性能监控管理工具来辅助DBA 对数据库进行性能分析调优成为数据库应用不断扩展的需要。 针对这种情况,本文结合业界先进的数据库管理经验,开发了Database Management Insight(DMI)——一个简单、实用、方便、安全的数据库监控管理平台。它可以有效地辅助数据库管理人员对数据库进行性能优化,确保数据库正常、平滑、高效地运转。DMI 可以监控Oracle 、Sybase 、DB2等数据库,本文以Oracle 为例来对该系统进行阐述。 1 总体设计 1.1 Oracle 的结构和性能优化 数据库优化的目的是更改系统的一个或多个组件,使其满足一个或多个目标的过程。对Oracle 数据库来说,优化是进行合理的资源配置,达到组件之间的均衡以改善其性能,即增加吞吐量、提高响应时间。数据库性能优化要考虑到系统的各个组成部分,由图1可以看出,Oracle 应用系统主要包含以下几个部分[1]: (1)用户进程和服务器进程 用户进程是SQL 语句的提出者,服务器进程则负责执行由用户进程传递过来的SQL 语句,与SGA 区交互。用户进程和服务器进程是数据库性能调整的一个重要方面,尤其是当用户的数量随着时间的推移而 不断增大时,建立与数据库的重复性临时连接的Web 应用系统会导致性能下降[2]。 (2)Oracle 实例 一个Oracle 实例是存储结构和后台进程的组合体。其中,SGA 是用来存放所有数据库进程共享的数据和控制信息的存储区域,当数据库一启动,SGA 就立即占有服务器的内存空间。SGA 中的库高速缓存、字典高速缓存、数据高速缓存、日志缓冲区以及大缓冲池和Java 池等组件的大小对系统性能有极大的影响,它们直接影响磁盘I/O 的频率,从而影响数据库效率[3]。实施性能优化时应注意DB_CACHE_SIZE 、SHARED_POOL_SIZE 、LOG_BUFFER 、LARGE_POOL_SIZE 和JAVA_POOL_SIZE 这几个参数的值,如果配置不合理会造成系统资源的极大浪费。 图 1 Oracle 体系结构 基金项目:武器装备预研项目 作者简介:王 娜(1981—),女,硕士生,主研方向:计算机网络与分布式处理;宿红毅,副教授;白 琳、王 鑫、郝子昭,硕士生 收稿日期:2004-10-28 E-mail :sdbzwn@https://www.360docs.net/doc/8b5268963.html,

使用SpotLight监控数据库性能

使用SpotLight监控数据库性能 8.1.4 使用SpotLight监控数据库性能(1) SpotLight On Oracle是由Quest公司出品的一款针对Oracle进行监控的软件。SpotLight监控Oracle的基本原理与LoadRunner监控类似,通过获取Oracle的数据字典和动态性能视图,然后把性能数据按直观的方式展现出来,如图8.11所示。 (点击查看大图)图8.11 SpotLight On Oracle监控数据库下面简要介绍使用SpotLight对Oracle进行监控的过程。 1.建立Oracle连接 第一步要建立Connection,如图8.12所示,这样才能够使用SpotLight连接到要监测的数据库。

新建连接,然后输入Oracle连接用户账号,确定之后即可进入监控主页面。 2.查看系统主界面进行Oracle监控 系统主界面反映了系统的整体运行情况,如果系统哪方面出现问题,会报相应的警告,最严重为红色警告。然后根据警告可转到相应的子窗口,查看相应的情况。下面介绍各子窗口。 1)Sessions面板 Response:系统的响应时间。 Total Users:总的用户Session数量。 Active Users:当前正在执行的用户Session数量。 2)Host面板 Host面板主要显示CPU利用率和内存使用情况。 3)Server Processes面板 Server Processes面板主要显示服务器进程的信息。主要关注以下几点。 PGA Target/Used:PGA目标总数及当前使用数。 Dedicated:专用服务器进程的个数。 Shared:共享服务器进程的个数。 Job Queue:作业进程的个数。 4)SGA面板 SGA面板主要显示SGA中各组件的内存使用情况,主要关注以下几点。

气象实时数据库服务监控系统设计与实现

气象实时数据库服务监控系统设计与实现 李德泉 何文春 阮宇智 刘一鸣 (国家气象信息中心) 摘要:实时数据库是气象信息部门针对预测预报及相关业务开发的重要数据服务系统,是确保从观测到预报业务流程按时高效完成的重要基础性数据支撑环境求。本文介绍气象实时数据库业务监控系统的设计开发原则、架构设计,并针对服务监控的特点,分析了系统采用目前设计的优势、可扩展性,该系统综合考虑了实时数据库系统的设计与功能、性能特点,对入库情况、关键进程运行状态、商用关系数据库系统故障信息、入库流程、系统资源、数据质量监测等实时运行状态的展示,并提供各省入库详情的查询。目前,该系统已稳定运行,提供日常服务,尤其在奥运会、国庆五十周年、亚运会等重大活动服务保障方面,取得良好业务保障效果。 关键词:实时数据库;服务监控;规则;值班报警 1.引言 实时气象资料数据库系统(以下称“实时数据库”或“实时库”)作为“国家级气象资料存储检索系统”(MDSS) [1]的重要组成部分,是气象信息部门针对预测预报及相关业务开发的重要数据服务系统,是确保从观测到预报业务流程按时高效完成的重要基础性数据支撑环境。实时数据库系统对实时气象资料进行接收、分类、加工处理,并以地面气象资料、高空气象资料、海洋气象资料、气象辐射资料、农业气象资料、数值分析预报产品资料、气象灾害资料、气象卫星资料、气象服务产品资料和其他资料等十二类资料形式存储并实现资源共享。并且,。 所谓实时(Real-Time),是指数据库应用系统一方面要维护大量共享数据和相关用户信息,另一方面其应用服务有很强的时间性,要求在一定的时刻或者一定的时间期限内从外部环境采集数据,经规范化处理后,以有效的数据组织形式存储,并及时响应随后的大量并发访问服务。因此,整个数据处理过程具备短时、高效特点,并且每种资料对数据服务时效具有明确要求,过时则无意义[2]。 气象实时数据库不仅作为关键数据源连接气象中心、公共气象服务中心等部门的实时业务系统,还为科研用户提供一定时间期限内数据查询下载服务。因其在整个业务流程中发挥关键的底层支撑作用,其服务稳定性及时效将直接影响其服务对象的实时业务效能和气象预报及时性与准确性,进而影响气象部门对内外行业用户、公众用户的气象服务质量,因此其从业务运行开始就一直作为国家气象信息中心的运维重点。 为了保障实时数据库系统稳定对外服务,协助值班人员日常值班,实时动态地监测各类气象实时观测资料的到报、入库质量,以及实时库处理相关线程的运行状态,国家气象信息中心组织技术力量,开发完成“实时气象资料数据库业务监控系统”(RDBCat,以下简称“实时库监控系统”),并在2008年奥运会前夕业务上线运行。

DB2数据库-性能测试监控

DB2数据库-性能测试监控 一.DB2数据库介绍 1. DB2架构介绍 概要介绍 DB2是IBM公司研发的关系数据库产品,目前广泛应用于金融、通信、交通等行业,在IBM随需应变的战略体系中扮演着重要角色。因为川农信属于金融行业,因此也在使用DB2,其版本为v9.7,所以在这里介绍一些9.7版本的新特性。 ●支持索引压缩、临时表数据压缩和xml压缩,更加降低了存储空间成本。 ●支持内联大对象。 ●在线表迁移功能。 ●支持实时表字段更改。 ●在性能监控方面DB29.7有了极大增强,新的监控模型不仅可以快速找出问题瓶颈,而且对系统的影响非常小。特别是对锁的监控,通过新的Locking Event Monitor可同时监控死锁、锁等待和锁超时。 ●移植性增强。 ●HADR备机可读。 三种常用架构简介 当前的应用系统主要分为两类:联机事务处理(OLTP)和联机分析处理(OLAP)。 OLTP主要执行日常的事务处理,比如银行存取款、商场购物等,它的主要特点是对响应时间要求高,数据量一般较小,并发多,面向应用。OLAP主要指数据仓库、决策分析类系统,主要特点是数据量大,对实时性要求不高,面向主题。 针对这两种典型的系统,DB2提供了很好的支持。对于OLTP系统和数据量较小的OLAP系统,可以采用单分区架构。 但是有一些OLAP系统,比如国内一些通信公司和电力公司的经营分析系统,包含的数据超过几十TB,一台机器的处理性能根本无法满足要求。这时,可考虑DB2的多

分区架构,即Shared Nothing架构。这种架构的优点就是能够充分利用系统资源,将一个大型的查询分解成若干个小查询并行运行在不同的系统中。由于每一个分区只能够访问自己分区的数据,当查询数据需要关联时。需要在分区中交换必要的数据,分区之间使用一种叫做FCM(Fast Communication Manager)的通信机制。这种架构对系统设计人员要求较高,一定要充分理解优化器与系统访问数据的规则,并且设计很好的分区键,才能够尽可能避免分区间大量的数据交换。 与Share-Nothing相对的另外一种常见的架构是Share-Disk。Share-Disk架构允许所有机器都可以访问全部的数据,好处是管理起来相对方便,而且任意一台机器宕机后,只要存储部分不出问题,其他机器上的系统可以照样访问数据。Share-Disk的设计目标主要是提供高可用性,一般用于OLTP系统。 2. 主要模块介绍 上图描述了DB2的进程模型,长方形代表处理进程,椭圆形代表处理线程,DB2的主进程是db2sysc,在这个处理进程下有许多线程,最主要的线程也是叫db2sysc,这个主要的线程派生了其他子线程。当一个远程的应用程序比如采用sql connect语句链接服务器时,通讯协议的远程监听器将接收这个请求,并联系db2agent,agent是一个代表DB2实现一些小操作的处理程序,当发出请求的应用程序是本地的,也就是和DB2服务器在同一服务器上,如果不在同一个服务器上,那么采用db2tcpcm处理本地请求,如果在一台服务器上采

企业级MySQL数据库在线监控系统的设计与实现

分类号学号M201176080 学校代码10487密级 硕士学位论文 企业级MySQL数据库在线监控系统的 设计与实现 学位申请人:董明明 学科专业:软件工程 指导教师:任宏萍副教授 答辩日期:2014.5.9

A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree for the Master of Engineering The Design and Implementation of a MySQL Database Online Monitoring System for Enterprise Candidate : Dong Mingming Major : Software Engineering Supervisor : Assoc. Prof. Ren Hongping Huazhong University of Science and Technology Wuhan 430074, P. R. China May, 2014

独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密□,在年解密后适用本授权书。 本论文属于 不保密□。 (请在以上方框内打“√”) 学位论文作者签名:指导教师签名: 日期:年月日日期:年月日

数据库性能问题处理及监控

`数据库性能问题处理及监控 思想重视 掌握方法 主动学习 善于协调 一、培训背景 系统性能是功能的延伸和深化。从某种程度上说,性能问题比单一的功能问题对客户造成的影响更大、更深、更恶劣,没有人愿意使用功能完备却性能糟糕的系统。改善和提升客户的系统操作体验,提高产品及客户服务满意度,系统的优异性能必不可少。从技术层面来说,这需要通过良好的数据库结构设计及应用程序架构设计来保证。 然而实际上,无论前期做多么的周密设计,都无法保证系统在客户实际使用过程中持续优良的性能。随着业务的提升,功能和数据也随之膨胀,性能稳定的挑战越来越大。此时,就需要现场系统维护人员迅速跟进并做有效的问题处理。 二、培训目的 明确系统维护人员性能问题处理的职责分工 明晰数据库性能问题的处理流程 性能调整需要团队协作,涉及DBA、操作系统管理人员、网络管理人员、应用程序设计及开发人员、应用系统现场维护人员等岗位 性能调整方法:调整业务功能、调整数据设计、调整过程设计、调整SQL语句、调整内存分配、调整IO、调整资源争用、调整OS 现场人员性能调整工作的角色分配:调整业务功能、调整SQL语句 明确、清晰的问题处理流程,可以规范问题处理步骤,缩短问题处理时间最小化性能问题的影响,有利于缓解后期解决问题的压力,进而促进问题的最终解决!

三、数据库性能故障处理流程 所谓数据库故障,简单讲就是数据库响应缓慢甚至不能响应客户端发起的请求。例如,客户端提交一个SQL请求后,会话处于等待数据库实例返回结果的状态。很多现场情况下,用户有7*24的运行需求。在系统突然遭遇性能问题时,我们并没有时间去收集数据,对比统计数据,进行索引分析和调整操作。 此时,需要几分钟或者几十分钟内解决这样的突发性能问题,我们工作重点应该是迅速确定发生了什么问题,并尽可能快速的恢复正常服务,严谨的优化方式并不现实。因此,应该先处理问题,再研究问题。 如何处理问题?没有简单答案!性能调整的普遍规则并不存在,但制定一个规范的工作流程和实施步骤是切实可行的。性能问题千差万别,需要有一个符合实际情况的性能问题处理的流程图,作为性能问题搜寻的方法指导。否则,由于性能问题分布在系统的各个层面,性能调整就会变成大海捞针。

数据库性能监控

数据库性能监控 1.纲要: 数据库性能监控是一个常非大范围。 包含:表空间、段、索引、主键、数据缓冲区、库缓冲、用户锁、等待事件、回滚段、I/O、共享池等等。(空间、索引、等待事件) 2.概述: 在日常生产系统中,我们的系统都使用相当长的时间,SGA 中重做日志缓存区的命中率,应该小于1%、高速缓存命中>=90%率等等一般都是正常的,当然一个非常低的命中率的确意味着系统配置或应用存在严重问题;非常高的缓存命中率存在严重低效率的SQL语句(极差的SQL造成%99以上的命中率), 但命中率的多少义意不是很大,主要是查看系统的等待事件,系统的反应时间,吞吐率(I/O)。 在系统的配置都没有问题情况下,影响性能的主要方面集中在: 1、索引 2、oracle、操作系统某些资源利用的不合理 3、系统的等待事件 3.索引 要开始监控一个索引的使用,使用这个命令: ALTER INDEX pk_addr MONITORING USAGE;

要停止监控一个索引,输入: ALTER INDEX pk_addr NOMONITORING USAGE; 开始监控索引的使用之后,就可以在sys.v$object_usage视图中查到你所监控的索引的使用情况。 所有被使用过至少一次的索引都可以被监控并显示到这个视图中。不过,一个用户只可以接收它自己schema中的索引使用。Oracle并没有提供一个视图来接收所有模式中的索引。 4.oracle、操作系统某些资源利用的不合理 内存分配不合理 内存的利用率多于80%时,这时说明内存方面应该调节一下。方法大体有以下几项: 划给Oracle使用的内存不要超过系统内存的1/2,一般保在系统内存的40%为益。 为系统增加内存; 如果你的连接特别多,可以使用MTS的方式;(MTS(Multi-Threaded Server)是ORACLE SERVER的一个可选的配置选择,是相对DEDICATE方式而言,它最大的优点是在以不用增加物理资源(内存)的前提下支持更多的并发的连接。) 打全补丁,防止内存漏洞。 表空间分配的不合理 表空间不足的时候,系统前台根本无法使用。 回滚段空间的不足,持行脚本就回失败。 --监控表空间使用率与剩余空间大小的语句 SELECT D.TABLESPACE_NAME,SPACE "空间(M)", BLOCKS ,SPACE-NVL(FREE_SPACE,0) "使用空间(M)", ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "使用率(%)", FREE_SPACE "空闲空间(M)" FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024),2) SPACE, SUM(BLOCKS) BLOCKS FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) D,

数据库性能监测指标

数据库性能监测指标(如Oracle、SqlServer)、LoadRunner 性能测试指标 1.%Disk Time(PhysicalDisk_Total) 2.%Processor Time(Processor_Total) 3.File Data Operations/sec(System) 4.Interrupts/sec(Processor_Total) 5.Page Faults/sec(Memory) 6.Pages/sec(Memory) 7.PoolNonpaged Bytes(Memory) 8.Private Bytes(Process_Total) 9.Processor Queue Length(System) 10.Threads(Objects) dbm: rem_cons_in 到正在被监视的数据库管理器实例的当前连接数,从远程客户端启动 agents_from_pool 代理程序池中已分配的代理程序数 agents_stolen 从应用程序中盗用代理程序的次数。重新分配与应用程序相关联的空闲代理程序,以便对其他应用程序执行操作,称作“盗用” sort_heap_allocated 拍快照时,以所选择的级别为所有排序分配的排序堆空间的总页数post_threshold_sorts 达到排序堆阈值后,已请求的堆的排序数 db: appls_cur_cons 当前已连接到数据库的应用程序数 appls_in_db2 当前已连接到数据库并且数据库管理器当前正在处理其请求的应用程序数sort_heap_allocated 拍快照时,以所选择的级别为所有排序分配的排序堆空间的总页数total_sorts 已经执行的排序总数 total_sort_time 所有已执行排序的总已用时间(以毫秒为单位) sort_overflows 用完排序堆并且可能需要临时磁盘存储空间的排序总数 hash_join_small_overflows 哈希联接数据大小超过可用排序堆空间,但超出比率小于10% 的次数 pool_data_l_reads 已经通过缓冲池的数据页逻辑读取请求数 pool_data_p_reads 要求I/O 将数据页放入缓冲池的读取请求数 pool_index_l_reads 已经通过缓冲池的索引页逻辑读取请求数 pool_index_p_reads 需要将索引页放入缓冲池的物理读取请求数 files_closed 已关闭的数据库文件的总数 pkg_cache_lookups 应用程序在程序包缓存中查找一个节或程序包的次数。在数据库级,它表示自从启动数据库或重置监视器数据以来的引用总数 pkg_cache_inserts 请求的一个节不可用,因而必须加载到程序包缓存中的总次数。此计数包括由系统执行的任何隐式准备

数据库监控和管理解决方案

Foglight ? 数据库监控和管理解决方案 “借助Performance Analysis ,我们在企业应用程序上获得了一个新的优势 — 它向我们展示了可能形成瓶颈的细小错误。” —Jürgen Becker 应用程序开发人员, Adecco “Foglight 为我们提供了无与伦比的应用程序可见性。这种可见性正是我们查找遇到的每个性能问题的根源所需要的。对于 Foglight ,我最喜欢的是它没有引入任何明显的开销,这可能影响我们的业绩考核。” —Stephen Feldman 性能工程和架构高级主管 Blackboard “Dell-Quest 是顶级的开发和数据库管理解决方案独立供应商,它服务于分布式系统和其他非大型机系统。” —“2009年度全球数据库开发和管理工 具供应商和市场领域分析” IDC#226364(2010年12月) “对于希望管理越来越复杂的异构数据库环境、抑制数据库增长和管理数据库管理成本的用户而言,数据库开发和管理工具市场继续为他们带来了重要价值。对于用户,专注于一家DBMS 供应商提供的工具可能是一个重大的禁锢。用户正在考虑不仅提供了灵活性,还能以一致的方式管理异构环境中多个数据库的第三方解决方案。” —“2009 年度全球数据库开发和管理工具 供应商和市场领域分析”IDC#226364(2010年12月) 为跨平台的数据库环境提供一致的服务水平不是一项容易的工作。而且如果您使用每个平台的本机工具或来自多个供应商的第三方解决方案,那么您想要获得可靠的性能数据是几乎不可能的。 借助我们行业领先的数据库监控和管理解决方案,您可轻松地跨多个平台地对数据库进行整合,对数据库性能进行标准化管理。我们提供了针对Oracle 、SQL Server 、DB2和Sybase 的Foglight?解决方案。 我们的软件显著简化了数据库性能监控和管理,提供跨平台数据库环境的一致可见性。此外,Foglight 还显著改善了服务水平,并大大降低了成本。 超出您预期的功能强大的解决方案 数据库性能监控和管理正在快速发展,而我们的解决方案也在不断随之发展。我们的创新产品提供了多个内置的集成点。我们顶级的数据库性能管理产品(Foglight? for Databases 和 Foglight? Performance Analysis )提供了丰富且富有吸引力的功能集,它们既可单独使用,也可作为一个完整的端到端监控、诊断、分析和优化解决方案的一部分。无论您有怎样的业务和基础架构需求,我们的解决方案都可帮助您轻松实现它们。 哪款产品适合您? 我们提供了行业领先的软件将原始数据转换为有用的信息,并优化您的数据库基础架构。此外,我们最优秀的客户经理、技术顾问、架构师和高层管理人员将紧密协作来确保我们的解决方案满足您的独特业务和IT 需求。 无论您需要监控数据库资源还是分析单个项目的工作负载,我们的革命性解决方案都可提供帮助。请更多了解我们可靠的跨平台数据库监控产品,找到最适合您的产品。 跨异构环境的统一数据库监控

相关文档
最新文档