Назад | Перейти на главную страницу

Как сделать резервную копию и восстановить базу данных informix с помощью инструмента Onbar с облачным хранилищем ONPSM?

Мне сложно использовать инструмент Onbar (который полагается на диспетчер первичного хранилища Onpsm для Informix db (сервер 12.1) с использованием облачного устройства (AWS s3).

https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.bar.doc/ids_bar_526.htm

  1. На сервере резервного копирования я создал устройства DBSPOOL и LOGPOOL, используя команды, подобные следующим
onpsm -D add AMAZON1 \
-g DBSPOOL \
-p HIGHEST \
-t CLOUD \
--url https://ifmx-s3-dev.s3.amazonaws.com \
--provider S3 \
--user AKIAIT1111155555X4PA \ 
--password A2nB21111155555nvTI0X9ZxGzUJNJivoBQY9MrD \
--container ifmx-s3-dev \
--max_part_size 25600
  1. Затем я настраиваю задание cron для выполнения стандартного резервного копирования уровня 0 всех пространств онлайн-хранилища и использую логические журналы.

onbar -b -L 0

onbar -b -l

  1. Прочитав следующую публикацию IBM, в которой рекомендуется выполнять резервное копирование таблиц каталога хранилища, поскольку они не копируются с экземпляром базы данных, я настроил задание cron для резервного копирования файла $ INFORMIXDIR / etc / psm, который должен содержать таблицы каталога хранилища.

https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.bar.doc/ids_bar_526.htm

Скопированы каталог $ INFORMIXDIR / etc / psm и каталог $ INFORMIXDIR / etc / ixbar.? с исходного сервера на целевой и переименовал в ixbar. файл, заменяющий имя сервера IBM Informix, которое используется на исходном компьютере, на имя сервера IBM Informix целевого компьютера.

3- Сменил владельца скопированного каталога / psm и файла ixbar на пользователя informix

4- Выключите db для выполнения холодного восстановления

onmode -yuk

5- Проверено, что резервные объекты есть

onpsm -O list 

6- Попытка восстановить данные и важные файлы во время холодного восстановления

onbar -r -cf yes

Получил эту странную ошибку:

переменная окружения BAR_BSALIB_PATH должна быть установлена ​​для использования опции -cf!

Я проверил BAR_BSALIB_PATH в файле ONCONFIG, и он установлен в $ INFORMIXDIR / lib / libbsapsm.so Даже сделал это BAR_BSALIB_PATH = "/ opt / informix-12.10.fc10 / lib / libbsapsm.so": / home / informix echo $ BAR_BSALIB_PATH /opt/informix-12.10.fc10/lib/libbsapsm.so

Все та же ошибка!

7- Восстановите файл аварийной загрузки. Если файл ixbar не пустой и содержит данные объекта, onsmsync -b обновляет базу данных sysutils и файл ixbar, чтобы они были синхронизированы.

onsmsync -b

bar_act.log

2018-07-20 00:19:07 25656 25370 (-43207) Невозможно открыть соединение с сервером базы данных:. 2018-07-20 00:19:07 25656 25370 onsmsync завершен, возвращается 155 (0x9b) 2018-07-20 00:21:24 25933 25931 /opt/informix-12.10.fc10/bin/onbar_d -r

8- Восстановить данные

onbar -r

Предупреждение: настроенное пользователем значение параметра было изменено. (ALARMPROGRAM) gzip: stdin: неожиданный конец файла

gzip: stdin: неожиданный конец файла

9- Сервер вернулся в режим быстрого восстановления

10 - bar_dbug.log

ПОЛУЧИТЬ /awwdst13a/rootdbs/0/rootdbs.377.1 HTTP / 1.1

затем сообщения об ошибках, такие как * Ошибка записи тела (0! = 16347) * Закрытие соединения 0 2018-07-20 00:21:25 25937 25933 smtranid.c: 155 Список транзакций объекта был пуст. 2018-07-20 00:21:27 25933 25931 bar_ixbar_list: введите 2018-07-20 00:21:27 25933 25931 bar_ixbar_list: return 0 (0x00) 2018-07-20 00:21:27 25933 25931 bar_build_timeline: введите 2018 -07-20 00:21:27 25933 25931 bar_build_timeline: return 0 (0x00) 2018-07-20 00:21:27 25933 25931 smcatalog.c: 521 nsmOpenDatabase: Count: open = 9, missing = 0. 2018-07 -20 00:21:27 25933 25931 smtranid.c: 84 Список транзакций объекта пуст. 2018-07-20 00:21:27 25941 25933 smcatalog.c: 521 nsmOpenDatabase: Count: open = 9, missing = 0. 2018-07-20 00:21:27 25941 filter write_to_filter: Ошибка записи в выходной канал родителя. errno = 32 .. 2018-07-20 00:21:27 25941 фильтр
write_to_filter: Ошибка записи в дескриптор / fd 17, расположенный по адресу 0x1e05930.

11- bar_act.log

2018-07-20 00:21:27 25945 25933 Успешно подключился к Storage Manager. 2018-07-20 00:21:27 25933 25931 Начать холодное восстановление rootdbs уровня 0 (ID копии Storage Manager: 0 377). 2018-07-20 00:21:40 25945 25933 Сеанс 867 Informix Primary Storage Manager закрыт 2018-07-20 00:21:40 25945 25933 Дочерний процесс для фильтра резервного копирования и восстановления завершается с кодом выхода 0. 2018-07 -20 00:21:41 25933 25931 Завершено холодное восстановление уровня 0 rootdbs.

2018-07-20 00:21:41 25969 25933 Начать холодное восстановление уровня 0 api7dbs (идентификатор копии Storage Manager: 0 381). 2018-07-20 00:21:42 25968 25933 Открыт сеанс 869 Informix Primary Storage Manager. 2018-07-20 00:21:42 25968 25933 Успешно подключился к Storage Manager. 2018-07-20 00:21:42 25968 25933 Запуск фильтра / usr / bin / gunzip. 2018-07-20 00:21:42 25968 25933 Сеанс 869 Informix Primary Storage Manager закрыт

2018-07-20 00:21:44 25971 25933 Начать холодный уровень 0, восстановить dat2dbs (ID копии Storage Manager: 0380). 2018-07-20 00:21:51 25983 25971 Больше нет байтов для чтения. Ошибка ISAM = 0. Ошибка ОС = 10 (дочерние процессы отсутствуют). 2018-07-20 00:21:51 25983 25971 Ошибка XBSA: (BSAGetData) Произошла системная ошибка. Прерывание сеанса XBSA. 2018-07-20 00:21:51 25983 25971 Сеанс 875 Informix Primary Storage Manager закрыт 2018-07-20 00:21:51 25983 25971 Дочерний процесс для фильтра резервного копирования и восстановления завершается с кодом выхода 0. 2018-07 -20 00:21:53 25971 25933 Невозможно закрыть восстановление дискового пространства: физическое восстановление не было завершено .. 2018-07-20 00:21:53 25971 25933 Процесс 25971 25933 завершен. 2018-07-20 00:21:53 25933 25931 (-43246) Процесс ON-Bar 25971 завершился с проблемой (код выхода 131 (0x83), сигнал 0).

Наконец-то было время сделать тест с psm и onbar чтобы сделать резервную копию Informix на Amazon S3.

Тестовая установка - 2 CentOS 7 виртуальные машины (machine1 и machine2) с сервером Informix на каждом. Машины могут общаться друг с другом и с Amazon S3.
machine1 будет иметь сервер Informix ifx_a и machine2будет иметь сервер Informix ifx_b.
Informix 12.10.FC12 был установлен на каждом компьютере с использованием расположения по умолчанию (/opt/IBM/informix/12.10/).
Это было root установка, но все остальное запускается под пользователем informix.

  1. На machine1 Я настраиваю и инициализирую сервер Informix ifx_a.

    • У меня есть следующие переменные среды:

      PATH=/opt/IBM/informix/12.10/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
      INFORMIXDIR=/opt/IBM/informix/12.10
      INFORMIXSERVER=ifx_a
      INFORMIXSQLHOSTS=/opt/IBM/informix/12.10/etc/sqlhosts
      ONCONFIG=onconfig.ifx_a
      
    • У меня есть следующие параметры в onconfig.ifx_a файл:

      ROOTNAME rootdbs
      ROOTPATH $INFORMIXDIR/tmp/demo_on.rootdbs
      
      SERVERNUM 1
      DBSERVERNAME ifx_a
      
      NETTYPE soctcp,1,50,NET
      
      BAR_ACT_LOG $INFORMIXDIR/tmp/bar_act.log
      BAR_DEBUG_LOG $INFORMIXDIR/tmp/bar_dbug.log
      BAR_DEBUG 5
      BAR_MAX_BACKUP 3
      BAR_RETRY 1
      BAR_PROGRESS_FREQ 10
      BAR_BSALIB_PATH $INFORMIXDIR/lib/libbsapsm.so
      BACKUP_FILTER  '/usr/bin/gzip -c'
      RESTORE_FILTER '/usr/bin/gzip -d -c'
      BAR_PERFORMANCE 3
      BAR_CKPTSEC_TIMEOUT 15
      BAR_HISTORY 0
      
      PSM_ACT_LOG      $INFORMIXDIR/tmp/psm_act.log
      PSM_DEBUG_LOG    $INFORMIXDIR/tmp/psm_dbug.log
      PSM_DEBUG        5
      PSM_CATALOG_PATH $INFORMIXDIR/etc/psm
      PSM_DBS_POOL     DBSPOOL
      PSM_LOG_POOL     LOGPOOL
      
      ALARMPROGRAM $INFORMIXDIR/etc/alarmprogram.sh
      
    • В sqlhosts файл:

      ifx_a    onsoctcp    machine1.local    15010    k=1
      ifx_b    onsoctcp    machine2.local    15020    k=1
      
    • Создайте корневой файл dbspace и настройте разрешения:

      $ touch /opt/IBM/informix/12.10/tmp/demo_on.rootdbs
      $ chown informix:informix /opt/IBM/informix/12.10/tmp/demo_on.rootdbs
      $ chmod 660 /opt/IBM/informix/12.10/tmp/demo_on.rootdbs
      
    • Инициализировать сервер Informix ifx_a:

      $ oninit -vi
      
      $ onstat -d
      
      IBM Informix Dynamic Server Version 12.10.FC12 -- On-Line -- Up 00:15:50 -- 164468 Kbytes
      
      Dbspaces
      address          number   flags      fchunk   nchunks  pgsize   flags    owner    name
      44c23028         1        0x1        1        1        2048     N  B     informix rootdbs
       1 active, 2047 maximum
      
      Chunks
      address          chunk/dbs     offset     size       free       bpages     flags pathname
      44c23268         1      1      0          150000     85073                 PO-B-- /opt/IBM/informix/12.10/tmp/demo_on.rootdbs
       1 active, 32766 maximum
      
      NOTE: The values in the "size" and "free" columns for DBspace chunks are
            displayed in terms of "pgsize" of the DBspace to which they belong.
      
      
      Expanded chunk capacity mode: always
      
    • Создать новую базу данных test_db на новом сервере Informix:

      $ printf "CREATE DATABASE test_db WITH LOG;" | dbaccess sysmaster
      
  2. следить Резервное копирование в Amazon Simple Storage Service с помощью ON-Bar и PSM и настройте корзину и учетные данные Amazon S3. Следующие шаги основаны на указанной документации:

  3. Инициализировать psm каталог, просто используя onpsm команда:

    $ onpsm -C detail
    
    The Informix Primary Storage Manager catalog is not present in the '/opt/IBM/informix/12.10/etc/psm/'
    directory.
    The system will try to create it.
    Informix Primary Storage Manager catalog creation in the '/opt/IBM/informix/12.10/etc/psm/' directory
    succeeded.
    
    Informix Primary Storage Manager State:
    
        PSM Unique ID    : 1532732188
        Catalog Location : /opt/IBM/informix/12.10/etc/psm/
        Catalog State    : Unlocked
        Catalog Owner    : 0
        Catalog Lock Mode: Regular
    
    
    Sessions:
        Session ID       Process ID
    Empty SESSION table.
    
  4. Добавьте корзину Amazon S3 в пулы хранения для пространств баз данных (DBSPOOL) и логические журналы (LOGPOOL):

    • $ onpsm -D add AMAZON1 \
      -g DBSPOOL \
      -p HIGHEST \
      -t CLOUD \
      --url https://ifx-a-cloud-bucket.s3-eu-west-1.amazonaws.com \
      --provider S3 \
      --user UUUUUUUUUUUUUUUUUUUU \
      --password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
      --container ifx-a-cloud-bucket \
      --max_part_size 25600
      
      $ onpsm -D add AMAZON1 \
      -g LOGPOOL \
      -p HIGHEST \
      -t CLOUD \
      --url https://ifx-a-cloud-bucket.s3-eu-west-1.amazonaws.com \
      --provider S3 \
      --user UUUUUUUUUUUUUUUUUUUU \
      --password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
      --container ifx-a-cloud-bucket \
      --max_part_size 25600
      
    • $ onpsm -D list
      
      Informix Primary Storage Manager Device List
      
      Type   Prio     Block/Size (MB)  Pool Name     Device Name
      FILE   LOW          --/--        DBSPOOL       /opt/IBM/informix/12.10/backups
      CLOUD  HIGHEST      --/--        DBSPOOL       AMAZON1
      
      FILE   LOW          --/--        LOGPOOL       /opt/IBM/informix/12.10/backups
      CLOUD  HIGHEST      --/--        LOGPOOL       AMAZON1
      
    • Благодаря недавно созданной корзине Amazon S3 url должен указывать на область корзины, иначе Amazon S3 вернет данные временного перенаправления и onpsm не очень хорошо с этим справляется (кажется, вылетает).

  5. Сделайте резервную копию сервера Informix ifx_a (в этом случае я делаю резервную копию всей системы, опция "-w"):

    - $ onbar -b -w -L 0

    • Проверьте файл журнала onbar на /opt/IBM/informix/12.10/tmp/bar_act.log:

       2018-07-28 00:45:26.596713 7539  7537 /opt/IBM/informix/12.10/bin/onbar_d -b -L 0 -w
       2018-07-28 00:45:26.757667 7539  7537 Using IBM's PSM version 12.10.FC12 as the Storage Manager. XBSA API version is 1.0.3.
       2018-07-28 00:45:26.933961 7539  7537 Archive started on rootdbs (Requested Level 0).
       2018-07-28 00:45:26.966597 7539  7537 Begin level 0 backup rootdbs.
       2018-07-28 00:45:26.966861 7539  7537 Starting Filter /usr/bin/gzip -c.
       2018-07-28 00:45:26.971701 7542  7539 Successfully connected to Storage Manager.
       2018-07-28 00:45:34.500992 7542  7539 The child process for the backup and restore filter is terminating
      with exit code 0.
       2018-07-28 00:45:34.507614 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:34.511597 7539  7537 Completed level 0 backup rootdbs (Storage Manager copy ID: 0 1).
       2018-07-28 00:45:34.545924 7539  7537 Archive on rootdbs Completed (Requested Level 0).
       2018-07-28 00:45:34.549264 7539  7537 Begin backup logical log 1.
       2018-07-28 00:45:34.549524 7539  7537 Starting Filter /usr/bin/gzip -c.
       2018-07-28 00:45:34.570435 7561  7539 Successfully connected to Storage Manager.
       2018-07-28 00:45:38.455047 7561  7539 The child process for the backup and restore filter is terminating
      with exit code 0.
       2018-07-28 00:45:38.461007 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:38.555035 7539  7537 Completed backup logical log 1 (Storage Manager copy ID: 0 2).
       2018-07-28 00:45:38.572049 7539  7537 Begin backup logical log 2.
       2018-07-28 00:45:38.572251 7539  7537 Starting Filter /usr/bin/gzip -c.
       2018-07-28 00:45:38.577040 7576  7539 Successfully connected to Storage Manager.
       2018-07-28 00:45:43.152739 7576  7539 The child process for the backup and restore filter is terminating
      with exit code 0.
       2018-07-28 00:45:43.159746 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:43.214322 7539  7537 Completed backup logical log 2 (Storage Manager copy ID: 0 3).
       2018-07-28 00:45:43.227226 7539  7537 Begin backup logical log 3.
       2018-07-28 00:45:43.227451 7539  7537 Starting Filter /usr/bin/gzip -c.
       2018-07-28 00:45:43.231582 7592  7539 Successfully connected to Storage Manager.
       2018-07-28 00:45:46.529906 7592  7539 The child process for the backup and restore filter is terminating
      with exit code 0.
       2018-07-28 00:45:46.536171 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:46.561509 7539  7537 Completed backup logical log 3 (Storage Manager copy ID: 0 4).
       2018-07-28 00:45:46.586104 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:46.659232 7539  7537 Begin backup of critical file '/opt/IBM/informix/12.10/etc/ixbar.1'.
       2018-07-28 00:45:46.662166 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:46.665362 7539  7537 Completed backup of critical file '/opt/IBM/informix/12.10/etc/ixbar.1' (Storage Manager copy ID: 0 5).
       2018-07-28 00:45:47.106933 7539  7537 Begin backup of critical file '/opt/IBM/informix/12.10/etc/oncfg_ifx_a.1'.
       2018-07-28 00:45:47.111936 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:47.117141 7539  7537 Completed backup of critical file '/opt/IBM/informix/12.10/etc/oncfg_ifx_a.1' (Storage Manager copy ID: 0 6).
       2018-07-28 00:45:47.566010 7539  7537 Begin backup of critical file '/opt/IBM/informix/12.10/etc/onconfig.ifx_a'.
       2018-07-28 00:45:47.571084 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:47.577958 7539  7537 Completed backup of critical file '/opt/IBM/informix/12.10/etc/onconfig.ifx_a' (Storage Manager copy ID: 0 7).
       2018-07-28 00:45:48.216676 7539  7537 Begin backup of critical file '/opt/IBM/informix/12.10/etc/sqlhosts'.
       2018-07-28 00:45:48.221868 7539  7537 Successfully connected to Storage Manager.
       2018-07-28 00:45:48.227252 7539  7537 Completed backup of critical file '/opt/IBM/informix/12.10/etc/sqlhosts' (Storage Manager copy ID: 0 8).
       2018-07-28 00:45:48.649965 7539  7537 /opt/IBM/informix/12.10/bin/onbar_d complete, returning 0 (0x00)
      
  6. Настройте автоматическое резервное копирование по завершении для логических журналов.

    • Отредактируйте ALARMPROGRAMсценарий и изменение BACKUPLOGS к Y:

      BACKUPLOGS=Y
      
    • Принудительно завершите / измените логический журнал, и он создаст резервную копию всех необходимых логических журналов.

      $ onmode -l
      
    • Проверьте файл журнала onbar на /opt/IBM/informix/12.10/tmp/bar_act.log:

      07/28/18 01:11:02  Logical Log 4 Complete, timestamp: 0x4c867.
      07/28/18 01:11:03  Logical Log 4 - Backup Started
      07/28/18 01:11:05  Logical Log 4 - Backup Completed
      07/28/18 01:11:09  Logical Log 5 Complete, timestamp: 0x55db7.
      07/28/18 01:11:10  Logical Log 5 - Backup Started
      07/28/18 01:11:12  Logical Log 5 - Backup Completed
      07/28/18 01:11:36  Logical Log 6 Complete, timestamp: 0x57a93.
      07/28/18 01:11:37  Logical Log 6 - Backup Started
      07/28/18 01:11:38  Logical Log 6 - Backup Completed
      
  7. Убедитесь, что объекты резервной копии перечислены в psm каталог:

    $ onpsm -O list
    
    Informix Primary Storage Manager Object List
    
    Object ID            Date Created         Size (MB) Logical path (name.version)
    1                    2018-07-28 00:45:26        2.5 /ifx_a/rootdbs/0/ifx_a.1
    2                    2018-07-28 00:45:34        1.2 /ifx_a/1/1/ifx_a.1
    3                    2018-07-28 00:45:38        1.4 /ifx_a/1/2/ifx_a.1
    4                    2018-07-28 00:45:43        0.9 /ifx_a/1/3/ifx_a.1
    5                    2018-07-28 00:45:46        0.0 /ifx_a/critical_files/ixbar/ifx_a.1
    6                    2018-07-28 00:45:47        0.0 /ifx_a/critical_files/oncfg/ifx_a.1
    7                    2018-07-28 00:45:47        0.1 /ifx_a/critical_files/onconfig/ifx_a.1
    8                    2018-07-28 00:45:48        0.0 /ifx_a/critical_files/sqlhosts/ifx_a.1
    9                    2018-07-28 01:11:03        0.6 /ifx_a/1/4/ifx_a.1
    10                   2018-07-28 01:11:10        0.6 /ifx_a/1/5/ifx_a.1
    11                   2018-07-28 01:11:37        0.1 /ifx_a/1/6/ifx_a.1
    
  8. Экспорт psm каталог, чтобы его можно было переместить в machine2.

    • Это создаст psm_catalog.exp в текущем каталоге. Он будет содержать текстовые файлы для импорта в новый каталог.

      $ onpsm -C export
      
    • Другой способ - просто скопировать psm каталог в machine2.

      • В Informix версии 12.10.FC10 опция экспорта не работает для CLOUD введите устройства, поэтому вместо этого необходимо скопировать каталог.
    • В psm каталог не является частью резервных копий. Он должен сам быть резервным с помощью внешнего инструмента в соответствии с документацией. Менеджер первичного хранилища HCL Informix
  9. На machine2 Я настраиваю сервер Informix ifx_b, но я делаю не инициализировать его.

    • У меня есть следующие переменные среды:

      PATH=/opt/IBM/informix/12.10/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
      INFORMIXDIR=/opt/IBM/informix/12.10
      INFORMIXSERVER=ifx_b
      INFORMIXSQLHOSTS=/opt/IBM/informix/12.10/etc/sqlhosts
      ONCONFIG=onconfig.ifx_b
      
    • У меня есть следующие параметры в onconfig.ifx_b файл, который в основном совпадает с сервером Informix ifx_a, но я предпочитаю указать ему другой SERVERNUM и DBSERVERNAME (это не требуется, поскольку они находятся на разных машинах):

      ROOTNAME rootdbs
      ROOTPATH $INFORMIXDIR/tmp/demo_on.rootdbs
      
      SERVERNUM 2
      DBSERVERNAME ifx_b
      
      NETTYPE soctcp,1,50,NET
      
      BAR_ACT_LOG $INFORMIXDIR/tmp/bar_act.log
      BAR_DEBUG_LOG $INFORMIXDIR/tmp/bar_dbug.log
      BAR_DEBUG 5
      BAR_MAX_BACKUP 3
      BAR_RETRY 1
      BAR_PROGRESS_FREQ 10
      BAR_BSALIB_PATH $INFORMIXDIR/lib/libbsapsm.so
      BACKUP_FILTER  '/usr/bin/gzip -c'
      RESTORE_FILTER '/usr/bin/gzip -d -c'
      BAR_PERFORMANCE 3
      BAR_CKPTSEC_TIMEOUT 15
      BAR_HISTORY 0
      
      PSM_ACT_LOG      $INFORMIXDIR/tmp/psm_act.log
      PSM_DEBUG_LOG    $INFORMIXDIR/tmp/psm_dbug.log
      PSM_DEBUG        5
      PSM_CATALOG_PATH $INFORMIXDIR/etc/psm
      PSM_DBS_POOL     DBSPOOL
      PSM_LOG_POOL     LOGPOOL
      
      ALARMPROGRAM $INFORMIXDIR/etc/alarmprogram.sh
      
    • В sqlhosts файл:

      ifx_a    onsoctcp    machine1.local    15010    k=1
      ifx_b    onsoctcp    machine2.local    15020    k=1
      
    • Создайте корневой файл dbspace и настройте разрешения:

      $ touch /opt/IBM/informix/12.10/tmp/demo_on.rootdbs
      $ chown informix:informix /opt/IBM/informix/12.10/tmp/demo_on.rootdbs
      $ chmod 660 /opt/IBM/informix/12.10/tmp/demo_on.rootdbs
      
  10. Скопировать в machine2 сервер Informix ifx_a psm каталог экспорт.

  11. Импортируйте сервер Informix ifx_a psm каталог. Импортированный каталог примет все те же абсолютные пути от сервера Informix. ifx_a. Но оба сервера Informix были настроены на одинаковые абсолютные пути.

    • В каталоге, где находится psm_catalog.exp есть, бегаю:

      $ onpsm -C import
      
       The Informix Primary Storage Manager catalog is not present in the '/opt/IBM/informix/12.10/etc/psm/'
       directory.
      The system will try to create it.
       Informix Primary Storage Manager catalog creation in the '/opt/IBM/informix/12.10/etc/psm/' directory
       succeeded.
      
      This option replaces the Informix Primary Storage Manager catalog using the
       contents of the
      'psm_catalog.exp' directory.
      Are you sure you want to continue? (y/n) y
      
    • Проверить psm каталог:

      $ onpsm -C detail
      
      Informix Primary Storage Manager State:
      
          PSM Unique ID    : 1532739005
          Catalog Location : /opt/IBM/informix/12.10/etc/psm/
          Catalog State    : Unlocked
          Catalog Owner    : 0
          Catalog Lock Mode: Regular
      
      
      Sessions:
          Session ID       Process ID
      Empty SESSION table.
      
      
      $ onpsm -O list
      
      Informix Primary Storage Manager Object List
      
      Object ID            Date Created         Size (MB) Logical path (name.version)
      1                    2018-07-28 00:45:26        2.5 /ifx_a/rootdbs/0/ifx_a.1
      2                    2018-07-28 00:45:34        1.2 /ifx_a/1/1/ifx_a.1
      3                    2018-07-28 00:45:38        1.4 /ifx_a/1/2/ifx_a.1
      4                    2018-07-28 00:45:43        0.9 /ifx_a/1/3/ifx_a.1
      5                    2018-07-28 00:45:46        0.0 /ifx_a/critical_files/ixbar/ifx_a.1
      6                    2018-07-28 00:45:47        0.0 /ifx_a/critical_files/oncfg/ifx_a.1
      7                    2018-07-28 00:45:47        0.1 /ifx_a/critical_files/onconfig/ifx_a.1
      8                    2018-07-28 00:45:48        0.0 /ifx_a/critical_files/sqlhosts/ifx_a.1
      9                    2018-07-28 01:11:03        0.6 /ifx_a/1/4/ifx_a.1
      10                   2018-07-28 01:11:10        0.6 /ifx_a/1/5/ifx_a.1
      11                   2018-07-28 01:11:37        0.1 /ifx_a/1/6/ifx_a.1
      12                   2018-07-28 01:32:40        2.5 /ifx_a/rootdbs/0/ifx_a.2
      13                   2018-07-28 01:32:47        0.5 /ifx_a/1/7/ifx_a.1
      14                   2018-07-28 01:32:49        0.0 /ifx_a/critical_files/ixbar/ifx_a.2
      15                   2018-07-28 01:32:49        0.0 /ifx_a/critical_files/oncfg/ifx_a.2
      16                   2018-07-28 01:32:50        0.1 /ifx_a/critical_files/onconfig/ifx_a.2
      17                   2018-07-28 01:32:50        0.0 /ifx_a/critical_files/sqlhosts/ifx_a.2
      
  12. Для onbar чтобы работать, ему нужен ixbar файл (это собственный офлайн-каталог). onsmsync команда может воссоздать ixbar файл, но он может сделать это только из sysutils база данных, которой нет на сервере Informix ifx_b, так как он не был инициализирован (и даже тогда он будет пустым). Так что нам нужно получить его от psm устройства хранения данных.

    • Получите объект 14, потому что это самая последняя резервная копия файла ixbar.
    • Проверьте метаданные каталога объектов:

      $ onpsm -O detail -o 14
      
      Informix Primary Storage Manager Object Detail List
      
          Object ID       : 14
          XBSA PATH       : /ifx_a/critical_files/ixbar
          XBSA CopyId     : 0:14
          Object Type     : C
          Object version  : 2
          Physical pieces :
              https://ifx-a-cloud-bucket.s3.amazonaws.com//ifx_a/critical_files/ixbar/ixbar.14.1
          Number of pieces: 1
      
    • Получить ("сбросить") ixbar файл с запоминающего устройства:

      onpsm -O dump -o 14
      
    • Создает файл ifx_a_critical_files_ixbar.14 в текущем каталоге. Скопируйте и переименуйте файл, чтобы он стал ixbar файл для сервера Informix ifx_b (SERVERNUM 2):

      $ cp ifx_a_critical_files_ixbar.14 /opt/IBM/informix/12.10/etc/ixbar.2
      
  13. Запустить onbar команда восстановления.

    $ onbar -r -w

    • Проверьте файл журнала onbar на /opt/IBM/informix/12.10/tmp/bar_act.log:

       2018-07-28 01:57:45.727270 11009  11007 /opt/IBM/informix/12.10/bin/onbar_d -r -w
       2018-07-28 01:57:45.794570 11009  11007 Using IBM's PSM version 12.10.FC12 as the Storage Manager. XBSA API version is 1.0.3.
       2018-07-28 01:57:45.799655 11009  11007 Successfully connected to Storage Manager.
       2018-07-28 01:57:45.799874 11009  11007 Starting Filter /usr/bin/gzip -d -c.
       2018-07-28 01:57:45.831695 11011  11009 Successfully connected to Storage Manager.
       2018-07-28 01:57:46.435703 11009  11007 Begin reserved pages read (level 0 of rootdbs, Storage Manager copy ID: 0 12).
       2018-07-28 01:57:46.486687* 11011  11009 Filter closed.
       2018-07-28 01:57:46.531063* 11011  11009 Filter closed.
       2018-07-28 01:57:46.540890 11009  11007 Completed reserved pages read (level 0 of rootdbs).
       2018-07-28 01:57:46.555287 11009  11007 Unable to start logical log salvage: Unable to read boot strap config file - '/opt/IBM/informix/12.10/etc/oncfg_ifx_b.2' .
       2018-07-28 01:57:51.563908 11009  11007 Successfully connected to Storage Manager.
       2018-07-28 01:57:51.564216 11009  11007 Starting Filter /usr/bin/gzip -d -c.
       2018-07-28 01:57:51.575587 11019  11009 Successfully connected to Storage Manager.
       2018-07-28 01:57:52.096184 11009  11007 Begin reserved pages read (level 0 of rootdbs, Storage Manager copy ID: 0 12).
       2018-07-28 01:57:52.153351* 11019  11009 Filter closed.
       2018-07-28 01:57:52.198363* 11019  11009 Filter closed.
       2018-07-28 01:57:52.209302 11009  11007 Completed reserved pages read (level 0 of rootdbs).
       2018-07-28 01:57:52.222134 11009  11007 Successfully connected to Storage Manager.
       2018-07-28 01:57:52.222251 11009  11007 Starting Filter /usr/bin/gzip -d -c.
       2018-07-28 01:57:52.227977 11024  11009 Successfully connected to Storage Manager.
       2018-07-28 01:57:52.753398 11009  11007 Begin cold level 0 restore rootdbs (Storage Manager copy ID: 0 12).
       2018-07-28 01:58:05.396340 11024  11009 The child process for the backup and restore filter is terminating
      with exit code 0.
       2018-07-28 01:58:05.448496 11009  11007 Completed cold level 0 restore rootdbs.
       2018-07-28 01:58:05.790012 11009  11007 Completed whole system restore.
       2018-07-28 01:58:06.812501 11009  11007 Successfully connected to Storage Manager.
       2018-07-28 01:58:06.812747 11009  11007 Starting Filter /usr/bin/gzip -d -c.
       2018-07-28 01:58:06.827447 11049  11009 Successfully connected to Storage Manager.
       2018-07-28 01:58:07.413841 11009  11007 Begin restore logical log 7 (Storage Manager copy ID: 0 13).
       2018-07-28 01:58:09.251399 11049  11009 The child process for the backup and restore filter is terminating
      with exit code 0.
       2018-07-28 01:58:09.382900 11009  11007 Completed restore logical log 7.
       2018-07-28 01:58:09.388014 11009  11007 Successfully connected to Storage Manager.
       2018-07-28 01:58:09.831410 11009  11007 Completed logical restore.
       2018-07-28 01:58:10.046783 11009  11007 Successfully connected to Storage Manager.
       2018-07-28 01:58:10.104630 11009  11007 /opt/IBM/informix/12.10/bin/onbar_d complete, returning 0 (0x00)
      
    • Проверьте файл онлайн-журнала на /opt/IBM/informix/12.10/tmp/online.log:

      01:57:53  IBM Informix Dynamic Server Started.
      01:57:53  Requested shared memory segment size rounded from 4308KB to 4796KB
      
      Sat Jul 28 01:57:55 2018
      
      07/28/18 01:57:55  Requested shared memory segment size rounded from 110629KB to 110632KB
      07/28/18 01:57:55  Successfully added a bufferpool of page size 2K.
      
      07/28/18 01:58:00  Restartable Restore has been ENABLED
      07/28/18 01:58:00  Recovery Mode
      07/28/18 01:58:01  Listen thread init SUCCESS
      07/28/18 01:58:01  Physical Restore of rootdbs started.
      
      07/28/18 01:58:02  Chunk 1 '/opt/IBM/informix/12.10/tmp/demo_on.rootdbs' is sparse - inflating...
      07/28/18 01:58:09  Logical Recovery has reached the transaction cleanup phase.
      07/28/18 01:58:09  Logical Recovery Complete.
                8 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks
      
      07/28/18 01:58:09  Logical Recovery Complete.
      07/28/18 01:58:09  Quiescent Mode
      07/28/18 01:58:09  Checkpoint Completed:  duration was 0 seconds.
      07/28/18 01:58:09  Sat Jul 28 - loguniq 8, logpos 0x18, timestamp: 0x5f8dd Interval: 25
      
      07/28/18 01:58:09  Maximum server connections 0
      07/28/18 01:58:09  Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txns blocked 0, Plog used 19, Llog used 1
      
      07/28/18 01:58:10  Booting Language <spl> from module <>
      07/28/18 01:58:10  Loading Module <SPLNULL>
      07/28/18 01:58:10  Defragmenter cleaner thread now running
      07/28/18 01:58:10  Defragmenter cleaner thread cleaned:0 partitions
      
  14. Сервер Informix ifx_b сейчас в Quiescent режим (память инициализируется, может выполнять некоторые административные задачи). Сменить сервер Informix ifx_b в онлайн-режим.

    •  $ onmode -m
      
    • Убедитесь, что база данных test_db был восстановлен.

      printf "select name from sysdatabases;" | dbaccess sysmaster
      
      Database selected.
      
      name  sysmaster
      name  sysutils
      name  sysuser
      name  sysadmin
      name  test_db
      
      5 row(s) retrieved.
      
      Database closed.