Инструкция по поиску, диагностике и реорганизации LOB-сегментов в системах SAP на базе БД Oracle
В статье представлена методика поиска «раздутых» LOB-сегментов, их анализа и пути их реорганизации.
Пошаговая методика реорганизации (реанимации)
Аннотация.
В статье представлена методика поиска «раздутых» LOB-сегментов, их анализа и пути их реорганизации.
Целевая аудитория - Администраторы SAP.
В демонстрационном примере разобран случай для SAP системы построенной на базе БД Oracle 11.2. Причинами, по которым рекомендуется применять такой способ реорганизации LOB-сегмента, является отсутствие автоматических инструментов освобождения и реорганизации таблиц использующих ссылки на LOB-сегмент.
Введение.
В системах SAP для хранения больших объектов: таких как документы обмена в формате XML, документы печати спула, используется таблица с заголовками этих документов и связанный с заголовками LOB-сегмент для хранения самых данных. При удалении заголовков место, выделенное под хранения данных в LOB-сегменте, не высвобождается.
Пошаговая методика реорганизации (реанимации).
Шаг 1. Запускаем db02old -> Tables and indexes -> Detailed analysis (Рисунок 1.)
Шаг 2. Указываем в каком табличном пространстве нужно искать LOB (Tablespace = SAP<SID> (ABAP DB Schema) или SAP<SID>DB (JAVA DB Schema)):
Рисунок 1. Начало анализа LOB-сегментов.
Шаг 3. Сортируем по размеру сегмента и обнаружили большие LOB-ы (Рисунок 2):
Рисунок 2. Обнаруженные большие LOB-сегменты.
Шаг 4. Через sqlplus или st04 запускаем строчку вида (Рисунок 3):
select table_name from dba_lobs where segment_name = 'SYS_LOB0000124753C00006$$'
Рисунок 3. Команда поиска связанной с LOB-сегментом таблицы заголовков.
Шаг 5. Результатом будет имя таблицы владельца LOB-a (Рисунок 4):
Рисунок 4. Результат команды поиска связанной с LOB-сегментом таблицы заголовков.
Шаг 6. В этом же окне определяем занятость LOB-а командой вида (Рисунок 5):
SELECT SUM (DBMS_LOB.getlength ('SYS_LOB0000124753C00006$$')) / 1024 / 1024 AS "MB" FROM SAPSR3.TST03
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти
Обсуждения 1
Комментарий от
Серго Берадзе
| 24 мая 2017, 09:43
Lob сегмент он на то и Lob что бы с ним поменьше возни было, если он растет, то значит у вас процедуры на уровне SAP по удалению объектов из таблицы к которой он привязан идут не регулярно, и нужно настраивать именно это. Один раз процедура реорганизации поможет, если были удалены какие то реально старые данные, а дальше если данные удаляются регулярно (к примеру из той же TST03) То лоб сегмент расти не будет, а будет переиспользовать освободившееся место.
По поводу компрессии, уместно было бы вместе с этой рекомендацией уточнить, что Oracle Advanced Compression это платная фича, и не у всех пользователей она есть, и как только вы так сжимаете хоть один сегмент в базе, она автоматически активируется.
С уважением Серго.