Сервер приложений Oracle 10g

Мне нужно настроить службу на сервере приложений Oracle для проверки подключения к базе данных, а затем отправить уведомление по электронной почте о состоянии. Кто-нибудь может мне помочь.

Спасибо,


person user9812642    schedule 19.06.2018    source источник


Ответы (1)


Вот один из вариантов:

  • База данных TNSPING, которая вас интересует
  • оценить результат (вас интересует последняя строка)
  • отправить результат на почту

Несколько замечаний:

  • tnsping %1 > ping_result.txt пингует базу данных, переданную в качестве параметра (%1), и сохраняет результат в файле .txt
  • средняя часть скрипта представляет собой модифицированный код, написанный @Aacini (вы увидите ссылку)
  • наконец, рассылка результатов выполняется с помощью bmail (вы можете использовать любую другую почтовую программу SMTP из командной строки; или Google для «загрузки bmail» - это бесплатно)

Вот вам:

rem PING_DB.BAT

@echo off
setlocal EnableDelayedExpansion

tnsping %1 > ping_result.txt

rem Littlefoot slightly adjusted code: https://stackoverflow.com/questions/27416341/how-can-i-read-the-last-2-lines-of-a-file-in-batch-script
rem Tail command in pure Batch, version 2: Tail.bat filename numOfLines
rem Antonio Perez Ayala

set /A firstTail=1, lastTail=0
for /F "delims=" %%a in (ping_result.txt) do (
   set /A lastTail+=1, lines=lastTail-firstTail+1
   set "lastLine[!lastTail!]=%%a"
   if !lines! gtr 1 (
      set "lastLine[!firstTail!]="
      set /A firstTail+=1
   )
)
for /L %%i in (%firstTail%,1,%lastTail%) do set result=!lastLine[%%i]!

rem end of LF's adjustment

echo %result%

echo off
bmail -s smtp.server.name -f [email protected] -t [email protected] -a "%result%" -c

Параметры bmail:

Command Line SMTP Emailer V1.07
Copyright(C) 2002-2004 [email protected]
Date: Wed, 20 Jun 2018 10:08:15 +0200
Usage: bmail [options]
        -s    SMTP Server Name
        -p    SMTP Port Number (optional, defaults to 25)
        -t    To: Address
        -f    From: Address
        -b    Text Body of Message (optional)
        -h    Generate Headers
        -a    Subject (optional)
        -m    Filename (optional) Use file as Body of Message
        -c    Prefix above file with CR/LF to separate body from header
        -d    Debug (Show all mail server communications)

Тестирование (я удалил вывод bmail):

M:\>ping_db xe
TNS-12541: TNS:no listener     --> this is being sent by e-mail

M:\>ping_db orcl
OK (10 msec)                   --> this is being sent by e-mail
person Littlefoot    schedule 20.06.2018
comment
Спасибо, что изучили это. Я новый студент, поэтому не могли бы вы уточнить это более подробно, как я могу это сделать. Ценю вашу помощь. Моя база данных sqlserver. - person user9812642; 20.06.2018
comment
Я сказал все, что хотел сказать. Я не знаю, какую разработку вы ожидаете; Я считаю, что примера и объяснения, которые я предоставил, вполне достаточно, особенно если ваша база данных - MS SQL Server, а вопрос помечен как Oracle. Прими решение. - person Littlefoot; 20.06.2018
comment
Большое вам спасибо за вашу помощь. Это моя ошибка, я пометил пост Oracle. Я должен пометить его SQL-сервером. - person user9812642; 22.06.2018
comment
Все остальные вещи мне понятны, просто нужна одна помощь, для базы данных TNSPING я не понимаю, как пропинговать базу данных сервера sql из TNSPING? любая помощь ? - person user9812642; 22.06.2018