К основному контенту

Сообщения

Сообщения за декабрь, 2013

Проверка идентичности файлов на 100+ серверах.

Задача: подтверждение идентичности групп файлов на большом количестве серверов. Решение: состоит из 4 файлов, 2 пакетных, текстового (со списком серверов) и файла powershell. 1. основной файл: rem создание необходимых для работы директорий. if not exist log md log if not exist temp md temp rem для всех файлов из servers.txt вызываем файл из п.2 for /f %%i in (server.txt) do start /MIN call robo.cmd %%i   rem ждем пока не отработают все задания сбора статистики :StartLoop ping 127.0.0.1 /n 5 if exist temp\*p.lock GoTo :StartLoop rem на основе файлов отчета по каждому серверу создаем один общий findstr /i "older newer new" log\*.log > log\SOFT_STAT.txt rem вызов сценария powershell. форматирование итогового файла  rem (нужно, чтоб потом загрузить результат в БД) powershell -file replace.ps1 "log\SOFT_STAT.txt" 2. robo.cmd сбор статистики для одного сервера (из списка servers.txt) @echo off rem проверка физической доступности опрашиваемого сер

Использование пакета UTL_MAIL для отправки почтовых сообщений

Пакет UTL_MAIL сильно упрощает процесс отправки сообщений по сравнению с UTL_SMTP. Однако и в десятке, и в 11-ом оракле пакет не установлен по-умолчанию из-за потенциальных уязвимостей. Чтобы установить прогоняем следующие скрипты под sys: @?/rdbms/admin/utlmail.sql @?/rdbms/admin/prvtmail.plb Рекомендуется задавать параметр smtp_out_server виде - mail_server_ip:port на уровне базы. Хотя можно и обойтись простым alter session. Выдаем права на пакет utl_mail пользователю, от которого собираемся отправлять сообщения. Иначе получим: PLS-00201: identifier 'UTL_MAIL' must be declared Проверка работоспособности: EXEC UTL_MAIL.SEND ( SENDER  => 'senders email', RECIPIENTS  => 'recipients email', SUBJECT  => 'subject line', MESSAGE => 'message'); В 11g требуются дополнительные настройки. Ведь даже при выдаче прав попытка вызова utl_mail вернет: ORA-24247: network access denied by access control list (