asmcmd要在磁盘组挂载的时候才可以使用该命令
在ASM实例中,所有的存储于ASM磁盘组中的文件对于操作系统命令而言是不可访问的,因此也无法使用常规的命令来操纵ASM磁盘中的文件。所幸的是,我们有ASMCMD工具来代替操作系统命令来完成这部分工作。ASMCMD工具提供了类似于操作系统的常用命令,如ls , du ,find,cd ,rm ,mkdir等等。借助这些工具可以更轻松的完成ASM实例的相关管理工作。
(1)ASM磁盘的根路径为“+”,而不是“/",以下为演示操作:
ASMCMD> cd ARCHIVE --当前路径为+ARCHIVE
ASMCMD> pwd
+ARCHIVE
ASMCMD> cd + --切换到ASM磁盘根路径
ASMCMD> pwd --当前路径为根路径 +
+
(2)ls -l ----查看磁盘组的基本信息
ASMCMD> ls -l
State Type Rebal Name
MOUNTED EXTERN N ARCHIVE/
MOUNTED EXTERN N DATA/
MOUNTED EXTERN N FRA/
(3)ls -s -- --查看磁盘组的详细信息,如磁盘大小,可用空间,扇区大小等
ASMCMD> ls -s
Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
512 4096 1048576 4102 1856 0 1856 0 N ARCHIVE/
512 4096 1048576 4102 1430 0 1430 0 Y DATA/
512 4096 1048576 4102 3568 0 3568 0 N FRA/
(4)lsdg --列出所有磁盘组及其属性
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 4102 1856 0 1856 0 N ARCHIVE/
MOUNTED EXTERN N 512 4096 1048576 4102 1430 0 1430 0 Y DATA/
MOUNTED EXTERN N 512 4096 1048576 4102 3568 0 3568 0 N FRA/
(5)lsdsk --列出盘信息
ASMCMD> lsdsk
Path
/dev/raw/raw1
/dev/raw/raw2
/dev/raw/raw3
(6)显示指定的ASM目录下ASM文件占用的所有磁盘空间
ASMCMD> ls
ARCHIVE/
DATA/
FRA/
ASMCMD> du ARCHIVE
Used_MB Mirror_used_MB
2144 2144
rm:删除指定的文件或目录,如果是别名,会删除别名和别名对应的文件
迁移ASM SPFILE(由一个磁盘组迁移到另外一个磁盘组)
spget 返回ASM SPFILE的位置从GPnP profile
spset 设置ASM SPFILE的位置
spcopy 拷贝ASM SPFILE,在同一个磁盘组不能拷贝多份。为了更新GPnP profile,则用-u选项或用spset命令
(1)在GRID用户下任一节点执行
[root@rac1 ~]# su - grid
[grid@rac1 ~]$ asmcmd
ASMCMD> spget --查看当前的ASMSPFILE
+ARCHIVE/rac-cluster/asmparameterfile/registry.253.1030937925
(2)复制SPFILE至新卷组FRA
ASMCMD> ls -l
State Type Rebal Name
MOUNTED EXTERN N ARCHIVE/
MOUNTED EXTERN N DATA/
MOUNTED EXTERN N FRA/
ASMCMD>spcopy +ARCHIVE/rac-cluster/asmparameterfile/registry.253.1030937925 +FRA/spfileASM.ora
ASMCMD> pwd
+FRA/rac-cluster/ASMPARAMETERFILE
ASMCMD> ls
REGISTRY.253.1034189293
如果出现该错误,说明你要拷贝的+FRA上已经存在ASM的spfile了,到+FRA/rac-cluster/ASMPARAMETERFILE删除该spfile,再重新执行spcopy命令
ORA-15056: additional error message
ORA-17502: ksfdcre:4 Failed to create file +FRA/spfileASM.ora
ORA-15268: internal Oracle file +FRA.253.1 already exists.
ORA-06512: at line 7 (DBD ERROR: OCIStmtExecute)
(3)查看新SPFILE绝对路径
ASMCMD> pwd
+FRA/rac-cluster/ASMPARAMETERFILE
ASMCMD> ls
REGISTRY.253.1034189293
可以得到新的asm spfile的绝对路径为
+FRA/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.1034189293
(4)更新spfile的路径
ASMCMD> spset +FRA/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.1034189293
ASMCMD> spget --可以看到asm spfile成功迁移至FRA磁盘组
+FRA/rac-cluster/ASMPARAMETERFILE/REGISTRY.253.1034189293