Крон посылает электронное письмо с STDERR, но НЕ STDOUT?

См.: http://www.sap-img.com/oracle-database/finding-oracle-sid-of-a-database.htm

, Что является различием между Oracle SIDs и НАЗВАНИЯМИ УСЛУГ Oracle. Один инструмент конфигурации ищет СЕРВИСНОЕ НАЗВАНИЕ, и затем следующее ищет SIDs! Что продолжается?!

SID Oracle является уникальным именем, которое однозначно определяет Ваш экземпляр/базу данных, где, поскольку Сервисное название является псевдонимом TNS, который Вы даете, когда Вы удаленно соединяетесь со своей базой данных, и это Сервисное название зарегистрировано в файле Tnsnames.ora на Ваших клиентах, и это может совпасть с SID, и можно также дать ему любое другое имя, которое Вы хотите.

SERVICE_NAME является новой возможностью от оракула 8i вперед, в котором база данных может зарегистрировать себя в слушателе. Если база данных регистрируется в слушателе таким образом тогда, можно использовать параметр SERVICE_NAME в tnsnames.ora иначе - SID использования в tnsnames.ora.

Также, если у Вас есть OPS (RAC), у Вас будет различный SERVICE_NAME для каждого экземпляра.

SERVICE_NAMES определяет одно или несколько названий сервиса базы данных, с которым соединяется этот экземпляр. Можно определить имена многочисленных услуг для различения различное использование той же базы данных. Например:

SERVICE_NAMES = sales.acme.com, widgetsales.acme.com

можно также использовать сервисные названия для идентификации единственного сервиса, который доступен от двух различных баз данных с помощью репликации.

В среде Oracle Parallel Server, необходимо установить этот параметр для каждого экземпляра.

Короче говоря: SID = уникальное имя Вашего экземпляра DB, ServiceName = псевдоним, используемый при соединении

19
задан g33kz0r 9 April 2011 в 18:28
поделиться

3 ответа

Проверка файла -s сообщит вам, существует ли файл и имеет ли размер больше нуля.

./prog >/dev/null 2>some/file ; if [ -s some/file ] ; then mail < some/file ; fi
8
ответ дан 30 November 2019 в 02:02
поделиться

Для cron вам не нужно перенаправлять почту. Демон cron автоматически отправит вам любой вывод вашей команды по почте. Ваша запись crontab должна выглядеть так:

# every minute
* * * * * ./prog >/dev/null

Если нет вывода STDERR, вы не будете получать почту.

26
ответ дан 30 November 2019 в 02:02
поделиться

mail v1.6 имеет возможность не отправлять сообщения с пустым телом:

 -E      Do not send messages with an empty body.  
         This is useful for piping errors from cron(8) scripts.

Это может быть то, что вы ищете.

15
ответ дан 30 November 2019 в 02:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: