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

15.1. Обзоры серверов и процессов

Подробное представление о состоянии инстанций систем R/3 и функциональном назначении рабочих процессов R/3 можно получить из обзора серверов, процессов (который был кратко описан в главе 2), а также управляющей панели Control Panel (см главу 14).

Обзор серверов

Обзор серверов ►Server Overview выводит все доступные инстанции системы R/3 (см. рис. 15.1) с информацией об используемых серверах и типах сконфигурированных рабочих процессов. В Web Application Server указывается также состояние инстанции.

► initial

Сервер приложений зарегистрировался на сервере сообщений, но к нему еще не обращались.

► starting

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

► active

Сервер приложений работает в обычном рабочем режиме и обрабатывает запросы.

► passive

Сервер приложений будет деактивирован. Он завершит обработку своих задач, но не будет принимать никаких новых задач.

► shutdown

Сервер приложений выключается и больше не будет обрабатывать никакие задачи.

► stop

Сервер приложений больше не имеет соединения с сервером сообщений и поэтому недоступен.

Рис. 15.1. Обзор серверов в системе R/3 уровня предприятия

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

Таблица 15.1. Параметры в обзоре серверов

Обзор сервера сообщений

Сервер приложений Web включает также ►Message Server Overview, который аналогичен обзору серверов. Чтобы проанализировать сервер сообщений, можно выбрать из позиций меню Goto. Кроме информации, доступной в обзоре серверов, этот новый обзор включает также следующие данные и действия:

► Выводит аппаратный ключ (см. главу 4)

► Выводит все (и изменяет некоторые) системные параметры, специфические для серверов сообщений

► Выводит статистические данные, такие как число регистрации, полученные запросы и количество записанных/прочитанных байтов

► Выводит файл трассировки разработчиков сервера сообщений dev_ms и изменяет текущий уровень трассировки без перезапуска инстанции

► Останавливает серверы приложений, с завершением или без завершения обработки запросов все еще присутствующих в очереди диспетчера; статус сервера будет shutdown

► Деактивирует серверы приложений и завершает обработку запросов все еще присутствующих в очереди диспетчера; статус сервера будет passive

► Реактивирует деактивированные серверы приложений.

Обзор процессов

Чтобы вывести всеобъемлющий обзор процессов одной инстанции (помимо вызова соответствующей функции в обзоре серверов), выберите ►Process Overview. В табличной форме будет выведена следующая информация:

► Внутренний номер процесса

Система использует этот номер внутри себя, например для присвоения сообщений процессам. Номер процесса содержится в имени соответствующей трассировки разработчика

► Тип процесса

- DIA: Диалоговый рабочий процесс

- UPD: Процесс обновления для критических по времени изменений в базе данных (обновление VI, см. главу 10)

- UPD2: Процесс обновления для некритических по времени изменений в базе данных (обновление V2, см. главу 10)

- ENQ: Рабочий процесс очереди для обработки блокировок SAP

- ВТС: Фоновый рабочий процесс

- SPO: Рабочий процесс спула

► Номер процесса на уровне операционной системы (PID)

При необходимости можно указать этот номер процесса, чтобы завершить процесс на уровне операционной системы

► Статус процесса

- running. Процесс в данное время обрабатывает запрос

- waiting. Процесс доступен и ожидает новые запросы

- hold: Процесс в данный момент присвоен одному пользователю. Этот статус возникает во время обычных системных операций, но может вызывать проблемы с производительностью, если слишком много процессов имеют такой статус

- killed: Процесс был прекращен в связи с ошибкой и не был перезапущен

► Причина удержания

Когда процессы имеют статус hold, причиной удержания процесса появляется здесь. Обычными причинами являются:

- CPIC: Рабочий процесс ожидает сообщение CPI-C

- DEBUG: Рабочий процесс находится в данное время в режиме отладки

- LOCK: Рабочий процесс был присвоен одному пользователю исключительно для системного анализа

- NUM: Рабочий процесс ожидает ответа сервера диапазона номеров

- OS: Рабочий процесс ожидает обработки команды операционной системы

- PRTV: Рабочий процесс работает исключительно для одного пользователя

- SLEEP: Рабочий процесс ожидает в связи с недостатком ресурсов

- VB: Рабочий процесс ожидает обработки синхронного запроса обновления

► Метод запуска

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

► Число прекращений

Столбец Err определяет, сколько раз рабочий процесс был прекращен с момента последнего запуска инстанции

► Семафоры

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

► Накопленное время выполнения текущего действия в секундах

► Текущий отчет

► Присвоенный в настоящее время пользователь для клиента

► Текущее действие и обрабатываемая таблица

Можно использовать функцию List • CPU в Process Overview для вывода дополнительной информации о загрузке ЦП, создаваемой процессами. На рис. 15.2 показан раздел обзора процессов.

Обзор процессов позволяет, например, обнаружить особенно долго выполняющиеся отчеты. Можно также выбрать Process • Details (или дважды щелкнуть мышью на соответствующей строке), чтобы вывести подробную информацию для шага обработки. Будут выведены обрабатывающаяся в данный момент таблица и использованные до сих пор ресурсы.

Рис. 15.2. Обзор процессов

Режим отладки

Опытные пользователи могут использовать режим отладки, который может оказаться полезным и информативным для выполнения программ АВАР. Чтобы активизировать этот режим для выбранного процесса, выберите Program/Session • Program • Debugging. Будет выводиться пошаговое выполнение соответствующей программы. Пользователь получает полный контроль над потоком выполнения программы. Поскольку выполнение программы в режиме отладки требует очень много ресурсов, необходимо использовать его только для тестирования и разработки систем.

При возникновении серьезных проблем можно также отменить или перезапустить диалоговый или фоновый рабочие процессы (Process • Cancel with Core, Process • Cancel w/o Core, Restart after Error • Yes). Соответствующая транзакция откатывается назад. Пользователю обычно посылается сообщение, указывающее, что системный администратор отменил его процесс. Однако на самом деле невозможно отменить процессы обновления или обработки очереди вручную, так как это могло бы создать логические противоречия в базе данных.

Каждый рабочий процесс записывает отдельный файл журнала ошибок (см. раздел 15.5). Можно задать степень детализации в журнале ошибок, используя различные критерии, такие как выбор вручную или тип рабочего процесса, задавая системный параметр, или через Process • Trace из ►Process Overview. Можно ограничить загружаемые компоненты, чтобы сократить записанную информацию трассировки до определенной подобласти. Выводимые компоненты являются подмножеством выбранных компонентов загрузки и описывают информацию трассировки, которая фактически выводится из собранной информации. Рабочие процессы, которые выполняются с уровнем трассировки больше 1, выделяются желтым цветом в списке процессов.

Обзор глобальных рабочих процессов

Кроме описанного выше обзора локальных процессов, доступен обзор ►Global Work Process Overview. Эту транзакцию можно использовать для мониторинга загрузки рабочих процессов на всех активных инстанциях. Широкий диапазон критериев выбора доступен для форматирования, фильтрации и сортировки вывода.

Рис. 15.3. Выбор процесса в обзоре глобальных рабочих процессов

Монитор ICM

Администрирование и мониторинг Менеджера коммуникации Интернета (ICM, см. главу 1) выполняется в ►ICM Monitor. Подобно обзору процессов Монитор ICM (см. рис. 15.4) выводит список сконфигурированных рабочих потоков (worker threads) и их текущих состояний вместе с дополнительной информацией и возможными действиями.

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

Рис. 15.4. Монитор ICM

Таблица 15.2. Опции обзора рабочих потоков

Пункт меню Goto Пиктограмма Действие
SAP Directories Переход к изображению каталогов SAP для выбранной инстанции (см. рис. 15.5)
OS Monitor Переход к ►OS Monitor для выбранной инстанции (см. рис. 15.7)
Communication table Вывод всех соединений CPI-C (клиент и сервер)
Queue Information Информация об очереди запросов; число сконфигурированных процессов для каждого типа запросов и статистические данные об их использовании, интегрированные в выборку серверной информации в Web AS 6.10 и более поздних версиях
Host Name Buffer Записи в сетевых конфигурационных файлах, хосты и службы, может активироваться без перезапуска инстанций
Gateway Monitor Переход к ►Gateway Monitor для выбранной инстанции (см. главу 13).
Server Information В Web AS 6.10 и более поздних версиях здесь консолидируются описанные выше позиции Environment, Queue Info, и Comm. Table. Можно также зарегистрироваться на сервере приложений (Logon Data) и выполнить тест соединения (Connection Test). Функция поиска в трассировке позволяет найти определенную строку во всех трассировках разработчиков в выбранной инстанции (см. раздел 15.5)

Можно использовать меню Administration для прекращения или перезапуска ICM, а также для администрирования процессора J2EE.

icmon

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

□ icmon [-gs -с <командный файл> -f <файл трассировки> -t <уровень трассировки>] -u <пользователь> -p <пароль> pf=<профиль>

Аналогично утилите dpmon (см. главу 2) icmon предоставляет статистические данные о состоянии ICM и позволяет, например, модифицировать уровень трассировки рабочих процессов.

Листинг 15.1. Вывод icmon

ICM's Statistics

================

Server started at: Wed Oct 16 10:04:11 2002

Status: ICM_STATUS_RUN (pid: 956), DP port: 65000

Current number of threads: 10, peak: 10, max: 50

Current number of open connections: 0, peak: 4, max: 300

Current number of requests in queue: 0, peak: 2, max: 100

Floating average of requests in queue: 0

Statistics level: 1

Bytes read (MB): 0

Bytes read: 123456

Bytes written (MB): 1

Bytes written: 495546

No. of requests: 281

No. of rollouts: 81

No. of rollins: 81

No. of timeouts: 0

No. of errors: 23

Overall time: 0:33:17:929851

Min req time (sec): 0.019779

Max req time (sec): 154.859192

+--+----+----+--—+-------------------+--------------+

|No|thid|#req|cid|     Thread Status | Request type |

+--+----+----+--—+-------------------+--------------+

| 0|  0 | 29 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 1|  0 | 38 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 2|  0 | 28 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 3|  0 | 31 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 4|  0 | 36 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 5|  0 | 26 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 6|  0 | 31 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 7|  0 | 28 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 8|  0 | 33 |-1 |ICM_THR_STATUS_IDLE|          NOP |

| 9|  0 | 36 |-1 |ICM THR STATUS_IDLE|          NOP |

+--+----+----+---+-------------------+--------------+

+ - increase trace level by one

- - decrease trace level by one

S - increase statistic level by one

s - decrease statistic level by one

q – quit

m - menu

На рис. 15.5 показана статистика кэша сервера ICM со статистикой уровня 1 (настройка по умолчанию).

Рис. 15.5. Статистика ICM

15.2. Обзоры пользователей

Для дополнительного анализа можно выбрать функцию Goto • User в ►Server Overview для вывода ►User Overview или вызова действия непосредственно.

Деятельность пользователей на локальной инстанции

Этот обзор (см. рис. 15.6) дает представление о текущей деятельности пользователей на локальной инстанции. Система выводит следующую информацию для каждого активного пользователя: терминал, использованный для регистрации, текущую транзакцию, число открытых сеансов и время последнего выполненного диалогового шага. Можно активировать трассировку пользователей (User • Trace • Activate) для выбранных пользователей, которая записывает в журнал все действия, выполненные этими пользователями. Можно проанализировать и деактивировать трассировку пользователей аналогичным образом. Активацию трассировки пользователей рекомендуется использовать, когда необходимо анализировать проблемные ситуации, возникающие только для отдельных пользователей. При необходимости в обзоре пользователей можно также удалить сеансы пользователей и заставить пользователей выйти из системы.

Рис. 15.6. Обзор локальных пользователей

Обзор глобальных пользователей

►Global User Overview выводит всех активных пользователей с подробной информацией о типе, клиенте регистрации, выполненной транзакции и времени последнего диалогового шага (см. рис. 15.7).

Этот монитор всегда появляется на английском языке, независимо от языка регистрации в системе.

Рис. 15.7. Обзор глобальных пользователей

15.3. Системный журнал

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

Поэтому Каждый системный администратор должен ежедневно осуществлять проверку системного журнала (►System Log). Локальный системный журнал записывается для каждого сервера приложений в файл SLOG<номер_инстанции>.log в подкаталоге log-каталога инстанции (см. главу 1), если не указано иначе. Каждая запись журнала занимает 192 байт. Это означает, что используемый по умолчанию размер в 500 Кбайт соответствует 2065 записям журнала. Начиная с пустого файла при достижении файлом журнала определенного предела размера, каждая новая запись выталкивает самую старую запись из файла. Можно также определить файл резервной копии, в который переносится содержимое реального файла журнала, когда достигается максимальный размер. В этом случае файл журнала начинается снова с пустого файла.

Соответствующими параметрами являются rslg/max_diskspace/local для размера файла журнала и rslg/local/file и rslg/local/old_file для имен файлов журнала и резервной копии.

Глобальный системный журнал

Глобальный системный журнал доступен также в системах UNIX. Записи всех локальных журналов систем сконфигурированных инстанций можно объединить в одном журнале. Соответствующий файл сохраняется в подкаталоге global системного каталога; его имя по умолчанию — SLOGJ. В противоположность локальному системному журналу центральный системный журнал автоматически переносится в файл резервной копии SLOGJ0, когда файл заполняется, а старый файл SLOGJ0 перезаписывается. Можно задать размер глобального системного журнала с помощью системного параметра rslg/max_diskspace/global. Это значение является суммой SLOGJ и SLOGJ0 и по умолчанию равно 2 Мбайт.

Если желательно использовать глобальный системный журнал, выполните следующие действия:

► Определите инстанцию для записи глобального системного журнала.

► Задайте требуемые параметры журнала в профилях инстанций.

► Запустите процесс send (послать) на всех вовлеченных инстанциях.

► Запустите процесс collector (сборщик) на инстанции, определенной на первом шаге.

Выбор системных журналов

При запуске анализа записей журнала с помощью ►System Log есть возможность сначала выбрать, какие системные журналы желательно проверить. Пункт меню System Log • Choose предлагает следующие варианты:

► Local SysLog

Настройка по умолчанию; выводятся записи системного журнала на локальной инстанции.

► Remote SysLog

Выводятся записи системного журнала инстанции, определенной в поле Instance Name.

► All Remote SysLog

Выводятся записи системного журнала всех доступных инстанций.

► Central SysLog

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

Анализ системных журналов

Для анализа системного журнала (►System Log) доступно множество критериев выбора. Экспертный режим (Edit • Expert Mode) предлагает еще более широкие возможности. При желании можно ограничить выбор по:

► Временным рамкам

► Пользователю

► Коду транзакции

► Типу процесса

► Классу проблемы

► Дополнительным критериям в экспертном режиме

Системный журнал считывается, и все сообщения, которые удовлетворяют определенным критериям, выводятся в виде списка.

На рис. 15.8 показан фрагмент локального системного журнала системы «HUY». Системный журнал содержит последние действия запуска инстанции вместе со связанными действиями, такими как запуск процесса отправки rslgsend для глобального системного журнала. В 13:06 процесс обновления динамически переключился в рабочий процесс для фоновой обработки (о переключении рабочего режима см. главу 14). Потом в нескольких транзакциях выполняется откат. Можно вывести причину проблем, дважды щелкнув мышью на записи или выбирая в списке Edit • Details. Стандартная компоновка списка выводит отметку времени, соответствующий рабочий процесс, клиента, пользователя, код транзакции, номер сообщения и небольшой текст. При желании можно также дополнить этот вывод другой информацией, такой как имя программы, как показано в примере.

15.4. Анализ ошибок времени выполнения

Краткий дамп

Если во время выполнения программы АВАР происходит завершение, то для проблемы генерируется краткий дамп и сохраняется для дальнейшего анализа. В системах разработки дамп является важной утилитой при программировании; разработчик отвечает, прежде всего, за анализ и исправление ошибок. Однако ошибки времени выполнения не должны случаться в производственных системах, где не происходят разработки.

Рис. 15.8. Фрагмент локального системного журнала

Поэтому системному администратору нужно ежедневно проверять, не произошли ли аварийные завершения программ, а если они случились, определить, почему это произошло. Для этого используется ►Dump Analysis. Вся важная фоновая информация (в дополнение к точке прекращения и времени ошибки) сохраняется для каждого завершения программы. Эта информация включает время завершения, информацию о версии R/3, используемую РСУБД и операционную систему, а также значения переменных. Пользователям предлагаются также инструменты для поиска неисправностей (см. рис. 15.9).

Рис. 15.9. Анализ дампа, компоновка Web AS

Необходимо регулярно выполнять отчет RSSNAPDL (см. раздел 9.6), чтобы удалять отчеты об ошибках времени выполнения, которые устарели или уже были проанализированы. Если желательно избежать удаления кратких дампов, так как они еще не были проанализированы, то можно сделать это с помощью Short Dump • Keep/Release.

