Форум OlegON > Ресурсы OlegON > Вопросы сервера > Программы OlegON

Оптимайзер - 7 (функционал) : Программы OlegON

12.12.2024 23:59


03.03.2015 22:57
OPTIMIZER-7
Название программы читается, как "оптимайзер" или, сокращенно, "опт". Никакого мизера в названии нет!
Настоятельно рекомендую прочитать всю ветку до конца
Обращаться с вопросами по оптимизатору ко мне лично ЗАПРЕЩАЕТСЯ. Для этого есть эта тема.

Регистрация оптимизатора тут за Юмани или по кредитке или тут бесплатно
для регистрации необходимо, чтобы оптимизатор хотя бы раз полностью отработал с -c=o!
при смене сервера программу необходимо зарегистрировать заново, как новую инсталляцию!


Общую философию описывать не буду, она описана здесь. Далее я буду называть оптимизатором оптимайзер 7й версии.

Дистрибутив оптимизатора лежит тут: Хранилище, как поставить - написано тут

Оптимизатор расчитан на работу с Java не ниже версии 1.7.

Параметры (в скобках - значение по умолчанию, 1 = "да", 0 = "нет", никаких yes, no, true, false):

AdminEmail - адрес электропочты для администратора БД. Сюда высылаются уведомления, касающиеся работы базы, ее целостности.

AlertMaxSize (100) - размер в Мб, по достижении которого alert.log будет переименован в alert.log.bak, с удалением старого alert.log.bak.

AutoMT (1) - автоматическая коррекция времени МТ в зависимости от времени расчета товародвижения. В случае, если работы пересекаются с расчетом товародвижения, оптимизатор сообщит об этом администратору БД и попытается изменить время своих работ таким образом, чтобы не помешать расчету и уложиться в нерабочее время.

AutoReboot (1) - разрешить оптимизатору перезагружать сервер при обнаружении глюков и раз в 14 дней.

ChkLong (6000) - запросы больше этого времени (в секундах) будут отсылаться на почту админа. Без отложенной отсылки. Для отключения задайте равным 0.

ChkLongDays (1,2,3,4,5) - дни недели, когда работает проверка длительных запросов.

ChkMTvsTD (1) - проверка пересечения MaintenanceTime и времени расчета товародвижения.

ChkSMServer (1) - перезапуск Сервера Супермага, если Windows и отсутствует сессия сервера приложений в базе.

CheckSysTables (1) - принудительная проверка SYS-таблиц на целостность (при 11.2.0.1 игнорируется из-за бага), выполняется раз в 14 дней.

CleanAudit (1) - включение аудита подключений. Оптимизатор не поддерживает настройку и очистку журналов FGA. Журналы стандартного аудита очищаются от записей старше двух месяцев, либо при превышении миллиона записей, таблица аудита усекается.

DailyReport (1) - Высылать ли ежедневный отчет.

DisconnConsole (1) - в МТ отлогинивание пользователей с консоли.

DisconnRDP (1) - в MT отлогинивание пользователей из RDP сессий.

DropInvPubSyn (0) - автоматическое удаление инвалидных публичных синонимов. Включайте эту опцию только когда понимаете, что делаете!

DropInvPB (0) - автоматическое удаление инвалидных package body. Включайте эту опцию только когда понимаете, что делаете!

DropInvFunc (0) - автоматическое удаление инвалидных функций. Включайте эту опцию только когда понимаете, что делаете!

DropInvType (0) - - автоматическое удаление инвалидных типов. Включайте эту опцию только когда понимаете, что делаете!

DropInvView (0) - автоматическое удаление инвалидных представлений. Включайте эту опцию только когда понимаете, что делаете!

DropSYSMAN (1) - удаление пользователя SYSMAN. Работает только при условии отсутствия инвалидов в базе.

DropOCM (1) - удаление пользователя ORACLE_OCM. Работает только при условии отсутствия инвалидов в базе.

