Восстановить резервную копию DB2 в другой базе данных DB2 с другим именем

У меня есть файл резервной копии базы данных DB2 10, который я хочу восстановить в другой среде. Проблема в том, что база данных была настроена с другим именем, и восстановление жалуется, потому что имена баз данных разные.

Есть ли способ восстановить файл резервной копии базы данных в другой среде?

Спасибо


person user3165854    schedule 08.10.2015    source источник
comment
Вы можете предоставить фактическую команду RESTORE, которую вы использовали, и полное сообщение об ошибке. Кстати, DB2 v10 доступна только для z/OS. Это та платформа, о которой мы говорим?   -  person mustaccio    schedule 08.10.2015
comment
Команда восстановления была db2 restore database mydb from /tmp taken at 20151007243030 и она находится в ОС Linux.   -  person user3165854    schedule 08.10.2015


Ответы (3)


Вот команда, которую я использовал для восстановления:

db2 "RESTORE DATABASE <restore database name> FROM <current restore directory> TAKEN AT <timestamp of full backup> TO <Local database directory> INTO <new database name>"

Пример:

Имя базы данных исходной резервной копии:

СИСТЕМА

Мой резервный каталог:

/db2inst1/архив/резервная копия/СИСТЕМА/уровень0/

Временная метка исходной резервной копии:

20180503141925

Каталог локальной базы данных: я бы перенаправил этот каталог в стандартный список вашей базы данных.

Имя новой базы данных:

СИСТЕМА2

Пример выходной команды:

db2 "RESTORE DATABASE system FROM /db2inst1/archive/backup/SYSTEM/level0/ TAKEN AT
20180503141925 TO /db2inst1/ INTO system2"

После завершения прокрутки базы данных:

db2 "ROLLFORWARD DB SYSTEM2 TO END OF LOGS AND COMPLETE"
person Christopher Karsten    schedule 09.05.2018

Вы можете использовать вариант «перенаправленного» восстановления, создав файл

db2 restore database mydb redirect generate script restore.sql

После создания сценария вы можете изменить имена, расположение файлов и т. д.

И, наконец, выполнить скрипт

db2 -tvf restore.sql
person AngocA    schedule 08.10.2015
comment
Спасибо. Есть ли способ использовать параметр перенаправления, чтобы перенаправить его в базу данных с другим именем с помощью команды восстановления? Я видел это, когда исследовал проблему, но не уверен, что я просто неправильно понял цель этого кода. Однако я не смог заставить его работать. db2 restore database mydb from /tmp taken at 20151007243030 to new_ip_location into diff_name_db redirect without prompting - person user3165854; 08.10.2015
comment
перенаправление restore mydb, созданное с помощью restore.sql, не похоже на допустимый синтаксис команды. - person mustaccio; 08.10.2015
comment
@user3165854 user3165854 Пожалуйста, прочитайте синтаксическую диаграмму для команды restore database, параметры расположены в определенном порядке. Или, как предлагает @angoca, используйте generate script. - person Ian Bjorhovde; 08.10.2015

Спасибо за помощь.

В конце мы удалили существующую базу данных, восстановили базу данных из файла резервной копии, а затем переименовали восстановленную базу данных, чтобы она соответствовала имени предыдущей базы данных.

person user3165854    schedule 13.10.2015