新的ASMCMD命令和选项
ASM命令行实用程序包括了多个新的命令,下面的示例输出假设你已经以-p选项启动了实用程序:
ASMCMD [+] >
在asmcmd中输入help <命令>可以查看每个命令的用法。
lsdsk命令从V$ASM_DISK_STAT and V$ASM_DISK视图查询出所有ASM磁盘的信息,简要用法如下所示:
下面是不加-k选项和加上-k选项后的输出结果示例:
Path
/dev/sdc1
/dev/sdd1
/dev/sde1
ASMCMD [+] > lsdsk -d data -k
Total_MB Free_MB OS_MB Name Failgroup Library Label UDID Product Redund Path
8189 6961 8189 DATA_0000 DATA_0000 System UNKNOWN /dev/sdc1
8189 6961 8189 DATA_0001 DATA_0001 System UNKNOWN /dev/sdd1
8189 6950 8189 DATA_0002 DATA_0002 System UNKNOWN /dev/sde1
ASMCMD [+] >
cp命令允许文件在ASM和本地或远程目标之间拷贝,简要用法如下所示:
下面的示例从ASM拷贝USERS数据文件到本地文件系统:
source +DATA/db11g/datafile/users.273.661514191
target /tmp/users.dbf
copying file(s)...
file, /tmp/users.dbf, copy committed.
ASMCMD [+] >
但遗憾的是cp命令不能拷贝控制文件。
md_backup命令拷贝一个或多个磁盘组的元数据,简要用法如下所示:
下面是一个示例命令,命令结果包括了所有重新创建ASM设置需要的元数据:
Disk group to be backed up: DATA
ASMCMD [+] >
md_restore命令允许从md_backup命令创建的元数据恢复磁盘组设置,简要用法如下所示:
[-t (full)|nodg|newdg] [-f ]
[-g ',,...']
[-o ':,...']
直接从以前的备份还原的命令如下:
remap命令修复磁盘上一段范围的物理块,每个块的内容都无效,因此只有展示了读错误的块被修复,简要用法如下所示;
下面是这个命令的一个示例:
Preferred Read Failure(首选读失效)组
在Oracle 10g中,ASM总是读取镜像区间集的主要拷贝,当两个节点和两个失效组都位于同一个站点中时,这样做没有问题,但群集扩大后,它的效率就变得低下了,因为它会引起很多不必要的网络通讯,Oracle 11g允许每个节点定义一个首选失效组,允许群集中的节点优先于远程失效组访问本地失效组。
为了配置首选读失效组,磁盘组兼容属性必须设置为11.1或更高,兼容选项设置正确了,就可以使用ASM_PREFERRED_READ_FAILURE_GROUPS参数为每个节点设置首选失效组。
NAME FAILGROUP
------------------------------ ------------------------------
DATA_0000 DATA_0000
DATA_0001 DATA_0001
DATA_0002 DATA_0002
3 rows selected.
SQL>
ALTER SYSTEM SET ASM_PREFERRED_READ_FAILURE_GROUPS = 'data.data_0000', 'data.data_0001', 'data.data_0002';