Oracle RAC集群的ASMCMD命令整理
此部分整理了asmcmd的命令和使用方法,具体过程记录如下:
什么是asm
ASM它提供了以平台无关的文件系统、逻辑卷管理以及软RAID服务。ASM可以支持条带化和磁盘镜像,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O以删除“热点”。
它还支持直接和异步的I/O并使用Oracle9i中引入的Oracle数据管理器API(简化的I/O系统调用接口)。
ASM是做为单独的Oracle实例实施和部署,并且它只需要有参数文件,不需要其它的任何物理文件,就可以启动ASM实例,只有它在运行的时候,才能被其它数据访问。
在Linux平台上,只有运行了OCSSD服务(Oracle安装程序默认安装)了才能和访问ASM。
在ASM实例中,所有的存储于ASM磁盘组中的文件对于操作系统命令而言是不可访问的,因此也无法使用常规的命令来操纵ASM磁盘中的文件。所幸的是,我们有ASMCMD工具来代替操作系统命令来完成这部分工作。ASMCMD工具提供了类似于操作系统的常用命令,如ls , du ,find,cd ,rm ,mkdir等等。借助这些工具可以更轻松的完成ASM实例的相关管理工作。
文件查看和管理命令
-
查看磁盘组的基本信息ls -l
ASMCMD> ls -l State Type Rebal Name MOUNTED EXTERN N DATA/ MOUNTED EXTERN N FRA/ MOUNTED NORMAL N ORS/
-
查看磁盘组的详细信息,如磁盘大小,可用空间,扇区大小等ls -s
ASMCMD> ls -s Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name 512 512 4096 4194304 40952 36232 0 36232 0 N DATA/ 512 512 4096 4194304 20476 20344 0 20344 0 N FRA/ 512 512 4096 4194304 3060 2096 1020 538 0 Y ORS/
-
查看目录信息pwd,cd,
ASMCMD> pwd + ASMCMD> cd ORS ASMCMD> ls -l Type Redund Striped Time Sys Name Y ASM/ PASSWORD HIGH COARSE APR 28 01:00:00 N orapwasm => +ORS/ASM/PASSWORD/pwdasm.256.1038877507 PASSWORD HIGH COARSE APR 28 01:00:00 N orapwasm_backup => +ORS/ASM/PASSWORD/pwdasm.257.1038877861 Y rac19c/ ASMCMD> pwd +ORS
-
数据文件信息lsof
ASMCMD> lsof DB_Name Instance_Name Path +ASM +ASM1 +ORS.255.1038877513 racdb racdb1 +DATA/RACDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.266.1038939581 racdb racdb1 +DATA/RACDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.265.1038939581 racdb racdb1 +DATA/RACDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.267.1038939581 racdb racdb1 +DATA/RACDB/A4582AEF3E8210F9E0533C23100A3339/TEMPFILE/temp.268.1038939611 racdb racdb1 +DATA/RACDB/A4589A0DFC505BE5E0533C23100AC826/DATAFILE/sysaux.275.1038941443 racdb racdb1 +DATA/RACDB/A4589A0DFC505BE5E0533C23100AC826/DATAFILE/system.274.1038941443 racdb racdb1 +DATA/RACDB/A4589A0DFC505BE5E0533C23100AC826/DATAFILE/undo_2.277.1038941483 racdb racdb1 +DATA/RACDB/A4589A0DFC505BE5E0533C23100AC826/DATAFILE/undotbs1.273.1038941443 racdb racdb1 +DATA/RACDB/A4589A0DFC505BE5E0533C23100AC826/DATAFILE/users.278.1038941485 racdb racdb1 +DATA/RACDB/A4589A0DFC505BE5E0533C23100AC826/TEMPFILE/temp.276.1038941449 racdb racdb1 +DATA/RACDB/CONTROLFILE/current.261.1038938883 racdb racdb1 +DATA/RACDB/DATAFILE/sysaux.258.1038938777 racdb racdb1 +DATA/RACDB/DATAFILE/system.257.1038938723 racdb racdb1 +DATA/RACDB/DATAFILE/undotbs1.259.1038938803 racdb racdb1 +DATA/RACDB/DATAFILE/undotbs2.269.1038940101 racdb racdb1 +DATA/RACDB/DATAFILE/users.260.1038938803 racdb racdb1 +DATA/RACDB/ONLINELOG/group_1.262.1038938887 racdb racdb1 +DATA/RACDB/ONLINELOG/group_2.263.1038938887 racdb racdb1 +DATA/RACDB/ONLINELOG/group_3.270.1038940635 racdb racdb1 +DATA/RACDB/ONLINELOG/group_4.271.1038940637 racdb racdb1 +DATA/RACDB/TEMPFILE/temp.264.1038938901
-
所有磁盘组及其属性 lsdg
ASMCMD> lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 4194304 40952 35496 0 35496 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 20476 20344 0 20344 0 N FRA/ MOUNTED NORMAL N 512 512 4096 4194304 3060 2088 1020 534 0 Y ORS/
-
当前ASM客户端的信息 lsct
ASMCMD> lsct DB_Name Status Software_Version Compatible_version Instance_Name Disk_Group +ASM CONNECTED 19.0.0.0.0 19.0.0.0.0 +ASM1 ORS +ASM CONNECTED 19.0.0.0.0 19.0.0.0.0 +ASM1 DATA _OCR CONNECTED - - rac1 ORS racdb CONNECTED 19.0.0.0.0 19.0.0.0.0 racdb1 DATA
-
磁盘组信息 lsdsk
ASMCMD> lsdsk Path AFD:DATA1 AFD:DATA2 AFD:FRA1 AFD:ORS1 AFD:ORS2 AFD:ORS3
-
其他
ASMCMD> cp 在磁盘组之间,磁盘组与操作系统之间拷贝文件。不能在两个远程实例间拷贝。OCR和OCR备份类型的文件不能用cp,要用spbackup,spcopy,spmove ASMCMD> du 显示已经使用的磁盘空间在指定的目录(包括子目录) ASMCMD> find 查找,注意要区分大小写 ASMCMD> mkalias 创建一个系统产生的文件的别名。别名和对应的文件必须在同一磁盘组且每个ASM文件只能有一个别名 ASMCMD> mkdir 创建ASM目录 ASMCMD> rm 删除指定的文件或目录,如果是别名,会删除别名和别名对应的文件 ASMCMD> rmalias 删除指定的别名
实例管理命令
ASMCMD> dsget 返回discovery diskstring
ASMCMD> dsset 设置discovery diskstring
ASMCMD> lsct 显示当前oracle ASM的客户端,一般指数据库实例和ASM实例,数据来源于V$ASM_CLIENT视图
ASMCMD> lsop 显示当前磁盘组或ASM实例的操作,数据来源于V$ASM_OPERATION视图
ASMCMD> lspwusr 显示ASM密码文件中的用户
ASMCMD> orapwusr 增加,删除,修改ASM密码文件用户
ASMCMD> shutdown 关闭ASM实例
ASMCMD> startup 启动ASM实例
ASMCMD> spbackup 备份ASM SPFILE,不影响GPnP profile;备份文件不能识别成SPFILE,不能用spcopy拷贝。为了识别备份文件为SPFILE必须用cp命令
ASMCMD> spcopy 拷贝ASM SPFILE,在同一个磁盘组不能拷贝多份。为了更新GPnP profile,则用-u选项或用spset命令
ASMCMD> spget 返回ASM SPFILE的位置从GPnP profile
ASMCMD> spmove 移动ASM SPFILE,自动更新GPnP profile.当SPFILE被ASM实例打开时不能被移动
ASMCMD> spset 设置ASM SPFILE的位置
磁盘组管理命令
ASMCMD> chdg 修改磁盘组(增加磁盘,删除磁盘,调整磁盘大小,重新平衡磁盘组,基于XML配置文件的)
ASMCMD> chkdg 检查或修复磁盘组
ASMCMD> dropdg 删除磁盘组
ASMCMD> iostat 显示磁盘IO统计,信息来源于V$ASM_DISK_IOSTAT视图
ASMCMD> lsattr 显示磁盘组属性,信息来源于V$ASM_ATTRIBUTE视图
ASMCMD> lsdg 显示已挂载的磁盘组和他们的信息,与ls -ls输出结果一样,信息来源于V$ASM_DISKGROUP_STAT视图,如果指定了--discovery,则查询V$ASM_DISKGROUP
ASMCMD> lsdsk 显示ASM磁盘,信息来源于V$ASM_DISK_STAT视图;连接模式查询V$ASM_DISK_STAT and V$ASM_DISK返回信息;非连接模式通过扫描磁盘头来返回信息
ASMCMD> lsod 显示已打开的设备
ASMCMD> md_backup 创建已挂载的磁盘组元数据备份
ASMCMD> md_restore恢复磁盘组元数据备份
ASMCMD> mkdg 创建磁盘组,基于XML配置文件创建。注意:mkdg创建的磁盘组只挂载在本地节点
ASMCMD> mount 挂载磁盘组
ASMCMD> offline 使磁盘或失效磁盘组离线
ASMCMD> online 使磁盘或失效磁盘组上线
ASMCMD> rebal 重新平衡磁盘组
ASMCMD> remap 重定位数据在磁盘上的物理块的范围
ASMCMD> setattr 设置磁盘组属性
ASMCMD> umount 卸载磁盘组
文件访问管理命令
ASMCMD> chgrp 修改文件或文件列表的用户组
ASMCMD> chmod 修改文件或文件列表的权限
ASMCMD> chown 修改文件或文件列表的拥有者
ASMCMD> groups 显示用户所属用户组
ASMCMD> grpmod 增加或删除操作系统用户到/从已存在的用户组
ASMCMD> lsgrp 显示用户组
ASMCMD> lsusr 显示磁盘组中的用户
ASMCMD> mkgrp 创建一个用户组
ASMCMD> mkusr 添加操作系统用户到磁盘组
ASMCMD> passwd 修改用户的密码
ASMCMD> rmgrp 删除一个用户组
ASMCMD> rmusr 删除一个用户
ASMCMD> lspwusr
Username sysdba sysoper sysasm
SYS TRUE TRUE TRUE
CRSUSER__ASM_001 TRUE FALSE TRUE
ASMSNMP TRUE FALSE FALSE