数据库巡检列表
序号 |
业务系统 |
|
1 |
主机名 |
|
2 |
操作系统 |
|
4 |
单机/RAC |
|
4 |
IP地址 |
|
5 |
地址类型 |
|
6 |
数据类型 |
|
7 |
数据库版本 |
|
8 |
实例名 |
|
巡检方案
检查方面 |
具体检查内容 |
检查标准 |
集群配置 |
集群软件版本 |
集群软件版本要等于或高于DB软件版本 |
|
集群服务状态 |
各种服务状态(除GSD外)需是ONLINE 注:使用asf for rac的环境下ASM资源无需ONLINE |
|
OCR/Votedisk检查 |
OCR及Votedisk状态正常 |
数据库配置 |
数据库版本 |
建议使用未END SERVICE的版本 |
|
数据库参数 |
满足当前业务性能及可用性需求 |
|
运行日志和跟踪文件 |
无异常错误(重点关注600,7445错误) |
|
控制文件 |
检查状态是否正常 |
|
Redo log文件 |
检查状态是否正常 |
|
数据文件 |
数据文件在使用裸设备时,不开启自动扩展 |
|
无效对象 |
检查数据库中是否有无效对象。 |
|
表空间 |
表空间使用本地管理,同时使用率不高于90% |
|
Resource Limit分析 |
检查 processes和 sessions是否到达过最大限制。 |
数据库简单性能评估 |
高峰期等待事件 |
同一时间、同一用户、同一个操作发的等待不得超过20个 |
|
数据库IO响应时间 |
建议数据文件的读写响应时间不得超过10毫秒 |
操作系统巡检
检查主机名
hostname
检查linux服务器的操作系统的版本
cat /etc/redhat-release
查看磁盘空间使用情况
df -hT
df -ih
查看空闲内存
free -h
查看内核/操作系统/CPU信息
uname -a
查看环境变量
env
查看系统运行时间、用户数、负载
uptime -p
查看所有进程
ps -ef | grep oracle
实时显示进程状态
top
查看所有用户的定时任务
crontab -l
监控系统设备的IO负载情况
iostat -xm 1 10
Oracle集群巡检
集群配置
序号 |
集群类型(standalone/rac) |
集群版本 |
PSU补丁版本 |
集群节点数 |
1 |
|
|
|
|
2 |
|
|
|
|
RAC集群的巡检
检查集群服务状态
检查CRS
su - grid
$ORACLE_HOME/bin/crsctl status resource -t
$ORACLE_HOME/bin/crsctl check crs
检查votedisk
$ORACLE_HOME/bin/crsctl query css votedisk
检查nodeapps
$ORACLE_HOME/bin/srvctl status nodeapps
检查ASM
$ORACLE_HOME/bin/srvctl status asm
检查OCR
$ORACLE_HOME/bin/ocrcheck
检查res
$ORACLE_HOME/bin/crsctl stat res -t
查看视图$asm_diskgroup里面的的日志状态信息
select name, total_mb, free_mb, USABLE_FILE_MB, TYPE from gv$asm_diskgroup;
集群日志分析
$GRID_HOME/log/HOSTNAME/crsd/crsd.log
$GRID_HOME/log/HOSTNAME/cssd/ocssd.log
$GRID_HOME/log/HOSTNAME/alert(HOSTNAME).log
Oracle数据库的巡检
收集数据库信息
数据库基本信息
序号 |
全局数据库名 |
数据库实例名 |
数据库角色 |
1 |
|
|
|
2 |
|
|
|
数据库的补丁信息
数据库巡检内容
数据库对象大小
SELECT SUM(bytes)/1024/1024 AS "Total Size (MB)" FROM dba_segments;
SELECT
d.tablespace_name "Name",
TO_CHAR(NVL(a.BYTES / 1024 / 1024, 0),'99,999,990.99') "Size (M)",
TO_CHAR(NVL(a.BYTES - NVL(f.BYTES, 0),0) / 1024 / 1024,'999999990.999') "USE (M)",
TO_CHAR(NVL((a.BYTES - NVL(f.BYTES, 0)) / a.BYTES * 100,0),'990.00') || '%' "USAGE RATE %",
TO_CHAR(NVL(f.BYTES / 1024 / 1024, 0),'99,999,990.99') "free (M)",
TO_CHAR(NVL(f.BYTES / a.BYTES * 100, 0),'99,999,990.99') || '%' "free %"
FROM
SYS.dba_tablespaces d,
(SELECT tablespace_name,SUM(BYTES) BYTES FROM dba_data_files GROUP BY tablespace_name) a,
(SELECT tablespace_name,SUM(BYTES) BYTES FROM dba_free_space GROUP BY tablespace_name) f