15.5. Файлы трассировки

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

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

► Предоставление достаточного дискового пространства для файлов вывода

► Очистка файлов трассировки после завершения анализа

► Настройку уровней трассировки, в частности, восстановление уровня трассировки (или деактивация трассировки полностью) после завершения анализа.

Трассировки разработчиков

Файл журнала ошибок — трассировка разработчика — записывается для всех процессов каждого сервера приложений. Это файлы dev_ в рабочем подкаталоге каталога инстанции (см. главу 1).

Число рабочих процессов идентично числу, выводимому в ►Process Overview.

Таблица 15.3. Трассировки разработчиков

Имя файла Связанный процесс
dev_disp Диспетчер
Dev_icm Менеджер коммуникации Интернет (ICM)
dev_ms Сервер сообщений
dev_rd Процесс чтения шлюза
dev_rfc Вызовы RFC внешних функций
dev_rfc<n> Вызовы RFC рабочего процесса с номером n
Dev_tp tp и R3trans
dev_w<n> Рабочий процесс с номером n

Эти данные особенно важны, когда инстанцию невозможно запустить или когда процессы завершаются в активных системах. Можно задать уровень трассировки для каждой инстанции с помощью параметра rdisp/TRACE. Можно также настроить уровни трассировки динамически для отдельных процессов в обзоре процессов системы R/3 (см. раздел 15.1) или используя командную строку.

Уровни трассировки

Можно сконфигурировать следующие уровни детализации:

► Trace level 0

Трассировка деактивирована.

► Trace level 1 (по умолчанию)

Сообщения об ошибках записываются в файлы трассировки.

► Trace level 2

Полная трассировка.

► Trace level 3

Кроме сообщений об ошибках и действиях в файлы трассировки также записывается содержимое блоков данных.

Увеличивать уровень трассировки необходимо только при анализе специфических ошибок, так как это увеличивает также нагрузку записи в файлы. В производственных системах уровень трассировки при нормальной работе не больше 1.

При перезапуске системы R/3 создаются новые версии трассировок разработчиков dev_; последняя версия сохраняется в файлах резервной копии dev_.old.

Можно анализировать трассировки разработчиков на уровне операционной системы и, если возможно, из системы R/3 с помощью ►Trace Files, ►Process Overview или ►SAP Directories. Выбор ►SAP Directories позволяет вывести файлы на фронтальном компьютере SAP. Все файлы в каталогах R/3 могут быть доступны при настройках по умолчанию; можно использовать пиктограмму Configure (см. рис. 15.10) для создания дополнительных каталогов, доступных по логическому имени.

Трассировка фронтального компьютера

Можно активировать многоуровневую трассировку для фронтального компьютера, выбирая параметры в SAPLOGON (см. главу 4). Файлы трассировки сохраняются в рабочем каталоге на фронтальном компьютере. Чтобы вывести текущие настройки для этого каталога в SAPLOGON, выберите SAPLOGON • System Information • Additional Information. Для открытия и анализа определенных файлов трассировки можно использовать любой текстовый редактор.

Системная трассировка SAP

Можно использовать ►SAP system traces для записи подробного выполнения процесса в системе R/3. Необходимо использовать трассировку системы SAP с осторожностью и только вместе с SAP, так как записанная информация очень разнообразна и трудна для интерпретации. Трассировка системы SAP не подходит для действующих систем.

Рис. 15.10. Начальный экран SAP Directories (Каталоги SAP)

Доступные компоненты трассировки зависят от версии. Следующие компоненты доступны как минимум в R/3 4.6 и Web AS:

► Проверка полномочий

► Функции ядра

► Общее ядро

► Доступ к базе данных (трассировка SQL)

► Трассировка табличного буфера

► Вызовы RFC

► Операции блокировки

Для анализа информации трассировка выберите ►SAP System Traces • Analysis. Можно использовать различные критерии отбора для анализа, как и при активации трассировки.

Трассировка производительности

Можно активировать другие специальные функции трассировки с целью поиска неисправностей, в частности, анализа производительности отдельных транзакций. Можно использовать ►Performance Analysis (анализ производительности) для активации сбора данных в следующих областях:

► Трассировка SQL

Обращения к базе данных отчетов и транзакций

► Трассировка очередей

Поведение системных блокировок

► Трассировка RFC

Вызовы RFC функциональных модулей между инстанциями

► Трассировка буферов

Трассировка табличного буфера

В этом случае записываются все команды SQL, которые создаются действиями пользователя, вместе с продолжительностью, результатами и данными. Можно использовать ►Performance Analysis • Deactivate Trace • Display Trace (или ►Performance Analysis • Performance Trace • Display Trace or Deactivate First) сначала для фильтрации данных по различным критериям, а затем их анализа.

Рис. 15.11. Активация трассировок SQL

На рис. 15.12 показан фрагмент трассировки SQL. Например, время выполнения оператора

□ SELECT WHERE "MANDT" = 'EXP' AND "SOURCEMAND" = '001' OR "MANDT" = '001' ORDER BY "TSTAMP"

было в этом случае 59 миллисекунд (ms), поиск происходил в таблице CCC-FLOW (отслеживаемой операцией был вывод журналов копирования клиента). Продолжительность операции всегда определяется в миллисекундах. Команды, которые превышают определенное время выполнения и поэтому могут быть критическими, выделяются красным.

Рис. 15.12. Фрагмент трассировки SAL

Выберите Edit • Explain for SQL statement, чтобы вызвать план выполнения, вычисленный оптимизатором для этой команды. Выберите Goto • АВАР Display, чтобы перейти к программе АВАР, где был сгенерирован оператор SQL.

Столбцы таблицы имеют слегка отличные значения в зависимости от используемой трассировки (см. таблицу 15.4).

