使用复原脚本从脱机备份复原 Db2
重要信息: IBM Cloud Pak for Data 4.6 版本将于 2025 年 7 月 31 日结束支持 (EOS)。 欲了解更多信息,请参阅 IBM Cloud Pak for Data 版本 4.X 的停止服务公告。
在 IBM Cloud Pak for Data 4.6 版本支持结束之前,升级到 IBM Software Hub 5.1 版本。 更多信息,请参阅 IBM Software Hub 版本 5.1 文档中的升级 IBM Software Hub。
您可以使用提供的脚本文件在使用或不使用加密的情况下复原 Db2 备份映像。
复原脚本可以复原:
- 已加密的备份
- 未加密的备份
- 来自相同或不同外形规格的外部 Db2 数据库 (例如,同一平台系列中的裸机 Db2 部署)
- 来自较早 Db2 版本的备份
以下部分提供了 db_restore_extdb.sh 脚本的用法信息,以及有关使用脚本以不同选项复原的详细信息。
注: 只能使用该脚本来复原完全脱机备份映像。 如果您正在使用增量/联机备份映像,请使用本机 Db2 复原命令。
语法
选项:
- --bkp-dir 目录
- 指定备份映像所在的目录。 选择此选项或 --bkp-tar 选项。
- --bkp-tar filename
- 指定包含备份映像的 .tar 文件。
- --bkp-timestamp 时间戳记
- 要用于复原的备份映像的时间戳记。
- --dbname 数据库名称
- 复原备份映像时要使用的数据库名称。
- --dblist
- 复原备份映像时要使用的数据库名称的逗号分隔列表。
- --keystore-dir 目录
包含备份本机加密密钥库的目录。 此目录必须仅包含密钥库文件。 选择此选项或 --keystore-tar 选项。
- --drop-default-db
- 删除现有数据库。
- --replace
- 替换现有数据库。
- --keystore-tar
- 指定包含备份本机加密密钥库的 .tar 文件。
- --cleanup
- 指定清除所有备份映像。
- --verbose
- 使用此标志以查看脚本执行的显式命令或查看错误。
- --help
- 使用此标志以显示工具的帮助。
复原已加密的备份
要复原已加密的备份,请完成下列步骤:
- 将 Db2 数据库备份映像和本机加密密钥库保存在单个位置。 例如,/mnt/blumeta0/db2/backup/db2ubkp,相当于 ${BACKUPDIR}/db2ubkp。
- Db2 实例所有者/组必须对保存备份映像和密钥库文件的备份目录具有读写访问权。 可以通过发出以下命令来设置必需的方式位和许可权:
chmod 755 ${BACKUPDIR}/db2ubkp chown db2inst1:db2iadm1 ${BACKUPDIR}/db2ubkp - 运行以下命令以复原备份:
db_restore_extdb --bkp-dir ${BACKUPDIR}/db2ubkp --dbname dbname --bkp-timestamp timestamp --replace --keystore-dir ${BACKUPDIR}/db2ubkp将 dbname 替换为区分大小写的数据库名称,将 timestamp 替换为备份映像的时间戳记。 您可以通过运行
cat ${SUPPORTDIR}/db_restore_extdb.log来获取复原命令的输出日志。注: 如果备份是从其他实例或远程集群复制的,那么必须使用--drop-default-database参数而不是--replace参数。
复原未加密的备份
要复原未加密的备份,请完成下列步骤:
- 将 Db2 数据库备份映像保存在单个位置。 例如,/mnt/blumeta0/db2/backup/db2ubkp,相当于 ${BACKUPDIR}/db2ubkp。
- Db2 实例所有者/组必须对保存备份映像和密钥库文件的备份目录具有读写访问权。 可以通过发出以下命令来设置必需的方式位和许可权:
chmod 755 ${BACKUPDIR}/db2ubkp chown db2inst1:db2iadm1 ${BACKUPDIR}/db2ubkp - 运行以下命令以复原备份:
db_restore_extdb --bkp-dir ${BACKUPDIR}/db2ubkp --dbname dbname --bkp-timestamp timestamp --replace将 dbname 替换为区分大小写的数据库名称,将 timestamp 替换为备份映像的时间戳记。 您可以通过运行
cat ${SUPPORTDIR}/db_restore_extdb.log来获取复原命令的输出日志。
复原外部数据库
备份映像(以及已加密的密钥库)也可以从外部来源复原。 例如,您可能想要使用本地部署中的数据库来重新初始化 Db2 。
您可以使用 --dbname dbname 选项将数据库名称设置为与此场景中的源代码相同。
