ホームページ データベース mysql チュートリアル Linux/Unix shell 监控Oracle监听器(monitor listener)

Linux/Unix shell 监控Oracle监听器(monitor listener)

Jun 07, 2016 pm 05:26 PM
monitor

使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日至的监控,以

使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日至的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来监控 Oracle 监听器。

Linux Shell的相关参考:

Linux/Unix shell 脚本中调用SQL,RMAN脚本

Linux/Unix shell sql 之间传递变量

Linux Unix shell 调用 PL/SQL

Linux/Unix shell 监控Oracle实例(monitor instance)

1、监控Oracle监听shell脚本

robin@SZDB:~/dba_scripts/custom/bin> more ck_lsnr.sh
# +-------------------------------------------------------+
# +    CHECK LISTENER STATUS AND RESTART IT WHEN FAILED  |
# +    Author : Robinson                                  |
# +    Blog  :,net/robinson_0612        |
# +    Parameter : No                                    |
# +-------------------------------------------------------+

#!/bin/bash
# --------------------
# Define variable
# --------------------

if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
 
TIMESTAMP=`date +%Y%m%d%H%M`;  export TIMESTAMP
DBALIST="robinson.cheng@12306.com"; export DBALIST
MAILPATH=/users/robin/dba_scripts/sendEmail-v1.56
LOG_DIR=/users/robin/dba_scripts/custom/log
LOG_FILE=${LOG_DIR}/lsnr_status_$TIMESTAMP.log
RETENTION=2

# -----------------------------------------
# Define how many listeners need to monitor
# -----------------------------------------

DB_COUNT=6
DB[1]=CNBO1
DB[2]=CNBOTST
DB[3]=CNMMBO
DB[4]=MMBOTST
DB[5]=SYBO2SZ
DB[6]=CNBO2

# -------------------------
# Begin to check listener
# -------------------------

touch $LOG_FILE
echo "`date` " >>$LOG_FILE
echo " The following listeners are down on `hostname`" >>$LOG_FILE
echo "-----------------------------------------------" >>$LOG_FILE

COUNT=1
while [ $COUNT -le $DB_COUNT ];
do
    for db in ${DB[$COUNT]};
    do
    lsnr_flag=`ps -ef | grep -i listener_${DB[$COUNT]} | grep -v grep`
        if [ -z "$lsnr_flag" ]; then
            echo "The listener for the database ${DB[$COUNT]} is down." >>$LOG_FILE
            echo "=======> restart listener for the database ${DB[$COUNT]}" >>$LOG_FILE
            lsnrctl start listener_${DB[$COUNT]} >>$LOG_FILE
            echo -e "------------------------------------------------------------------\n" >>$LOG_FILE
        fi
    done;
    COUNT=`expr $COUNT + 1`
done;

# --------------------------
# Send Email
# --------------------------

cnt=`grep "restart listener" $LOG_FILE |wc -l`
if [ "$cnt" -gt 0 ];then
    $MAILPATH/sendEmail -f szdb@2gotrade.com -t $DBALIST -u "Listener crashed on `hostname`" -o message-file=$LOG_FILE
else
    rm -rf $LOG_FILE
fi

# ------------------------------------------------
# Removing files older than $RETENTION parameter
# ------------------------------------------------

find ${LOG_DIR} -name "*lsnr_status*" -mtime +$RETENTION -exec rm {} \;

exit

oracle@SZDB:/users/robin/dba_scripts/custom/bin> ./ck_lsnr.sh
Feb 01 17:16:34 szdb sendEmail[18611]: Email was sent successfully!
Fri Feb  1 17:16:33 CST 2013      #下面是测试脚本邮件发送包含的内容
 The following listeners are down on SZDB
-----------------------------------------------
The listener for the database CNBO1 is down.
=======> restart listener for the database CNBO1

LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 01-FEB-2013 17:16:33

Copyright (c) 1991, 2006, Oracle.  All rights reserved.

Starting /users/oracle/OraHome10g/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.3.0 - Production System parameter file is
/users/oracle/OraHome10g/network/admin/listener.ora
Log messages written to /users/oracle/OraHome10g/network/log/listener_cnbo1.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.101.7.2)(PORT=1901)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.101.7.2)(PORT=1901)))
STATUS of the LISTENER
------------------------
Alias                    listener_CNBO1
Version                  TNSLSNR for Linux: Version 10.2.0.3.0 - Production
Start Date                01-FEB-2013 17:16:33
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level              off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File  /users/oracle/OraHome10g/network/admin/listener.ora
Listener Log File        /users/oracle/OraHome10g/network/log/listener_cnbo1.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.101.7.2)(PORT=1901)))
Services Summary...
Service "CNBO1" has 1 instance(s).
  Instance "CNBO1", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
------------------------------------------------------------------

2、补充

a、上面的监控监听脚本可以监控多个监听器。

b、监听器的名字的定义格式为LISTENER_$ORACLE_SID,未考虑缺省监听器的情形,,如使用缺省监听器请做相应更改。

b、使用了数组的方式来定义实例名,每一个对应一个监听器,确保DB_COUNT的值与需要监控的监听器个数相符。

c、数组的每一个元素使用的是ORACLE_SID,如果是RAC,可以将其改为主机名。