Таблица 15.4. Трассировка производительности

Столбец Трассировка SQL Трассировка очереди Трассировка RFC Трассировка буфера
Duration Продолжительность выполнения оператора Продолжительность выполнения оператора Продолжительность выполнения оператора Продолжительность выполнения оператора
Object Name Таблица или процедура БД Объект блокировки Имя инстанции Имя таблицы
Operation Выполняемая в базе данных операция Операция блокировки Роль (клиент или сервер) Функция, выполняемая для объекта в буфере
Records Число обработанных записей Number of granulates Тип записи Число прочитанных записей
RC Возвращаемый код из РСУБД 0: Правильно 0: Правильно 0: Правильно
2: Коллизия 64: Записей не найдено
8: Внутренняя ошибка 256:Запись недоступна
1024: Загрузка буфера
Statement Команда SQL Granulates Функциональный модуль сервера источника и назначения Тип буферизации Ключевое значение

Журналы базы данных

Все системы баз данных, используемые в среде SAP, записывают свои собственные файлы журналов, которые не зависят от системы SAP. Эти файлы можно вывести на уровне операционной системы или с помощью ►Database Monitor в системе R/3. Важные сообщения об ошибках, которые непосредственно влияют на систему R/3, также выводятся в системном журнале.

15.6. Записи блокировки

Система R/3 обладает своим собственным управлением блокировками, которое использует рабочие процессы обработки очередей (см. главу 1). Записи блокировки задаются активными программами и обычно удаляются, снова не требуя никакого вмешательства вручную. Однако если в системе R/3 возникают проблемы, например, если диспетчер инстанции или весь сервер приложений внезапно отказывает, могут сохраниться устаревшие записи блокировок. Поэтому необходимо ежедневно проверять записи блокировки и удалять их вручную, когда потребуется. Для этого действуйте следующим образом:

1. Используйте ►Lock Monitor для доступа к экрану при выборе выводимых записей блокировки. Можно ограничить выбор именем таблицы, аргументом блокировки, клиентом или пользователем.

2. Выберите List. Будет выведен список всех текущих блокировок системы (см. рис. 15.13).

Кроме пользователя и клиента, который задал блокировку, система также выводит время создания блокировки и задействованные таблицы. Аргумент блокировки (ключ блокировки) особенно важен. Столбец Shared указывает, будет ли блокировка использоваться несколькими пользователями. Чтобы отсортировать список по различным критериям, можно использовать Edit • Sort by.

Рис. 15.13. Записи блокировки

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

4. Если для записей блокировки все еще существуют открытые запросы обновления, сначала проверьте и очистите эти транзакции обновления.

5. Проверьте, является ли пользователь, который принадлежит записи блокирования, все еще активным в системе.

Проблемы в управлении блокировками часто являются симптомами других проблем. Поэтому, если будут обнаружены устаревшие записи блокировки, необходимо сначала проверить вовлеченную в это прикладную область, которая. Если анализ покажет, что запись блокировки не нужна, то ее можно удалить, выбирая в ►Lock Monitor и вызывая затем функцию Lock Entry • Delete. Удаление записей блокировки записывается в системном журнале инстанции.

Чтобы вывести статистические данные о поведении блокировки, в частности, об использовании общей области памяти, где хранятся блокировки, выберите Extras • Statistics. Чтобы обеспечить правильную работу управления блокировками, выберите Extras • Diagnosis. Чтобы проверить взаимодействие между управлением блокировками и задачей обновления, выберите Extras • Diagnosis in Update.

15.7. Мониторинг производительности

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

В частности, системный администратор отвечает за правильную работу монитора сигналов и всех других мониторов в системе R/3.

15.7.1. Базовое администрирование

Со временем собранные данные становятся основанием для всего анализа производительности в системе R/3. На уровне операционной системы программа saposcol собирает важную информацию о производительности компонентов вне R/3. В системе R/3 программа АРАР RSCOLL00 собирает эти данные и вычисляет значения производительности для других компонентов R/3, таких как база данных и буферы R/3. Необходимо запланировать выполнение RSCOLL00 каждый час как фоновый процесс со стандартным именем SAP_COLLECTOR_FOR_PERFMONITOR. Собранные данные записываются в таблицу MONI, называемую также базой данных производительности. Чтобы сконфигурировать базу данных производительности в системах до R/3 4.6C, выберите ►Workload Analysis • Goto • Parameters • Performance Database; в 4.6D и более поздних версиях выберите ►Load Analysis • Collector • Workload Collector • Data. Дополнительными параметрами конфигурации являются:

► Длительность сохранения собранных статистических данных

► Уплотнение данных

► Правила реорганизации

Данные производительности реорганизуются автоматически фоновым заданием SAP_COLLECTOR_FOR_PERFMONITOR на основе этих настроек.

15.7.2. Мониторы

Система SAP предоставляет несколько различных мониторов для обеспечения точного анализа системной производительности. Они включают следующие области:

Анализ рабочей нагрузки

► Workload Analysis (до версии R/3 4.6C)

Предшественник анализа нагрузки

► Load analysis

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

► Business process analysis

Анализ одиночных статистических записей

► Application monitor

Показывает распределение пользователей

Рис. 15.14. Анализ нагрузки

Буферы

► Buffer load

Показывает качество и размер наиболее важных буферов SAP, включая информацию об использовании памяти

► Table calls

Показывает статистику вызовов таблиц

► Profile parameter changes

Показывает историю изменений параметров профиля

Операционная система

► OS monitor

Мониторинг ресурсов операционной системы, таких как память, центральный процессор, файловая система, жесткие диски

► OS system configuration

Показывает текущие параметры операционной системы

► OS parameter changes

Показывает историю изменений параметров операционной системы

База данных

► Database monitor

