Linux常用的oracle监控shell脚本

本文介绍了8个常用的监控数据shell脚本。首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本。网上也有好

多类似的文章,但基本上都不能正常运行,花点时间重新整理了下,以后就能直接使用了。

一、文章介绍8个重要的脚本来监控Oracle数据库:

1.检查实例的可用性

2.检查监听器的可用性

3.检查alert日志文件中的错误信息

4.在存放log文件的地方满以前清空旧的log文件

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

6.检查表空间的使用情况

7.找出无效的对象

8.监控用户和事务

二、DBA需要的Unix基本知识

基本的UNIX命令,以下是一些常用的Unix命令:

ps--显示进程

grep--搜索文件中的某种文本模式

mailx--读取或者发送mail

cat--连接文件或者显示它们

cut--选择显示的列

awk--模式匹配语言

df--显示剩余的磁盘空间

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

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

$ ps -ef| grep smon

oracle 22086     1  0 02:32:24          0:04 ora_smon_PPRD10

oracle  5215 28972  0 08:10:19 pts/4    0:00 grep smon

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

$ ps -ef | grep listener |grep -v grep

(grep命令应该加上-i参数,即grep -i listener,该参数的作用是忽略大小写,因为有些时候listener是大写的,这时就会看不到结果)

$ ps -ef|grep -i listener

oracle  9655     1  0   Mar 12          0:01 /data/app/oracle/9.2.0/bin/tnslsnr LISTENER -inherit

oracle 22610     1  0 02:45:02          0:02 /data/app/oracle/10.2.0/bin/tnslsnr LISTENER -inherit

oracle  5268 28972  0 08:13:02 pts/4    0:00 grep -i listener

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

$ df -k | grep /data

/dev/md/dsk/d50      104977675 88610542 15317357    86%    /data

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

$ cat alert_PPRD10.log | wc -l

13124

$ more alert_PPRD10.log | wc -l

13124

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

$ grep ORA-* alert.log

ORA-00600: internal error code, arguments: [kcrrrfswda.1], [], [], [], [], []

ORA-00600: internal error code, arguments: [1881], [25860496], [25857716], []

6. CRONTAB基本

一个crontab文件中包含有六个字段:

分钟 0-59

小时 0-23

月中的第几天 1-31

月份 1 - 12

星期几 0 - 6, with 0 = Sunday

7. Unix命令或者Shell脚本

要编辑一个crontab文件,输入: Crontab -e

要查看一个crontab文件,输入: Crontab -l

0 4 * * 5 /dba/admin/analyze_table.ksh

30 3 * * 3,6 /dba/admin/hotbackup.ksh /dev/null 2>&1

在上面的例子中,第一行显示了一个分析表的脚本在每个星期5的4:00am运行。第二行显示了一个执行热备份的脚本在每个周三和周六的3:

00a.m.运行。

三、监控数据库的常用Shell脚本

以下提供的8个shell脚本覆盖了DBA每日监控工作的90%,你可能还需要修改UNIX的环境变量。

1. 检查Oracle实例的可用性

oratab文件中列出了服务器上的所有数据库

$ cat /var/opt/oracle/oratab

#

# This file is used by ORACLE utilities.  It is created by root.sh

# and updated by the Database Configuration Assistant when creating

# a database.

# A colon, ':', is used as the field terminator.  A new line terminates

# the entry.  Lines beginning with a pound sign, '#', are comments.

#

# Entries are of the form:

时间: 2024-10-31 22:15:55

Linux常用的oracle监控shell脚本的相关文章

嵌入式linux中设置开机运行shell脚本的问题

问题描述 嵌入式linux中设置开机运行shell脚本的问题 想写一个设置静态ip的开机自运行的shell脚本,然后百度说放在rc.local什么的文件里,然后我的板子里/etc 下根本没有这个文件,请大神们指点我应该怎么办? /etc 下只有fstab hosts host.conf group init.d inittab ld.so.conf mdev.conf profile passwd resolv.conf services 解决方案 输入命令 vi /etc/network/in