ExpCardFile (0) - выгрузка карточек товара

ExpClassFile (0) - выгрузка классификатора товара

ExpBarcodeFile (0) - выгрузка штрихкодов карточек

ExpGoodsFile (0) - выгрузка товарных остатков

ExpPricesFile (0) - выгрузка цен

InvalidsAlert (1) - в Maintenance Time сообщение об инвалидах будет приходить на почту (1) или в это время вообще инвалиды не проверяются (0)

LongLimit - строка вида USER;LIMIT;, где перечисляется максимальное время активности пользователя USER в секундах, в WorkTime, при превышении которого сессия будет прибиваться (при ChkLong=0 и несовпадении с ChkLongDays функция отключается).

LowDiskSpace (10000) - размер свободного пространства в Мб, которое должно поддерживаться на дисках с инсталляцией Oracle и файлами БД. (ниже - будет ругаться в почту)

MaintenanceDays (1,2,3,4,5,6,7) - дни недели, когда проводятся работы. Бекапы не учитывают этот параметр, хотя учитывают MaintenanceTime.

MaintenanceTime (01:00,2) - время, когда оптимизатор может начать свои работы. В отличие от предыдущего оптимизатора кардинально изменены работы и их состав и влияние на БД. Оптимизатор контролирует назначение времени работ. В случае, если работы приходятся на рабочее время, оптимизатор об этом сообщит администратору БД. Обратите внимание, что работы НЕ прерываются при выходе из указанного периода. Иными словами, если вы остановите оптимизатор до 2:59, а затем запустите его в 2:59, то оптимизатор попытается начать все необходимые процедуры, как если бы был запущен в 01:00. При регулярном использовании оптимизатора процедуры обслуживания не должны занимать слишком много времени.

ManagerEmail - адрес электропочты для помощника админа БД и системного администратора. Сюда передаются уведомления о проблемах в системе, например, потерях связи и пр.

MaxDocDiff (750) - максимальный возраст (в днях) документа, который можно редактировать.

MemoryLimit (0) - на какой размер доступной памяти для базы ориентироваться оптимизатору при автоматическом ее распределении.

MinFreeTablespace (10) - минимальное свободное место в табличном пространстве в Гб, по достижении этого предела, с учетом авторасширения, будет добавлен еще один файл табличного пространства.

MinFutureDoc (7) - количество дней от текущей даты, через которые документы будут считаться в будущем.

OnlyGoodsInRep (0) - ограничивать отчет "Топ товаров" ежедневного отчета только карточками с типами "товар".

PostAuto (1) - автоматическая настройка почтовика (только для клиентов)

PostHost - адрес или имя почтового сервера для рассылки уведомления

PostUser - имя пользователя подключения к почтовому серверу для рассылки уведомления

PostFromUser (PostUser) - адрес от кого происходит рассылка уведомления

PostPort - порт почтового сервера для рассылки уведомления

PostPassword - пароль подключения к почтовому серверу для рассылки уведомлений

PostTLS, PostSSL (1) - включение алгоритмов соответствующего шифрования для почтовых серверов.

ProtectedUsers ('SYS','SUPERMAG') - пользователи, защищенные от отключений оптимизатором и прочих его воздействий (перечисляются в кавычках, через запятую)

Parallel (cpu_count) - количество потоков для многопоточных операций (например, перестройка инвалидных индексов, перекомпиляция объектов, копирование файлов при холодном бекапе и пр.)

ProxyHost ("") - имя хоста прокси для использования прокси

ProxyPassword ("") - пароль чистым текстом для использования прокси

ProxyPort ("") - номер TCP-порта для использования прокси

ProxyType ("none") - тип прокси (HTTP/SOCKS)

ProxyUser ("") - имя пользователя для использования прокси

PutCardsStat (1) - передавать статистику по карточкам (сочетание штрихкодов и наименований)

RecoverySize (5) - индекс места, выделяемого для файлов бекапа и архивлогов.

