Go на сервере A
db2 => connect to <DBNAME> user db2inst1
sb2 => LIST TABLESPACES SHOW DETAIL
Будут показаны некоторые детали. Вы должны посмотреть на все табличные пространства, которые Page size
и tot pages
используют MB = Page size x tot pages
для калибровки c размера табличных пространств в МБ.
не смотрите на временное табличное пространство: это необязательно.
Позвольте быть примером:
tablespace name page size tot pages MB
SYSCATSPACE 4096 32768 128
USERSPACE1 4096 8192 32
SYSTOOLSPACE 4096 8192 32
TBS_N0 32768 19456 608
, чтобы избежать проблем, увеличьте этот размер:
ALTER TABLESPACE SYSCATSPACE MAXSIZE 512 M
ALTER TABLESPACE USERSPACE1 MAXSIZE 128 M
ALTER TABLESPACE SYSTOOLSPACE MAXSIZE 128 M
ALTER TABLESPACE TBS_N0 MAXSIZE 1 G
Теперь табличное пространство имеет максимальный размер, и это не будет увеличивать SQL1139n при восстановлении времени.
Теперь сделайте резервную копию:
db2 backup database <DBNAME> to /home/db2inst1/backup
Теперь мы можем вернуть последнюю настройку:
ALTER TABLESPACE SYSCATSPACE MAXSIZE NONE
ALTER TABLESPACE USERSPACE1 MAXSIZE NONE
ALTER TABLESPACE SYSTOOLSPACE MAXSIZE NONE
ALTER TABLESPACE TBS_N0 MAXSIZE NONE
Скопировать резервную копию на сервер B и сделать:
db2 restore database <DBNAME> from "/database" taken at <timestamp> redirect generate script restore.clp
отредактируйте restore.clp, чтобы изменить все пути указания пути на сервере A, чтобы они соответствовали существующему пути на сервере B.
удалите комментарий к строке:
ON 'path'
и убедитесь, что путь существует на сервере B: где БД будет создаваться.
удалите комментарий к строке:
SET STOGROUP PATHS FOR <IBMSTOGROUPNAME>
ON 'path'
;
и убедитесь, что путь существует на сервере B: это место, где БД будет создавать новые табличные пространства.
теперь выполните восстановление с помощью:
db2 -tvf restore.clp
Если вы допустили ошибку и восстановление go неправильно, выполните:
db2 restore database <DBNAMW> abort
, если эта команда не работает (выдает ошибку) do:
db2 drop db <DBNAME>
если все go вправо:
ALTER TABLESPACE SYSCATSPACE MAXSIZE NONE
ALTER TABLESPACE USERSPACE1 MAXSIZE NONE
ALTER TABLESPACE SYSTOOLSPACE MAXSIZE NONE
ALTER TABLESPACE TBS_N0 MAXSIZE NONE
Новая база данных будет создана на сервере B из резервной копии копия базы данных на сервере А.