Меню

Инструкция по поиску, диагностике и реорганизации 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 это платная фича, и не у всех пользователей она есть, и как только вы так сжимаете хоть один сегмент в базе, она автоматически активируется.
 
С уважением Серго.