将 DB2 备份恢复到另一个具有不同名称的 DB2 数据库

Restore DB2 backup to another DB2 database with different name

我有一个 DB2 10 数据库备份文件,我想将其恢复到另一个环境。问题是数据库已设置为不同的名称,并且由于数据库名称不同而导致恢复报错。

有没有办法将数据库备份文件恢复到其他环境?

谢谢

您可以通过生成文件来使用 "redirected" 恢复选项

db2 restore database mydb redirect generate script restore.sql

生成脚本后,您可以更改名称、文件位置等。

最后,执行脚本

db2 -tvf restore.sql

感谢您的帮助。

最后我们删除了现有的数据库,从备份文件中恢复数据库,然后重命名恢复的数据库以匹配以前的数据库名称

这是我用来恢复的命令:

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

示例:

原始备份的数据库名称是:

SYSTEM

我的备份目录是:

/db2inst1/archive/backup/SYSTEM/level0/

原始备份的时间戳是:

20180503141925

本地数据库目录是:我会将此目录重定向到您的数据库标准列表

新数据库名称是:

SYSTEM2

示例输出命令为:

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"