DB2 восстанавливает табличное пространство инкрементной резервной копии на другой базе данных - PullRequest
0 голосов
/ 15 февраля 2019

В моей среде есть server1 и server2, на обоих установлены db2 v11.1.

Я уже сделал онлайн инкрементное резервное копирование табличных пространств (TS1, TS2, TS3) моей базы данных GS_DB и получил нижеприведенное3 изображения.

Image1 at timestamp1: 20190215162151     (full online backup of TS1,TS2,TS3)
Image2 at timestamp2: 20190215162254     (incremental online backup of TS1,TS2,TS3)
Image3 at timestamp3: 20190215162725     (incremental online backup of TS1,TS2,TS3)

На сервере 1, предположим, что я хочу восстановить свою БД в изображение 2 (20190215162254), я могу сделать:

db2ckrst -d GS_DB -t 20190215162254 -r tablespace
Suggested restore order of images using timestamp 20190215162254 for database gs_db.
====================================================================
restore db gs_db tablespace ( TS1, TS2, TS3 ) incremental taken at 20190215162254
restore db gs_db incremental taken at 20190215162151
restore db gs_db incremental taken at 20190215162254
====================================================================

Если я следую порядку и восстановлюсуществующий GS_DB на сервере server1, он работает нормально.

Теперь я перенес 3 изображения на сервер2 и создал пустую базу данных GS_DB на сервере server2, а затем попробуйте использовать приведенную выше команду для восстановления табличных пространств TS1, TS2, TS3 до GS_DB вserver2:

db2 restore db gs_db2 tablespace ( TS1, TS2, TS3 ) incremental taken at 20190215162254
SQL2560N  The table space restore operation failed because the target database is not identical to the source database.

Уже застряв в первой команде, означает ли это, что мы не можем восстановить образ резервной копии табличного пространства на двух разных БД?Как я могу это сделать?

Заранее спасибо!

1 Ответ

0 голосов
/ 15 февраля 2019

Каждая база данных имеет уникальный внутренний идентификатор, который называется Seed.Вы не можете создать другую базу данных с таким же Seed, как у существующей, даже если вы создаете ее с тем же именем.Эти базы данных отличаются от точки зрения DB2.
Цитирование из Восстановление в существующую базу данных статья:

Менеджер баз данных назначает начальное число при создании базы данных..
Db2® всегда использует начальное число из образа резервной копии.
Вы можете восстановить табличное пространство в существующей базе данных, только если табличное пространство существует и если табличные пространства совпадают, то есть вы это сделалине удаляйте табличное пространство, а затем заново создайте его между операцией резервного копирования и восстановления .
База данных на диске и в образе резервной копии должна совпадать .

Итак, да, вы не можете восстановить образ резервной копии табличного пространства на двух разных БД, как вы пытаетесь.
Прочтите о Схема базы данных, транспортирующая функцию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...