d、如果检测到监听器宕掉的情形则会自动重启监听并发送邮件。

e、使用了sendEmail邮件发送程序来发送邮件。参阅:不可或缺的 sendEmail

f、通过crontab来部署该脚本。另,Oracle 10g测试可用,Oracle 11g待测。

linux

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

手頃な価格の Xiaomi ゲーミング モニター G24i が 180 Hz ディスプレイと AMD FreeSync を搭載して世界デビュー 手頃な価格の Xiaomi ゲーミング モニター G24i が 180 Hz ディスプレイと AMD FreeSync を搭載して世界デビュー Sep 11, 2024 am 06:39 AM

Xiaomi ゲーミング モニター G24i は世界的にデビューし、新しいラインナップの中で最も手頃な価格のオプションです。 FHD IPS スクリーンを備えており、同社は競争力のあるゲーマーにとって理想的であると主張しています。 23.8 インチ パネルのリフレッシュ レートは 180 Hz、リフレッシュ レートは 1 ms

IFA 2024 | Nitro GS272U M は、Acer のスマート ゲーミング モニターの最新作としてデビューします IFA 2024 | Nitro GS272U M は、Acer のスマート ゲーミング モニターの最新作としてデビューします Sep 05, 2024 am 06:41 AM

NitroGS272U M は、IFA 2024 でスマート モニターとして紹介される Acer CS322Q に加わりました。ただし、前者は、GA シリーズの先行製品よりもゲーマーに近い立場を持っています。また、グレアフリーの WQHD IPS パネルとはいえ、より小型の 27 インチディスプレイも備えています。

Alienware、デュアル解像度とリフレッシュ レート モードを備えたユニークな 27 インチ ゲーム モニター AW2725QF を発表 Alienware、デュアル解像度とリフレッシュ レート モードを備えたユニークな 27 インチ ゲーム モニター AW2725QF を発表 Aug 17, 2024 am 06:52 AM

デルは、愛好家やプロのゲーマーにアピールする特別でかなり便利なトリックを備えた新しい 27 インチ IPS ゲーミング モニターを発表しました。ボタンを押すだけで、Alienware AW2725QF は 2 つの組み合わせを切り替えることができます。

MSI:ユーザーの批判を受けて、安価なゲーム用OLEDもファームウェアアップデートを受け取る予定 - 潜在的に高価なアップデートが行われた場合のみ MSI:ユーザーの批判を受けて、安価なゲーム用OLEDもファームウェアアップデートを受け取る予定 - 潜在的に高価なアップデートが行われた場合のみ Jun 27, 2024 pm 10:03 PM

多くの場合、モニターは広範な設定オプションを使用して使用でき、独自のファームウェアが付属しています。たとえば、対応するユーザー インターフェイスはファームウェア アップデートの一部として更新でき、原則として新しい機能やバグを実装することもできます。

取引 | Samsung 32 インチ 240 Hz 4K Odyssey Neo G8 ゲーミング モニターが Amazon セールで 43% 大幅割引 取引 | Samsung 32 インチ 240 Hz 4K Odyssey Neo G8 ゲーミング モニターが Amazon セールで 43% 大幅割引 Aug 07, 2024 pm 08:52 PM

Samsung の Odyssey ゲーミング モニターのラインナップには、お金で購入できる最高のゲーム モニターがいくつか含まれており、多くの場合、主力価格でトップレベルの機能と仕様を提供します。 Odyssey Neo G8 は、Samsung の Odyss の上位に位置します。

取引 | 34 インチ Samsung Odyssey OLED G8 ウルトラワイド ゲーミング モニターが Amazon の 33% セールで史上最低価格に 取引 | 34 インチ Samsung Odyssey OLED G8 ウルトラワイド ゲーミング モニターが Amazon の 33% セールで史上最低価格に Aug 08, 2024 pm 01:13 PM

サムスンは現在、ゲーミング ウィーク セール イベントを開催しており、Odyssey シリーズの一流ゲーム モニターの多くを割引価格で販売しています。そのようなモニターの 1 つである Samsung Odyssey G85SB OLED (モデル LS34BG850SNXZA) は、期間中大幅に割引されます。

480 Hz および QHD 解像度の OLED: LG ディスプレイが新しいゲーム パネルの量産を開始 480 Hz および QHD 解像度の OLED: LG ディスプレイが新しいゲーム パネルの量産を開始 Sep 05, 2024 am 10:50 AM

LG Displayは最近、ゲームモニター用の最新OLEDパネルの量産を開始したとプレスリリースで発表した。具体的には、これは 27 インチの OLED パネルであり、この種のパネルとしては初めて 480 Hz のフレームレートを達成したと言われています。

OxiWear が、動作中でも機能する持続血中酸素イヤークリップとして FDA の認可を取得 OxiWear が、動作中でも機能する持続血中酸素イヤークリップとして FDA の認可を取得 Aug 31, 2024 pm 09:37 PM

OxiWear は、動作中でも動作する連続血中酸素モニターで FDA の認可を取得しました。他のモニターは、ユーザーが安静にしている場合、または精度と安全性に関して医療機器として FDA の認可を受けていない場合にのみ正確に測定できます。耳、私たちは

See all articles