Выводит наиболее важную статистику для анализа деятельности базы данных и предоставляет доступ к журналу базы данных

► Lock waits

Показывает число ожидающих и расширенных блокировок

► Tables and indexes

Показывает статистику ресурсов, анализ таблиц, и анализ индексов

► DB parameter changes

Показывает историю изменений для параметров базы данных

Знакомые по предыдущим версиям R/3 мониторы сигналов были полностью интегрированы в инфраструктуру мониторинга (см. главу 16), и только некоторые из этих мониторов все еще могут вызываться отдельно в R/3 4.6C по историческим причинам.

15.8. Администрирование базы данных

Администратор базы данных отвечает за управление развернутой РСУБД и базой данных. Поскольку ассоциированные с этим задачи являются специфическими для РСУБД, то их можно описать здесь только в общем.

Наиболее важными видами деятельности системного администратора, включающими мониторинг базы данных и администрирование, являются:

► Планирование, выполнение и мониторинг резервного копирования базы данных

► Планирование, выполнение и мониторинг резервного копирования журналов транзакций

► Планирование, выполнение и мониторинг проверки содержимого ленты (резервной копии базы данных) и согласованности базы данных

► Планирование, выполнение и мониторинг генерации статистики для оптимизатора на основе стоимости

► Планирование мощности и мониторинг ресурсов (на уровне операционной системы и базы данных)

► Конфигурирование и мониторинг параметров базы данных

Аналогичные инструменты доступны для каждой РСУБД, используемой с системой R/3; однако их вид и имена могут различаться в деталях.

15.8.1. Регулярно планируемые задачи

База данных играет крайне важную роль в системе R/3. Она является центром хранения данных. Поэтому крайне необходимо регулярно выполнять резервное копирование данных, хранящихся в базе данных, чтобы иметь возможность восстановить данные в случае ошибки. Для этой и других регулярно выполняемых задач в систему R/3 интегрирован ►DBA Planning Calendar.

Здесь можно спланировать наиболее важные административные задачи базы данных для фоновой обработки (см. рис. 15.15). Они включают:

► Резервное копирование базы данных на ходу (в сети) или остановленной (вне сети)

► Пошаговое резервное копирование данных

► Резервное копирование областей журнала

► Резервное копирование отдельных областей данных

► Обновление статистики оптимизатора

► Анализ структур базы данных

► Анализ статуса базы данных

Рис. 15.15. Недельное планирование в календаре планирования DBA

Оптимизатор на основе стоимости

Все системы управления реляционными базами данных, применяемые в настоящее время с системами R/3, используют оптимизатор на основе стоимости для вычисления стратегии выполнения команд SQL. Если есть несколько планов выполнения, то оптимизатор на основе стоимости определяет наиболее экономную стратегию. Стоимости вычисляются как общее число обрабатываемых блоков данных, т. е. записей реальных данных и любой используемой индексной информации. Эта стратегия основывается на статистике данных в таблице, такой как число записей и различных значений в индексированном столбце. Статистики, используемые оптимизаторами, обновляются не автоматически. Администратор базы данных должен обновлять их в зависимости от динамики базы данных, как минимум, еженедельно и после существенных изменений. Устаревшая статистическая информация хуже, чем отсутствие информации, так как она может иметь большое влияние на скорость доступа.

Проверка

Анализ и проверка всего множества данных являются единственным надежным методом для исключения испорченных блоков в множестве данных, вызванных ошибками оборудования. Однако эта транзакция требует очень много времени и приводит к увеличению деятельности по вводу/выводу на всех жестких дисках. Поэтому полный анализ трудно реализовать в системе R/3 с очень большими базами данных. Однако если возникают проблемы с оборудованием, то крайне важно выполнить полный анализ, по крайней мере, для задействованных областей.

Резервное копирование

По возможности желательно создавать резервную копию всей базы данных производственных систем ежедневно. Чтобы вывести суммарную информацию для последних резервных копий, выберите ►Backup Logs; выберите ►Database Logs для подробной информации. При возникновении ошибки файлы журналов потребуются для восстановления множества данных, начиная с последней завершенной резервной копии, чтобы восстановить последующие изменения данных. Для этого должны быть доступны все данные из областей журнала без пробелов. Все системы РСУБД не перезаписывают данные в журнал, пока не будет сделана должным образом его резервная копия. Если данные не были скопированы, то риск будет двояким: кроме потенциальной потери данных, может быть полностью заполнена область журнала. В этом случае база данных (и поэтому также система R/3) больше не сможет работать. Можно использовать специальные инструменты РСУБД или предоставляемые SAP инструменты для администрирования баз данных вне системы SAP. Наиболее широко используемым в установках SAP инструментом администрирования баз данных Oracle является sapdba.

15.8.2. Уровень заполнения и объекты базы данных

Администраторы базы данных должны постоянно следить за увеличением базы данных. Недостаточное пространство для хранения данных в БД может сделать систему R/3 неработоспособной. Поэтому необходимо регулярно проверять уровень заполнения базы данных и увеличивать базу данных при необходимости. Чтобы вывести информацию о размере базы данных и содержащихся в ней объектах, выберите ►Tables and Indexes. Этот монитор предоставляет информацию о текущем уровне заполнения и его изменении, а также размер отдельных объектов, таких как табличные пространства, таблицы, и индексы. На рис. 15.16 показано изменение уровня заполнения базы данных в графической форме для SAP БД, В то же самое время вычисляется прогноз, чтобы помочь администраторам выявить потенциальные узкие места.

Рис. 15.16. Уровень заполнения базы данных

Согласованность словаря

