当前位置: 首页 > 图文教程 > 数据库 > Oracle > 监控Oracle数据库的常用shell脚本

Oracle
Oracle数据库技术(32)
Oracle数据库技术(33)
Oracle数据库技术(34)
Oracle数据库技术(35)
Oracle数据库技术(36)
Oracle数据安全面面观
Oracle数据操作和控制语言详解
Oracle数据库数据对象分析
解析Oracle 8i/9i的计划稳定性
使用Oracle实现实时通信
Oracle数据库中索引的维护
Oracle数据库游标使用大全
Oracle9i中监视索引的使用
在Oracle9i中使用多种Block Size
监控Oracle数据库的常用shell脚本
Performance Improvement Tips for Oracle on UNIX
Raw Partitions and Windows NT
How to use OS commands to diagnose Database Performance issues?
Raw Devices and Oracle - 20 Common Questions and Answers
Monitor Oracle Resource Consumption in UNIX

监控Oracle数据库的常用shell脚本


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 49 ::
收藏到网摘: n/a

  前言

  这篇文章介绍了DBA每天在监控Oracle数据库方面的职责,讲述了如何通过shell脚本来完成这些重复的监控工作。本文首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本。同时文章还介绍了8个重要的脚本来监控Oracle数据库:
   检查实例的可用性
 
   检查监听器的可用性

   检查alert日志文件中的错误信息
 
   在存放log文件的地方满以前清空旧的log文件

   分析table和index以获得更好的性能

   检查表空间的使用情况

   找出无效的对象

   监控用户和事务

  DBA需要的Unix基本知识

  基本的UNIX命令

  以下是一些常用的Unix命令:

   ps--显示进程
   grep--搜索文件中的某种文本模式
   mailx--读取或者发送mail
   cat--连接文件或者显示它们
   cut--选择显示的列
   awk--模式匹配语言
   df--显示剩余的磁盘空间

  以下是DBA如何使用这些命令的一些例子:

  显示服务器上的可用实例:

$ ps -ef | grep smon
oracle 21832 1 0 Feb 24 ? 19:05 ora_smon_oradb1
oracle 898 1 0 Feb 15 ? 0:00 ora_smon_oradb2
dliu 25199 19038 0 10:48:57 pts/6 0:00 grep smon
oracle 27798 1 0 05:43:54 ? 0:00 ora_smon_oradb3
oracle 28781 1 0 Mar 03 ? 0:01 ora_smon_oradb4、

  显示服务器上的可用监听器:

$ ps -ef | grep listener | grep -v grep
(译者注:grep命令应该加上-i参数,即grep -i listener,该参数的作用是忽略大小写,因为有些时候listener是大写的,这时就会看不到结果)
oracle 23879 1 0 Feb 24 ? 33:36 /8.1.7/bin/tnslsnr listener_db1 -inherit
oracle 27939 1 0 05:44:02 ? 0:00 /8.1.7/bin/tnslsnr listener_db2 -inherit
oracle 23536 1 0 Feb 12 ? 4:19 /8.1.7/bin/tnslsnr listener_db3 -inherit
oracle 28891 1 0 Mar 03 ? 0:01 /8.1.7/bin/tnslsnr listener_db4 -inherit

  查看Oracle存档目录的文件系统使用情况

$ df -k | grep oraarch
/dev/vx/dsk/proddg/oraarch 71123968 4754872 65850768 7% /u09/oraarch

  统计alter.log文件中的行数:

$ cat alert.log | wc -l
2984

  列出alert.log文件中的全部Oracle错误信息:

$ grep ORA- alert.log
ORA-00600: internal error code, arguments: [kcrrrfswda.1], [], [], [], [], []
ORA-00600: internal error code, arguments: [1881], [25860496],