Оценка дискового пространства для AI-экстентов
<- Экстенты After-Imaging Расчет размеров фиксированных AI экстентов ->
Перед активацией After-imaging очень важно правильно оценить необходимое дисковое пространство, требуемое для хранения всех AI-экстентов базы данных. Например, если при использовании экстентов переменного размера закончится дисковое пространство, и при этом будет отсутствовать пустой экстент (статус EMPTY), то база данных будет аварийно остановлена. Этого можно избежать, если при запуске базы использовать параметр старта <After-image Stall (-aistall)>. В этом случае база данных только приостановит всю пользовательскую активность и отправит сообщение о недостаточности места в лог базы данных. Далее дело останется за администратором, которые должен выполнить определенные действия по восстановлению её работоспособности.
Существует несколько различных путей для определения количества генерируемых After-image данных. Для получения среднего максимального значения таких данных необходимо снимать статистику за короткий интервал времени, например каждые 5 минут в течение нескольких дней или даже месяцев.
Методы расчета объема After-image данных:
Важно отметить, что ни один из этих методов не принимает во внимание пиковые нагрузки во время работы системы. Поэтому все расчеты носят приблизительный характер. Использование информации об AI из VST
Данный метод применяется в том случае, когда механизм After-imaging уже активирован и необходимо сделать его работу более эффективной. Для использования виртуальных таблиц необходимо обратиться к таблице _ActAILog, в которой поля с соответствующей информацией называются _AiLog-TotWrites и _AiLog-BytesWritn. Поле _AiLog-TotWrites содержит информацию в блоках. Разница между значениями, полученными в начале и в конце периода, будет говорить о количестве записанных AI-блоков за период. Используя размер AI-блока можно узнать объем сгенерированных данных. Следующая небольшая часть ABL-кода поможет легко получить необходимые данные:
Листинг 1(vstai.p). Использования VST AI
Использование этого метода более предпочтительно по отношению к другим, т.к. он является наиболее гибким и простым, а так же не влияет на производительность системы. Использование Before-Image
Как и в предыдущем методе, здесь для определения количества записанных AI-блоков используется информация из виртуальных таблиц, связанных с Before-Image. Для этого используется таблица _ActBILog и её поля - _BiLog-TotalWrts и _BiLog-BytesWrtn. Поле _BiLog-TotalWrts формируется из BI-блоков. На основании размера BI-блока можно определить размер сгенерированных данных.
Примечание: размер BI-блока должен быть равным размеру AI-блока. Запомните значения начала и конца периода, разница между ними и будет количеством блоков, записанных за этот период
Листинг 2 (vstbi.p). Использования VST BI
Если механизм After-imaging еще не активирован, то этот метод является единственным для расчета предполагаемого объема AI-данных. Использование RFUTIL
Утилита RFUTIL используется для определения объема AI-данных с помощью командной строки. Для этого в начале и в конце желаемого периода необходимо выполнить следующую команду:
rfutil db-name -C aimage extent list
Результат работы команды будет примерно следующий:
Extent: 1
Status: Busy
Type: Variable Length
Path: /users/valeriy/lecAI/db1/sports.a1
Size: 632
Used: 545
Start: Thu Jul 9 16:10:55 2009
Seqno: 1
Extent: 2
Status: Empty
Type: Variable Length
Path: /users/valeriy/lecAI/db1/sports.a2
Size: 120
Used: 0
Start: N/A
Seqno: 0
Extent: 3
Status: Empty
Type: Variable Length
Path: /users/valeriy/lecAI/db1/sports.a3
Size: 120
Used: 0
Start: N/A
Seqno: 0
Здесь размер экстентов (поле Size) указывается в блоках по одному килобайту. Путем вычитания количества блоков в начале периода от количества блоков в конце периода получаем значение количества блоков, записанных за период. Важно заметить, этот метод может привести к некорректным результатам, поскольку между временем начала и временем окончания периода AI-экстенты могут обнуляться.
Использование PROMON
Запустите утилиту PROMON для базы данных, которая должна стать источником (source):
После запуска утилиты необходимо установить интервал сбора статистики. Для этого перейдите к пункту меню «Monitor sampling interval» по следующему пути R&D -> 5 -> 3. Введите значение 3600 (в секундах) и нажмите клавишу «Enter». Вернитесь на верхний уровень меню, нажав клавишу «P» и «Enter». Теперь перейдите к экрану «Activity: AI Log» для осуществления мониторинга (R&D -> 2 -> 6). Откроется окно, представленное на рисунке 2.
Рисунок 2 Экран Activity: AI Log
Обратите внимание на выделенное значение строки «Total AI writes». Для получения статистики за интервал в 60 минут (3600 секунд) введите <S> и нажмите <Enter>, появится сообщение «Sampling for 3600 seconds ....». По истечению 60 минут цифры изменятся. Запишите значение на пересечении строки «Total AI writes» и колонки «Total». Это и есть общее количество AI-блоков, сгенерированных в течение часа. Для получения среднего значения процесс сбора статистики нужно повторить несколько раз. Чем больше образцов вы получите, тем точнее будет среднее значение.
Теперь разделите среднее значение сгенерированных AI-блоков на размер AI-блока. Размер AI-блока можно найти в меню R&D -> 1 -> 10 AI Log, он указан в строке After-image block size, возьмите его и разделите на 1024, чтобы получить размер блока в килобайтах (8192/1024=8). После этого полученное значение умножьте на среднее значение сгенерированных AI-блоков. В результате вы получите среднее количество AI-данных, записанных во время часового периода.
|