After-Image репликация для Linux/Unix
Эти скрипты выполняют After-Image (AI) репликацию. Т.е. сначала они копируют AI экстенты со статусом FULL, если таковые имеются, в специальный каталог AI_TO_DR, и после чего, помечают их как EMPTY. Затем выполняют переключение текущего BUSY AI экстента, выполняют его копирование и помечают как EMPTY. Всё это делается в скрипте aiswitch.sh и в его дочернем скрипте aiswitch2.sh. Скрипт aiswitchall.sh представляет собой только оболочку для первых двух скриптов, и используется в случаях, когда необходимо выполнять AI репликацию более чем одной базы данных. Если база данных будет остановлена, то репликация выполняться не будет. Так как скрипт перед началом работы проверяет ее состояние.
Перед выполнением FTP копирования, AI файлы будут заархивированы, а после копирования, наоборот, разархивированы. Так же выполняется проверка, что файлы были успешно скопированы по FTP, иначе, они не будут перемещены в каталог AIBACKUP, и впоследствии они обработаются повторно. Файлы в процессе FTP копирования переименовываются, как TMP_name, а по завершению копирования им возвращается реальное имя. Таким образом, скрипт наката вперед (roll forward) не будет использовать файл, пока тот находится в процессе копирования.
В резервном каталоге AIBACKUP, файлы будут храниться в течении 2-х дней, это регулируется последней строкой в скрипте aiswitch.sh (–mtime +2). То же самое верно и для целевой машины.
Список скриптов:
aiswitchall.sh, aiswitch.sh, aiswitch2.sh и aiftp.sh – должны запускаться на source машине (базе данных)
Старт репликации начинается с запуска aiswitchall.sh. Здесь указывается список каталогов баз данных и имен баз данных, которые должны реплицироваться. Всю основную работу выполняет скрипт aiswitch.sh и его дочерний скрипт aiswitch2.sh.
aiftp.sh – выполняется FTP-копирование. Для него необходимо указать DR-server-name, user-name и password.
На target машине (базе данных), запускается скрипт airollfwdall.sh, который содержит список каталогов и имен реплицируемых баз данных. Работу по накату на них файлов выполняет скрипт airollfwd.sh.
Изменения, которые необходимо внести в скрипты для работы в вашей среде следующие:
aiswitchall.sh: |
Main_replication_dir |
# Каталог, который должен иметь достаточно свободного пространства, для хранения AI файлов в директории $AIBACKUP |
Database1-dir |
# Путь к исходной базе данных |
Database1-name |
# Имя исходной базы данных\ |
aiswitch.sh: |
REMOTE_DIR |
# Должен иметь тоже значение что и LOCALAPPLYDIR из airollfwd.sh |
aiftp.sh: |
DR-server-name |
user-name
password |
#Если FTP настроен без необходимости указания пользователя, то вы можете не указывать user-name и password. В любом случае, необходимо убедиться, что доступ к этом скрипту ограничен. |
airollfwdall.sh: |
Main_replication_dir |
# любой каталог на целевой машине |
Database1-dir |
#путь к целевой базе данных |
Database1-name |
#имя целевой базы данных< |
airollfwd.sh: |
LOCALAPPLYDIR |
# Должен иметь тоже значение что и REMOTE_DIR из aiswitch.sh |
STOREDIR |
# любой каталог на целевой машине с достаточным местом для хранения AI файлов за 2 дня
|
|