我是靠谱客的博主 知性美女,最近开发中收集的这篇文章主要介绍Oracle巡检,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、 应用系统运行情况
系统登录是否正常响应 ---网页是否正常打开
二、 数据库服务器
(一) 服务器
服务器是否正常启动运行 --服务器是否正常连接
应用系统用户读写共享存储是否正常 --查看共享磁盘组状态是否为mounted select group_number,name,state from v$asm_diskgroup;
CPU 高峰期使用率是否超过 50% (每周) --nmon工具或者zabbix查看
内存高峰期使用率是否达到 80% (每周) --zabbix查看
本地磁盘容量使用是否超过 70% (每周) -- df -h
共享存储容量使用是否超过 70% (每周) -- select group_number,name,state ,total_mb,free_mb ,round (total_mb - free_mb)/total_mb from v$asm_diskgroup;
服务器时间是否与时钟服务器一致(每周) --date (如果没有时钟服务器则查看各个节点时钟是否一致)
(二) 软件
Oracle 集群状态是否正常 -- grid用户登陆数据库所在操作系统 crsctl status res -t 查看network、db、dg、vip结尾的状态是不是都是online
自动备份是否正常 -- 查看networker备份是否正常或查看当前定时任务是否正常
自动归档是否正常 -- 1、查看是否处于归档状态 select name,log_mode from v$database; 2、show parameter LOG_ARCHIVE_START (查看此参数是否为TRUE)
归档日志存储使用是否超过 70% -- sho parameter log_archive (查看参数中对应的目录)
数据库 alert 日志和集群日志是否有错误信息 -- 查看alert日志 diag/rdbms/sid/sid/trace vi alter_
Job(定时任务) 是否正常执行 --select log,log_user,last_date,broken,failures from dba_jobs;
检查是否有失效的存储过程、 函数、 触发器 --《查看无效对象等》
表空间使用率是否超过 70% (每周) --《表空间使用率》
数据库连接数是否超过 70% (每周) -- 1、sho parameter process 2、select count(1)from v$process;
数据库文件所占磁盘空间是否超过 70% (每周) --rac环境查看asm磁盘空间,单实例查看数据文件所在目录
距离应用系统数据库用户密码修改(120 天改一次) 剩余天数(每周) ---select USER#, NAME,PTIME from user$;

查看表空间使用率

SELECT D.TABLESPACE_NAME,
SPACE || 'M' "SUM_SPACE(M)",
BLOCKS "SUM_BLOCKS",
SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)",
ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%'
"USED_RATE(%)",
FREE_SPACE || 'M' "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,
( SELECT TABLESPACE_NAME,
ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL
SELECT D.TABLESPACE_NAME,
SPACE || 'M' "SUM_SPACE(M)",
BLOCKS SUM_BLOCKS,
USED_SPACE || 'M' "USED_SPACE(M)",
ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)",
NVL (FREE_SPACE, 0) || 'M' "FREE_SPACE(M)"
FROM ( SELECT TABLESPACE_NAME,
ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,
SUM (BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
( SELECT TABLESPACE_NAME,
ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE,
ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
ORDER BY 1;

查看备份

set linesize 300
select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');

4、查看后台是否有报错

Su – oracle
Cd $ORACLE_BASE/diag/rdbms/DB_UNIQUE_NAME/DB_NAME/trace/alert_DB_NAME.log
查看最近一天是否有异常,若同步状态正常,可忽略此步骤。

清理共享磁盘
delete archivelog all completed before 'sysdate-15';
select GROUP_NUMBER,NAME,TOTAL_MB,FREE_MB from v$asm_diskgroup;

增加表空间
alter tablespace CDC add datafile '+DATA' size 2G autoextend on next 200M; 00M;;

转载于:https://www.cnblogs.com/wddshuai/p/11045842.html

最后

以上就是知性美女为你收集整理的Oracle巡检的全部内容,希望文章能够帮你解决Oracle巡检所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部