监控oracle数据库 以及oracle监听 shell脚本

文本格式:

#!/bin/bash

#Author:wangergui Email:[email protected] Date:2016-10-10

#Release 1.0

#Function: check oracle online

declare -a INSTANCE=(PROD EMREP)

[[ -f /home/oracle/.bash_profile ]] && . /home/oracle/.bash_profile || exit 3

function check_listener (){

su - oracle -c "lsnrctl status" >/dev/null 2>&1

if [[ $? -ne 0 ]];then

su - oracle -c "lsnrctl start" >/dev/null 2>&1

[[ $? -ne 0 ]] && echo -e "\E[40;31;5m Your listener is Down!\E[0m"

fi

}

check_listener

function check_oracle (){

for name in "${INSTANCE[@]}";do

(su - oracle <<EOF

sqlplus sys/[email protected]${name} as sysdba

select status from v\$instance;

quit;

EOF

) >/home/oracle/${name}.txt

egrep -q "OPEN" /home/oracle/${name}.txt

[[ $? -ne 0 ]] && echo -e "\E[40;31;5m Oracle ${name} is Down!\E[0m"

done

}

check_oracle

时间: 2024-08-05 10:33:38

监控oracle数据库 以及oracle监听 shell脚本的相关文章

Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

最近在装ORACLE的时候爆出了一个问题, Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 以前装ORACLE好多遍了网上搜了好多方法还是解决不了,最后通过自己的摸索找到了一个不显眼的原因, 打开Oracle - OraDb11g_home1/配置和移植工具/  下面的Net Manager,配置好服务名后,打开监听程序右上角选择数据库服务 一开始的数据库服务中配置是有问题的,一般一开始这个目录是空的需要自己手动添加更改,如下图一开始我的Net Ma

oracle静态与动态监听

在运行lsnrctl命令的status时,常会看到如下返回值: 服务“test”包含1个例程. 例程"mydata",状态 UNKOWN,包含此服务的一个处理程序... 服务"a"包含1个例程. 例程"mydata",状态 READY,包含此服务的一个处理程序... 这里的,状态UNKOWN即表明为静态注册(手动填写参数): 状态为READY的记录,表明为动态注册(listener.ora参数由PMON进程自动从参数文件获取): 一.静态注册 监

关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误

关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误原因:listener.ora中没有指定监听服务器名. 如下是解决思路: 尝试1.通过重启服务的方式启动数据库,再次连接仍无法连接服务器. 尝试2.既然第一种方法不能解决问题,那就第二种方法.考虑监听listener.ora 步骤如下: 在oracle服务器Oracle安装目录(我的在C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下,每个人的不一样,根据自己的情况

oracle:ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

Win7旗舰版安装Oracle11g后,数据库可以正常使用,重启系统,再次连接数据库,提示: ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 解决方法: 1.打开listener.ora文件(\product\11.2.0\dbhome_1\NETWORK\ADMIN\). 2.增加以下红色标识的一段文字. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME =

win7 安装oracle 10g 未生成监听文件 导致配置监听时无法保存

最近这两天一直在为安装 的oracle 配置监听无法保存 再找各种解决方案,最后自己居然自己配置出来了. 因为缺少监听文件,拷贝别人的放到自己的目录下C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN   listener.ora.tnsnames.ora和 sqlnet.ora 1.修改 tnsnames.ora  中的 # tnsnames.ora Network Configuration File:  c:\oracle\product\10.

Oracle Net Manager 测试监听服务

前几天因为工作需要,安装了Oracle 11g,但怎么都监听不了本机.打开 PL/SQL Devloper 也登陆不了.随删除之. 今天有时间,又把Oracle 安装上了,想着怎么才能监听.经过操作,现在成功,下面是 过程: 1. 安装完ORACLE 后,进入 配置与移植工具,选择 Net Manager 2. 配置监听程序和服务命名. 我使用的协议为 TCP/IP. 主机 :127.0.0.1 .端口 : 1521. 3. 打开 CMD,输入 sqlplus.exe sys/manager a

Linux Oracle 11g, lsnrctl start 监听服务启动失败解决办法

[本文谢绝转载原文来自http://990487026.blog.51cto.com] 报错的现象: [[email protected] ~]$ lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 29-AUG-2016 10:38:59 Copyright (c) 1991, 2009, Oracle.  All rights reserved. Starting /opt/oracle/app/produc

涂抹Oracle笔记1-创建数据库及配置监听程序

一.安装ORACLE数据库软件OLTP:online transaction processing 指那些短事务,高并发,读写频繁的数据库系统.--DB_BLOCK_SIZE通常设置较小.OLAP:online analysis processing 指那些处理长事务,低并发,多读少写的数据库系统.---DB_BLOCK_SIZE通常设置较大,如32K. ASM:automatic storage management 自动存储管理系统,独立于操作系统的一种存储管理系统,直接通过操作系统看不到存

oracle 登录数据库时报 无监听 的一种解决方式(监听日志文件达到4g默认上限)

问题:登录服务器时 报无监听服务 检查步骤: 1.进入sqlplus查看数据库的状态,显示当前数据库的状态为OPEN 脚本:select status from v$Instance; 2.检查数据库的监听服务,登录的时候发现进入监听程序的速度非常慢 脚本:lsnrctl status 3.查看监听日志的大小,位置如下: $ORACLE_BASE\diag\tnslsnr\<hostname>\listener\trace\ 5.重启启动监听即可: lsnrctl stop  停止 lsnrc