Redundancy (1) - количество копий локального хранения бекапов.

ReportFin (1) - высылать в ежедневном отчете финансовую статистику, т.е. данные о выручке и статистику по продажам.

ReportMail (ManagerEmail) - адрес электропочты для ежедневного отчета. В первую очередь производится попытка выслать ежедневный отчет на этот адрес.

ReportBProp ('') - свойства тела письма ежедневного отчета. То, что размещается внутри тега <body ...> письма ежедневного отчета.

ReportSendMan (0) - высылать ежедневный отчет на почту ManagerEmail

ReportSendAdm (0) - высылать ежедневный отчет на почту AdminEmail

ReportTime ("07:00,2") - в какое время генерировать ежедневный отчет. При запуске в интервале времени с 7 в течение двух часов, оптимизатор постарается сформировать отчет и выслать его по указанным в конфиге адресам. В случае успешной отправки, в этот день отчет уже не высылается. Обратите внимание, что в отличие от ошибок и т.п., отчеты не накапливаются в оффлайне. Т.е. если попытка отправки не удалась, отчет уничтожается.

ReportTop ("<style>th {padding: 4px;} td {padding: 4px;}</style>") - Содержимое, размещаемое в начале письма ежедневного отчета.

ReportTProp (border="1" style="font-family:sans-serif;font-size:12px;border:1px solid black;border-collapse:collapse;background:#F5F5FF") - свойства таблиц ежедневного отчета, то, что размещается внутри тега <table ...>

RMANDelArch (0) - удаление архивлогов после каждого прохода (только при включенном архивлоге).

RMANDelArchX (0) - удаление архивлогов непосредственно перед бекапом RMAN.

ShiftClosed (740) - граница в днях, старше которой будет запрещаться редактирование документов (параметр в Административном модуле Супермага).

Target (db_recovery_file_dest) - корневая директория для файлов горячего или холодного резервного копирования

TempIndexFactor (4) - коэффициент расчета объема табличного пространства TEMP

TraceAge (14) - граница в днях, старше которой будут удаляться файлы трассировки Oracle

TopCount (10) - количество товаров в отчетах "Топ товаров" ежедневного отчета

UnlimPasswLT (1) - на базах Супермага отключает устаревание паролей и уменьшает время блокировки учетки по перебору паролей.

UseOldBackup (0) - использовать старый backuper-подобный бекап (файловый)

UseRMAN (1) - использовать ли RMAN для бекапа

WorkTime (09:00,9) - рабочее время. Интервал, который не должен пересекаться с МТ и за пределами которого будут придавливаться некоторые уведомления.

VerifyRMAN (1) - проверять бекап RMAN после его создания.

При накоплении журнала более 10 мегабайт (отсутствие связи) он усекается (только для клиентов).

Поддерживаемые команды:

o - стандартная оптимизация. Предназначена для регулярного запуска.

M - перемещение всех несистемных таблиц.

C - сортировка классификатора Супермага

Дополнительные файлы конфигурации:

activelim.txt - перечень вида
USER
LIMIT
преобразовывается в параметр LongLimit
reports.txt - дополнительные отчеты для ежедневного отчета, построчное перечисление
Заголовок
Запрос

errorfilter.txt - перечень вида
email|Строка замены|Регулярное выражение поиска
файл создается при его отсутствии с типовыми примерами. Можно задать до 100 фильтров, суть которых в том, что при возникновении ошибки ее текст будет сравниваться с перечнем регулярных выражений. При совпадении выражения с ошибкой, ее текст будет отправлен на заданный емейл. Для отправки на AdminEmail необходимо указать одну букву A, для ManagerEmail - M. Для игнорирования ошибки можно указать любую другую строку, не содержащую @. Если в email содержится @, то он признается допустимым и оптимизатор пытается отправить ошибку на него. Если строка замены не "-", то текст ошибки будет полностью заменен на строку замены. Не совпадающие ни с одним регулярным выражением ошибки отправляются администратору. При отправке на сторонние емейлы идентификатор базы в теме усекается до имени базы, почта в этом случае не буферизуется (отправляется отдельными письмами на каждую ошибку и не сохраняется в случае ошибок и недоступности почтового сервера).

