热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle表空间的监控

现在所有业务系统上面都部署了各种类型针对各方面的监控,那么咱们oracle也不例外,也需要做关于oracle方面的监控,比如实例的存

现在所有业务系统上面都部署了各种类型针对各方面的监控,那么咱们oracle也不例外,也需要做关于oracle方面的监控,比如实例的存

现在所有业务系统上面都部署了各种类型针对各方面的监控,那么咱们Oracle也不例外,也需要做关于oracle方面的监控,比如实例的存活状况,监听器的存活状况,系统的运行情况(包括,磁盘使用率,进程数,登陆系统用户数,系统负载情况,各类型表空间的使用率等等)基于系统运行情况的监控软件很多,比如nagios之类的,在此就不做使用和监控方法。但是要监控oracle实例的运行情况,就得一直观察oracle的告警日志,那么我们可以通过使用脚本来监控oracle实例的运行情况,当告警日志中出现ORA错误时,立即将告警日志中的错误信息提取使用邮件和短信的方式发送给咱们DBA工程师。至于表空间的监控,由于需要了解表空间的使用率,必须使用sql语句查询来看,仅仅依靠脚本是不够的,那么我们就可以通过脚本+sql语句来监控oracle的表空间。下面我分别说下监控oracle告警日志和表空间的方法。
监控oracle告警日志的方法:

1.创建profile文件。
vim /etc/oracle.profile

#######################################################################
## oracle.profile ##
#######################################################################
EDITOR=vi;export EDITOR
ORACLE_BASE=/u01/app/oracle; export
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64; export
LD_LIBRARY_PATH TNS_ADMIN=$ORACLE_HOME/network/admin;export
TNS_ADMIN NLS_LANG='American_China.ZHS16GBK'; export
NLS_LANG NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'; export
NLS_DATE_FORMAT RATAB=/etc/oratab;export
#ORATAB PATH=$PATH:$ORACLE_HOME:$ORACLE_HOME/bin:/usr/ccs/bin:/bin:/usr/bin:/usr/sbin:/
#sbin:/usr/openwin/bin:/opt/bin:.; export
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
DBALIST="xujinhua@uniits.com,xujinhua@cbc.cn";export DBALIST
2. 编写检查oracle alter日志脚本(oracle用户)
#!/bin/ksh
source /etc/oracle.profile
#for SID in `cat $ORACLE_HOME/sidlist`
for SID in 'orcl'
do
cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace
if [ -f alert_${SID}.log ]
then
mv alert_${SID}.log alert_work.log
touch alert_${SID}.log
cat alert_work.log >> alert_${SID}.hist
grep ORA- alert_work.log > alert.err
fi
if [ `cat alert.err|wc -l` -gt 0 ]
then
mailx -s "mobile-testdb${SID} ORACLE ALERT ERRORS" $DBALIST fi
rm -f alert.err
rm -f alert_work.log
done
3.oracle用户下使用crontab定期运行检查oracle alter日志的脚本,即可。

监控表空间的方法:
由于现在表空间都使用自动扩展模式,在规划数据库的时候,都是根据业务一段时间运行的数据量作参考规划数据文件的大小,从而决定数据文件的个数以及初始每个数据文件的初始大小和每次扩展的大小。那么咱们要监控表空间的利用率是没意义的,因为运行数据增长一段时间就会达到初始设置的大小,,此时就会触发报警表空间不足,但是事实上它会自动扩展。但是也不能说就不监控了,咱们可以定期了解表空间的使用情况,看跟咱们预估的数据文件的大小有多少,这样也能起到监控表空间的效果。 【Linux公社 】

1)编写如下脚本:
[root@woodpecker oracle]# cat tbs_monitor.sh
#!/bin/sh
#this is a script. of monitor
#login
su - oracle -c "sqlplus / as sysdba" <

start /home/oracle/tb_check/spool.sql
exit;
EOF
#out
export ORACLE_SID=orcl
export TODAY=`date '+%Y%m%d'`
MOnITOR=monitor$TODAY.lst
#mail for user
mail -s "$ORACLE_SID TABLESPACE $MONITOR" xujinhua@uniits.com <$MONITOR -- -f xujinhua@uniits.com

2)编写如下sql:
[root@woodpecker oracle]# cat /home/oracle/tb_check/spool.sql
spool on;
set echo off
set feedback off;
set termout off;
set heading on;
set term off
column dat new_value date;
select to_char(sysdate,'yyyymmdd') dat from dual;
spool monitor&&date;

set linesize 80;
select d.tablespace_name,space sum_space,
space-nvl(free_space,0) used_space,
round((1-nvl(free_space,0)/space)*100,2) used_rate,
free_space free_space
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(+);

spool off;
exit;

3)通过系统的crontab定时每天调度一次脚本即可每天告诉给dba数据库的所有表空间的使用情况。


推荐阅读
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
author-avatar
于权drawing
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有