有什么方法可以在数据库恢复期间保留 Db2 限制模式设置吗?
问题:将非限制性 Db2 数据库的备份恢复到现有限制性 Db2 数据库时,限制性标志被覆盖。
[1] IBM Db2 - 恢复到现有数据库
https://www.ibm.com/docs/en/db2/11.5?topic=data-existing-database
[2] IBM Db2 - 限制性数据库实用指南
关于[2]:
要创建限制性数据库,您需要使用 RESTRICTIVE 关键字指定 创建数据库命令。这是一个例子:
db2 创建数据库 testdb 限制;
创建数据库时设置restrict_access参数后,将无法修改。这会将 limit_access 数据库配置参数设置为 YES。
在实用指南 [2] 中,KC [1](最后更新日期 24.1.2024)中确实没有关于备份/恢复的评论,它会在这一点下建议
“恢复到现有数据库时,恢复实用程序执行以下操作:(...)”
restrict_access 配置参数保持/必须保持在数据库创建期间设置的位置。
测试版本:rhel 8 上的 Db2 LUW 11.5
问题中的期望是不正确的,“恢复...到”将仅继承即将被覆盖的数据库的名称/别名(如果存在)。也就是说,除了名称/别名之外,
restore database... into...
不会保留被覆盖的旧数据库的任何属性或设置。
如果源数据库(即正在恢复其备份映像的数据库)本身不受限制,则该源数据库的任何恢复的备份映像本身也将不受限制。
这就是 Db2-LUW 产品(v11.5)目前的工作原理。 (当前)不存在普遍可用的 IBM 提供的脚本来将非限制数据库“转换”为限制数据库(反之亦然),尽管将来可能会改变。