您可以在恢复期间通过重命名块来更换磁盘。 在使用 ON-Bar 进行冷恢复期间,通过
指定新块路径和偏移量来重命名块。如果需要将存储空间恢复到与完成备份的磁盘不同的
磁盘上,该选项很有帮助。可以重命名任意类型的块,包括关键块和镜像块。
旧块必须包含在上一个 0 级备份中。
以下准则适用于新块:
•
新块不需要存在。可以以后安装新块并对包含它的存储空间执行热恢复。如果指
定不存在的块,ON-Bar 将重命名信息记录在块保留页中,但不恢复数据。已重命
名(但未恢复)的块处于脱机状态,在 onstat -d 命令的输出中由 N 标志指示。
•
新块必须有正确的许可权。
•
新块必须包含在上一个 0 级备份中。
•
新块路径名不能与现有块相同,且偏移量不能重叠。
提示: 如果使用块名称的符号链接,可能不需要重命名块;而只需编辑符号名称定义即可。
要在恢复期间重命名块:
GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 71 -
1. 关闭数据库服务器。
2.
使用 -rename 选项和块信息选项来运行 onbar -r 命令。
如果要对主根块或镜像根块进行重命名,那么 ON-Bar 将更新 ROOTPATH 和
ROOTOFFSET 或者 MIRRORPATH 和 MIRROROFFSET 配置参数的值。旧版
本的 onconfig 文件将另存为 $ONCONFIG.localtime。
3.
执行 0 级归档,以便您可以恢复重命名的块。
示例
下表列出在本部分的示例中使用的两个块的示例值。
元素
第一个块的值
第二个块的值
旧路径
/chunk1
/chunk2
旧偏移量 0
10000
新路径
/chunk1N
/chunk2N
新偏移量 20000
0
示例 1:通过在命令中提供块信息来重命名块
以下命令将块 chunk1 重命名为 chunk1N,将块 chunk2 重命名为 chunk2N:
onbar -r -rename -p /chunk1 -o 0 -n /chunk1N -o 20000
-rename -p /chunk2 -o 10000 -n /chunk2N -o 0
示例 2:通过在文件中提供块信息来重命名块
假设您有一个名为 listfile 的文件,其中包含以下内容:
/chunk1 0 /chunk1N 20000
/chunk2 10000 /chunk2N 0
以下命令将块 chunk1 重命名为 chunk1N,将块 chunk2 重命名为 chunk2N:
onbar -r -rename -f listfile
将块重命名到不存在的设备上
要将块重命名到不存在的设备,请指定新的路径名,但在安装该物理设备之后再恢复存储
空间。该选项在您需要重命名块时很有用,便于您在安装新设备前执行冷恢复。当新块设
备就绪后,您可以在它上面执行存储空间的热恢复。
可以在同一个重命名操作中将重命名块与现有设备结合在一起,以及将重命名块与不存在
的设备结合在一起。本示例显示如何将单个块重命名到不存在的设备名上。
下表列出本示例中使用的块的示例值。
GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 72 -
存储空间
旧块的路径
旧偏移
量
新块的路径 新偏移量
sbspace1
/chunk3
0
/chunk3N
0
要将块重命名到不存在的设备上:
1.
使用以下命令重命名块:onbar -r -rename -p /chunk3 -o 0 -n /chunk3N -o 0
2.
当您看到以下提示时,请输入 y 以继续:
块 /chunk3N 不存在。如果继续,那么对包含该块
的数据库空间的恢复操作稍后可能会失败。
在不创建该块的情况下,是否继续?(y/n)
块 /chunk3 被重命名为 /chunk3N,但数据还未恢复到 /chunk3N。
3.
执行 0 级归档。
4.
为 /chunk3N 添加物理设备。
5.
使用 onbar -r sbspace1 命令来执行 sbspace1 的热恢复。
6.
执行 0 级归档。