Переключение AI-экстентов происходит, когда текущий экстент фиксированного размера заполнен, или истекло время заполнения экстента, выставленное при использовании механизма AI File Management.
Кроме того, переключение на новый AI-экстент происходит перед началом формирования online резервной копии. После восстановления базы из резервной копии накат AI-архивов выполняется с того AI-экстента, на который произошло переключение, или проще говоря, с первого AI-архива, созданного после формирования этой копии.
Перед началом формирования online резервной копии необходимо предварительно убедиться, что существует следующий по порядку AI-экстент со статусом EMPTY.
Фиксированные экстенты имеют строго определенный размер, поэтому движок базы данных самостоятельно определяет, когда экстент заполнится.
В отличие от экстентов фиксированного размера экстенты переменного размера ни чем не ограничены. Следовательно, движок базы данных не может определить, когда экстент будет заполнен. Если не используется RFUTIL AIMAGE NEW, то экстент будет продолжать заполняться до тех пор, пока не достигнет ограничения по размеру файла, выставленного операционной системой, или не будет достигнут предел в 2Gb адресного пространства для OpenEdge (если не активирована поддержка больших файлов). Экстент будет так же заполняться, пока не закончится место на диске. Когда текущий экстент заполнится, произойдет автоматическое переключение на следующий экстент, при условии, что он будет иметь статус EMPTY.
Если же следующий экстент заполнен (FULL), база данных будет остановлена. Однако чтобы этого не допустить, для приостановления активности базы можно использовать параметр запуска базы данных After-image Stall (-aistall). При использовании –aistall можно заархивировать старший заполненный экстент и пометить его как пустой (EMPTY). Тогда система автоматически переключит экстенты и восстановит активность базы данных. Можно также с помощью команды RFUTIL AIMAGE AIOFF выключить After-imaging.
Примечание: использование параметра -aistall и RFUTIL AIMAGE AIOFF можно только в многопользовательском режиме.
Когда база данных приостанавливает активность, в лог базы отправляется следующее сообщение:
Can't switch to after-image extent filename it is full.
Backup ai extent and mark it as empty (3774)
База данных не сможет восстановить активность, пока необходимый для переключения экстент не будет заархивирован и помечен как пустой.
Можно вручную в online выполнять переключение AI-экстентов, не дожидаясь их полного заполнения. Для этого необходимо выполнить следующую команду:
rfutil db-name -C aimage new
Запуск RFUTIL AIMAGE NEW изменяет статус текущего экстента на FULL, а следующего на BUSY.
Примечание: см. Приложение 4 «Практический пример переключения AI-экстентов»