现在所有业务系统上面都部署了各种类型针对各方面的监控,那么咱们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 < alert.err

fi

rm -f alert.err

rm -f alert_work.log

done

3.oracle用户下使用crontab定期运行检查oracle alter日志的脚本,即可。

监控表空间的方法:

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

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数据库的所有表空间的使用情况。

oracle表空间 unifor,Oracle 表空间的监控相关推荐

  1. oracle 默认表空间 10g,Oracle10g 表空间管理

    1.表空间分类: (1)临时表空间:存放临时数据 (2)数据表空间:又称为用户表空间,用来存放永久数据(不删除永久存在) (3)日志表空间:用来存放日志信息 一般情况下,用户使用时只需要创建数据表空间 ...

  2. Oracle - 数据库的实例、表空间、用户、表之间关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  3. oracle 10g磁盘管理,Oracle 10g UNDO表空间过大导致磁盘空间不足的解决

    在Oracle 10g数据库的应用中,出现了UNDO表空间过大导致磁盘空间不足而崩溃的现象(ORA-30036: unable to extend segment by 8 in undo table ...

  4. oracle删除表不等待,oracle故障处理之删除大表空间hang住

    背景 数据库分区表数据越来越大,需要对过期话的数据进行迁移,以及大的分区表需要进行数据的清理和删除,达到释放磁盘空间的目的. 问题说明 环境:linux 6.X 数据库:oracle 11.2.0.4 ...

  5. oracle中表空间创建,Oracle 如何创建表空间

    在Oracle中如何创建表空间呢?主要有两种方式:一种是用sql命令的方式,另外一种是通过Oracle客户端Enterprise Manager Console来创建.下面分别介绍一下: 1 通过sq ...

  6. oracle的后缀名,oracle表空间名字的后缀 :.ora和.dbf有什么不同?

    满意答案 清风淡0512 2017.09.14 采纳率:40%    等级:9 已帮助:567人 没什么区别,主要是好分辨用途,ORACLE8i之前数据文件的后缀名为.ora,之后为.dbf;无论.o ...

  7. oracle:表空间使用率,表空间扩容

    查找oracle数据文件,表空间的位置 执行:Select * FROM DBA_DATA_FILES;查询表空间中数据文件具体位置和文件名,表空间名等 SELECT a.tablespace_nam ...

  8. Oracle数据库用户角色、表空间创建、删除命令

    Oracle数据库用户角色.表空间创建.删除命令 //创建数据表空间 create tablespace BCC datafile 'D:\oracle\oradata\BCC\BCC.dbf' si ...

  9. Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看

    Oracle 数据库表空间 第一章:表空间的拓展 ① 查看剩余表空间大小 ② 查看表空间文件路径 ③ 通过新增表空间文件拓展表空间 ④ 查看表空间已分配大小 第一章:表空间的拓展 ① 查看剩余表空间大 ...

最新文章

  1. golang中的collection
  2. 在IDEA中`New`没有`Mapper`文件选项(亲测)
  3. XorPay.com 支付平台介绍【免费申请个人微信支付接口】
  4. 运行时错误7内存溢出_分别从运行时和GC的角度看JAVA8内存管理
  5. python归一化 增大差异_Python逻辑回归模型原理及实际案例应用
  6. POJ-1861-Network 解题报告
  7. Git笔记(21) 分布式工作流程
  8. 想当老板的人,三点特征很重要(转)
  9. doc.update
  10. 华为轮值董事长郭平:5“机”协同是基础电力,ICT行业应用将像家用电器和工业电气化
  11. 大数据安全问题的类型有哪些
  12. java压缩包上传,解压,预览(利用editor.md和Jstree实现)和下载
  13. 关于 Windows6.1-KB2999226-x64.msu 此更新不适用你的计算机解决办法
  14. 【微信小程序模板直接套用】微信小程序制作模板套用平台
  15. 家庭一台电脑多人上网方法
  16. 计算机芯片制造原理,制作芯片与下围棋——一张图说明芯片的工作原理
  17. ArcGIS超级工具目录
  18. Zookeeper kick off
  19. h2o java_java – 在h2o中加载大于内存大小的数据
  20. 使用Map集合来做一个不同姓氏人数的统计 有一个String数组保存着10个人的姓名{“张三“,“李四“,“王二“...} 通过程序设计,把不同姓氏的姓氏和人数保存到Map集合中

热门文章

  1. 容器开启数据服务之旅系列(四):Kubernetes QoS 助力在线运用与大数据离线运用的带宽控制和磁盘控制...
  2. Java练习:用IF()进行数字排序
  3. CUCM号码转换实验
  4. 我国将明确侵犯个人信息定罪及量刑标准
  5. ORACLE安装启图形界面与oracle安装介质解压后缺jar包
  6. windows下python脚本程序的运行
  7. paip.http 404错误 的解决
  8. 《solidity学习笔记》chapter 3-solidity其他知识
  9. 神技能!研究人员利用扫描仪成功从物理隔离设备中偷出数据
  10. 在react-native中使用redux框架