Статистика и количество подключенных баз

03.03.2015 23:04
Поддерживаются версии Oracle 10 и 11.

В случае, если почтовый сервер недоступен, оптимизатор складывает письма в локальный почтовый ящик и вышлет их, как только появится связь.
В настоящий момент для работы оптимизатора рекомендуется связь с http://optimizer.olegon.ru, поскольку именно здесь он проверяет свою лицензию и версию, поддерживается прокси-сервер. Тем не менее, оптимизатор может проработать не менее недели без связи. Обновление версии оптимизатора происходит немедленно и автоматически. Оптимизатор проверяет размер своего журнала. При достижении 50Мб журнал переименовывается в optimizer.log.bak с удалением старой резервной копии.

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

Если Вы использовали оптимизатор-4, часть параметров будет сконвертирована из имеющихся. Обращаю внимание, что время теперь всегда используется локальное (при конвертации это учитывается). Параметры теперь сохраняются в ini-файле директории оптимизатора, а счетчики по прежнему - в таблице SYS.OLEGON_PARAMS.

Обязательным условием работы оптимизатора является локальная авторизация без пароля. Т.е. оптимизатор должен запускаться из под пользователя в группе ora_dba (Windows) или dba (Unix/Linux). И подключение настроено таким образом, чтобы команда sqlplus / as sysdba в консоли подключала sqlplus без дополнительных вводов и ошибок.
02.04.2015 14:08
Выпуск бета-версии. Ошибки, проблемы, замечания, пожелания прошу оставлять тут: Оптимайзер - 7 (вопросы и обсуждения)
02.04.2015 14:11
Убедительная просьба отозваться тех, кто будет использовать UseOldBackup = 1, т.е. бекапер старого типа, я его напостоянку не включал.
02.04.2015 14:19
Для запуска бекапера старого типа можно использовать команду b, т.е. параметр -c=b, но я рекомендую использовать его в общем режиме оптимизации, т.е. -c=o, раз в сутки бекап и будет выполняться в МТ. Извините, этот режим бекапа у клиентов не тестирую, поэтому надеюсь на ваши отзывы.
02.04.2015 14:27
В связи с тем, что я перегрузился на работе и не успел выложить бету в означенные раньше сроки, старый оптимизатор будет жить до 15 апреля.
15 апреля вместо старого оптимизатора будет включен модуль, обновляющий оптимизатор 4 на оптимизатор 7, имейте, пожалуйста ввиду.
02.04.2015 14:29
Механизм регистрации одинаковый для всех версий оптимизатора.
02.04.2015 16:10
Повторюсь. Раньше уведомления слал тот кусок оптимизатора, который работал на моей стороне.
Теперь оптимизатор на вашей стороне является почтовым клиентом, т.е. ему надо указать
PostUser, PostPort, PostPassword - реквизиты для подключения к вашему почтовому серверу, откуда вы будете слать уведомления. Настройки аналогичны обычному почтовому клиенту.
PostTLS, PostSSL надо будет включить, если ваш почтовик требует шифрование.
02.04.2015 18:45
Благодаря Propil поправил косяк с вылетом регистрированных версий.
02.04.2015 21:48
В каталоге с программой можно создать файл reports.txt, в котором перечислить построчно заголовки и запросы для ежедневного отчета, например,

Цитата:
Пользователи базы
select username "Пользователь" from dba_users
Полученный результат (если он непустой) будет добавлен в виде HTML-таблицы к отчету, наравне с другими запросами.
Пар может быть сколько угодно, но парность должна быть обязательно соблюдена, т.е. в файле должно быть четное количество строк.
Часовой пояс GMT +3, время: 23:59.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.