Кроме требований к пространству отдельных объектов, система R/3 регулярно проверяет объекты, определенные в словаре данных R/3 и в базе данных. Системные администраторы должны обеспечить, чтобы между R/3 и базой данных не возникало никаких несогласованностей. Отсутствующие индексы могут приводить к громадной потере производительности. После обновления, в частности, всегда необходимо использовать этот монитор для проверки согласованности объектов и создания всех отсутствующих объектов.

Обзор стандартных задач

В таблице 15.5 представлены все регулярно повторяющиеся административные задачи в действующей системе R/3. Задачи системного мониторинга можно сократить соответственно для систем разработки и консолидации, доступность которых обычно не должна быть такой же высокой. ►

Таблица 15.5. Стандартные административные задачи

Деятельность Пути доступа и коды транзакций Периодичность Подробнее
Проверка монитора сигналов ►Alert Monitor Несколько раз в день Глава 16
Проверка системного журнала ►System log Несколько раз в день Раздел 15.3
Проверка ошибок времени выполнения ►Dump Analysis Ежедневно Раздел 15.4
Статус инстанций и рабочие режимы ►Control Panel Еженедельно Глава 14
Статус серверов приложений и рабочие процессы ►Server Overview; ►Process Overview Ежедневно Раздел 15.1
Проверка службы обновления ►Update Administration Ежедневно Глава 10
Проверка обновлений ►Update Monitor Ежедневно Глава 10
Проверка службы спула ►Output Control Ежедневно Глава 11
Проверка записей блокировок ►Lock Monitor Ежедневно Раздел 15.6
Проверка заданий фоновой обработки ►Job Selection Ежедневно Глава 9
Проверка регулярных заданий обслуживания ►Job Selection Ежемесячно Раздел 9.6
Обслуживание статистики оптимизатора ►DBA Planning Calendar Еженедельно и по мере необходимости Раздел 15.8
Выполнение и проверка резервного копирования ►DBA Planning Calendar; ►Backup Logs; ►Database Logs Ежедневно Раздел 15.8
Проверка административных журналов базы данных ►Database Logs Ежедневно Раздел 15.8
Проверка согласованности базы данных ►DBA Planning Calendar Один раз за цикл резервного копирования Раздел 15.8
Проверка уровня заполнения базы данных ►Tables and Indices Еженедельно Раздел 15.8
Проверка уровней заполнения файловой системы Команда операционной системы Регулярно и по мере необходимости
Проверка согласованности объектов базы данных ►Tables and Indexes Как минимум после обновления Раздел 15.8
Анализ производительности ►Load Analysis По мере необходимости Раздел 15.7
Проверка сеансов пакетного ввода ►Batch Input Регулярно, если используются процедуры пакетного ввода Глава 13
Проверка работы шлюза ►Gateway monitor Регулярно, если используются шлюзы Глава 13
Проверка потоков ALE на стороне отправителя и получателя ►MLE Status Monitor Регулярно, если используется ALE Глава 13
Коммуникация RFC ►Transactional RFC; ►qRFC Monitor Inbox; ►qRFC Monitor Outbox Регулярно, если используются соединения RFC Глава 13

Помощник администратора системы

►System Administration Assistant был создан для поддержки системных администраторов как часть инициативы SAP Ready-to-Run (готовность к работе). Наиболее важные вопросы системного администрирования перечислены в System Administration Assistant в древовидной структуре, отсортированной по ежедневным, еженедельным, годовым и нерегулярно требуемым задачам. Кроме подробной документации по отдельным вопросам, которые можно вывести из структуры, можно также запустить требуемые действия непосредственно и пометить их как завершенные.

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

На рис. 15.17 показаны административные задачи, которые должны выполняться ежедневно для поддержки производственной системы с базой данных Oracle; несколько первых шагов уже были выполнены.

Рис. 15.17. Ежедневные задачи в Помощнике администратора системы

15.10. Советы

► Трассировка разработчика и уровень трассировки процесса диспетчера

Можно задать уровень трассировки диспетчера и вывести файл трассировки с помощью ►Process Overview • Process • Trace • Dispatcher, хотя в обзоре процессов сам процесс не показан.

► Запись в журнал трассировки — Автоматическое восстановление уровня трассировки

Начиная с версии SAP Web Application Server, можно определить максимальный размер файла трассировки. Для поиска случайной ошибки можно увеличить уровень трассировки соответствующего рабочего процесса до 2 или 3; файл трассировки затем автоматически с регулярными интервалами проверяется на наличие заранее определенных комбинаций слов. Если комбинация будет найдена, то уровень трассировки автоматически сбрасывается в 1. Если файл трассировки достигает определенного максимального размера, он сохраняется в файле резервной копии <имя_файла_трассировки>.old и создается новый файл трассировки.

► Восстановление локального системного журнала

Если случайно удаляется файл локального системного журнала, но при этом сохраняется соответствующий сегмент общей памяти (SCSA), можно выполнить отчет RSLG0020 для восстановления системного журнала.

► Глобальный анализ производительности

Необходимость анализа производительности во всей инфраструктуре системы mySAP делает необходимым создание и оценку файлов трассировки и статистический анализ бизнес-процесса даже за границами системы. Кроме того, должно выполниться автоматическое тестирование работы и тестирование конфигураций на удаленных системах. Можно использовать для этой цели ►Global Performance Analysis, начиная с SAP R/3 4.6C.

► Таблица блокировок

Таблица блокировок является на самом деле общей областью памяти, а не таблицей. Чтобы изменить ее размер, нужно модифицировать параметр инстанции enque/table_size.

► Обработка очередей в центральной системе

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

► Очистка файловой системы

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

15.11. Транзакции и пути доступа меню

Alert monitor: SAP Menu • Tools • CCMS • Control/Monitoring • Alert Monitor (RZ20)

ALE status monitor: SAP Menu • Tools • ALE • ALE Administration • Monitoring • Status Monitor for ALE messages (BD87)