linux中MySQL慢日志监控shell脚本实例

针对脚本的注解和整体构思,我会放到脚本之后为大家详解. #!/bin/bash    MON_FILE="$2"   # 指定所要监控的脚本路径 SEC=60          # 指定所要监控的频率,即间隔多久去查看一次 MON_POINT_FILE=/tmp/mon_mysql_slow.point  # 指定MySQL慢日志的监控点存放的路径 DIFF_MON_FILE=/tmp/mon_mysql_slow.log     # 指定在监控频率内增加的MySQL慢日志信息存放路径

Linux学习-->如何通过Shell脚本实现发送邮件通知功能?

1.安装和配置sendmail 不需要注册公网域名和MX记录(不需要架设公网邮件服务器),通过Linux系统自带的mail命令即可对公网邮箱发送邮件.不过mail命令是依赖sendmail的,所以我们需要先检查安装和配置sendmail. 一般系统都自带sendmail,但是只能给内网的邮箱发邮件.如果想给公网的邮箱发邮件(比如qq邮箱)就需要配置sendmail. 这里记录sendmail的安装启动配置,各取所需. 尝试使用mail命令发送一封邮件. root@ubuntu4146:/data

linux 基础学习之四:shell脚本学习(1)

1.shell脚本概述 什么是 shell script 呢?  shell 我们在 认识 bash 当中已经提过了,那是一个文字接口底下让我们与系统沟通的一个工具接口,那么 script 是啥? 字面上的意义, script 是『脚本.剧本』的意思.整句话是说, shell script 是针对 shell 所写的『剧本!』 什么东西啊?呵呵!其实, shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使用纯文字文件,将一些 shell 的语法

积累linux常用命令大全_linux shell

本人记忆力有限,就把平时在项目中遇到的linux常用命令分享给大家. Linux常用命令全集 http://www.jb51.net/linux/ linux文件中存在^M 使用shell命令tr可以实现去除,具体命令如下: 复制代码 代码如下:   cat -v yourfile | tr -d "^M" > targetfile VIM中选定某个单词 在ESC之后,使用w或者wi或者vwi可以选择某个单词 在控制台中快速移动光标 1.删除 1.1 ctrl + d 删除光标所

Linux 守护进程 自动重启 shell 脚本分享

#!/bin/sh #本脚本为守护进程, 如果发现进程僵死时, 自动重启进程   function check_and_kill_and_start(){ log_file=$1 ps_name=$2 dead_duration=$3 # echo "check the progress "$ps_name ymd=$(date +%Y-%m-%d) log_file=${log_file}${ymd}.log # echo $log_file 判断是否存在log_file if [ 

一个Linux系统安全设置的Shell脚本的分享(适用CentOS)_linux shell

我们将常用的系统安全配置制作为一个shell脚本,只需要在服务器上运行这个shell脚本即可完成安全设置. linux的系统安全设 置Shell脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置.使用方法将其复制,保存为一个shell文件, 比如security.sh.将其上传到Linux服务器上,执行sh security.sh,就可以使用该脚本了! 复制代码 代码如下: #!/bin/sh# desc: setup linux system securit

linux c程序中获取shell脚本输出的实现方法_C 语言

1. 前言Unix界有一句名言:"一行shell脚本胜过万行C程序",虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令.但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果.例如,执行外部命令ping后,如果执行失败,我们希望得到p

shell脚本实现监控shell脚本的执行流程及变量的值_linux shell

很多时候,我们都会写shell程序来完成一些不用重复造轮子的时刻,但是,又因为shell语句中也会有函数,也会有变量,在运行后到底执行了哪些相关的操作,就需要对具体执行过程中的变量等可变的因素的监控,那么我们下面就写个小小的shell例子,来完成这个对执行过程中条件语句中的变量的变化的监控和整个程序的执行流程的观察. shell程序代码: 复制代码 代码如下: #!/bin/bash function setlogfile {     if ! [ -z "$1" ]; then