Application monitor: SAP Menu • Tools • Administration • Monitor • Performance • Workload • Application Monitor (ST07)

Backup logs: SAP Menu • Tools • CCMS • DB Administration • Backup Logs (DB12)

Batch input: SAP Menu • Tools • Administration • Monitor • Batch input (SM35)

Buffer load: SAP Menu • Tools • Administration • Monitor • Performance • Setup/Buffers Buffers (ST02)

Business process analysis: SAP Menu • Tools • Administration • Monitor • Performance • Workload • Bus. Trans. (STAD)

Control panel: SAP Menu • Tools • CCMS • Control/Monitoring • Control Panel (RZ03)

Database logs: SAP Menu • Tools • CCMS • DB Administration • Operations Monitor (DB24)

Database monitor: SAP Menu • Tools • Administration • Monitor • Performance • Database Activity (ST04)

DBA Planning Calendar: SAP Menu • Tools • CCMS • DB Administration • DBA Planning Calendar (DB13)

DB parameter changes: SAP Menu • Tools • Administration • Monitor • Performance • Database • Parameter Changes (DB03)

Dump analysis: SAP Menu • Tools • Administration • Monitor • Dump Analysis (ST22)

Trace files: SAP Menu • Tools • Administration • Monitor • Traces • Developer Traces (ST 11)

Gateway Monitor: SAP Menu • Tools • Administration • Monitor • System Monitoring • Gateway Monitor (SMGW)

Global performance analysis: Отсутствует в стандартном меню (ST30)

Global user overview: SAP Menu • Tools • Administration • Monitor • Performance • Exceptions/Users • Active users • Users global (AL08)

Global work process overview: SAP Menu • Tools • CCMS • Control/ Monitoring • Work Process Overview (SM66)

ICM Monitor: SAP Menu • Tools • Administration • Monitor • System Monitoring • Internet Communication Manager (SMICM)

Job selection: SAP Menu • Tools • CCMS • Jobs • Maintenance (SM37)

Load analysis: SAP Menu • Tools • Administration • Monitor • Performance • Workload Analysis (ST03N)

Lock monitor: SAP Menu • Tools • Administration • Monitor • Lock Entries (SM12)

Lock waits: SAP Menu • Tools • Administration • Monitor • Performance • Database • Exclusive Lock Waits (DB01)

Message server overview: Отсутствует в стандартном меню (SMMS)

OS monitor: SAP Menu • Tools • Administration • Monitor • Performance • Operating System • Local • Activity (ST06, OS06)

OS parameter changes: SAP Menu • Tools • Administration • Monitor • Performance • Operating System • Local/Remote • Parameter Changes (OS03)

OS system configuration: SAP Menu • Tools • Administration • Monitor • Performance • Operating System • Remote • Activity (OS07)

Output control: SAP Menu • Tools • CCMS • Spool • Output Controller (SP01)

Performance analysis: SAP Menu • Tools • ABAP Workbench • Text • SQL Trace (ST05)

Process Overview: SAP Menu • Tools • Administration • Monitor • System Monitoring • Process Overview (SM50)

Profile parameter changes: SAP Menu • Tools • Administration • Monitor • Performance • Setup/Buffers Parameter Changes (TU02)

qRFC monitor inbox: Отсутствует в стандартном меню SAP (SMQ2)

qRFC monitor outbox: Отсутствует в стандартном меню SAP (SMQ1)

SAP directories: SAP Menu • Tools • Administration • Monitor • Performance • Exceptions/Users • Exceptions • SAP Directories (AL11)

SAP system trace: SAP Menu • Tools • Administration • Monitor • Traces • System Trace (ST01)

Server overview: SAP Menu • Tools • Administration • Monitor • System Monitoring • Servers (SM51)

System administration assistant: SAP Menu • Tools • Administration • Monitor • System Administration Assistant (SSAA)

System log: SAP Menu • Tools • Administration • Monitor • System Log (SM21)

Table calls: SAP Menu • Tools • Administration • Monitor • Performance • Setup/Buffers Table Calls • Calls (ST10)

Tables and indexes: SAP Menu • Tools • Administration • Monitor • Performance • Database • Tables/Indexes (DB02)

Transactional RFC: SAP Menu • Tools • Business Documents • Environment • Transactional RFC (SM58)

Update monitor: SAP Menu • Tools • Administration • Monitor • Update (SM13)

Update program administration: Отсутствует в стандартном меню SAP (SM14)

User overview: SAP Menu • Tools • Administration • Monitor • System Monitoring • User Overview (SM04)

Workload analysis: SAP Menu • Tools • Administration • System Monitoring • Monitor • Performance • Workload Analysis (ST03)

15.12. Дополнительная документация

Быстрые ссылки

► SAP Service Marketplace, псевдоним systemmanagement

► SAP Service Marketplace, псевдоним performance

Указания SAP Service Marketplace

Таблица 15.6. Указания SAP для системного мониторинга

Содержание Указание
FAQ: Lock management R/3 552289
Several enqueue work processes 127773
System error in the block handler, overflow lock table 13907
Contents of table TCOLL 12103
Get the latest saposcol 19227
saposcol: monitoring processes 451166

15.13. Контрольные вопросы

1. В какой каталог записываются трассировки разработчиков?

a. \users\adm

b. \usr\sap\\\work

c. \usr\sap\\SYS\global

2. Пользователь информировал вас, что его сеанс завершился с ошибкой. К сожалению, он не записал никакой дополнительной информации об останове. В каком месте лучше всего начать анализ ситуации?

a. Нигде. Если нельзя получить дополнительную информацию, то нет способа узнать причину ошибки.

b. Проверьте все ошибки времени выполнения в системе R/3.

c. Проверьте системный журнал.

d. Проверьте журнал резервного копирования.