chdg, chkdg, dropdg, iostat, lsattr, lsdg, lsdsk, lsod, md_backup, md_restore, mkdg, mount, offline, online, rebal, remap, setattr, umount
chdg 通过读取xml格式的信息去修改磁盘组的属性,包括增加、删除、重新平衡磁盘,这个需要点xml的知识
Changes a disk group (adds disks, drops disks, or rebalances) based on a XML configuration file. <chdg> update disk clause (add/delete disks/failure groups) name disk group to change power power to perform rebalance <add> items to add are placed here </add> <drop> items to drop are placed here </drop> <fg> failure group name failure group name </fg> <dsk> name disk name path disk path size size of the disk to add </dsk> </chdg> <chdg name="data" power="3"> <drop> <fg name="fg1"></fg> <dsk name="data_0001" /> </drop> <add> <fg name="fg2"> <dsk string="/dev/disk5"/> <fg> </add> </chdg> ASMCMD> chdg '<chdg name="ohsdba"><add><dsk string="/dev/oracleasm/disks/ASMDISK10"/></add></chdg>' Diskgroup altered. ASMCMD>
chkdg 检查磁盘组,包括检查和修复
Checks or repairs the metadata of a disk group. chkdg [--repair] diskgroup The options for the chkdg command are described below. --repair - Repairs the disk group. diskgroup - Name of disk group to check or repair. chkdg checks the metadata of a disk group for errors and optionally repairs the errors. ASMCMD> chkdg ohsdba Diskgroup altered.
dropdg 删除一个磁盘组
Drops a disk group. dropdg [-r [-f]] diskgroup The options for the dropdg command are described below. -f - Force the operation. Only applicable if the disk group cannot be mounted. -r - Recursive, include contents. diskgroup - Name of disk group to drop. ASMCMD> dropdg -r ohs 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 12235 10395 0 10395 0 N DATA_PGOLD/ MOUNTED EXTERN N 512 4096 1048576 4894 2734 0 2734 0 N OHSDBA/ MOUNTED NORMAL N 512 4096 1048576 7341 6415 2447 1984 0 Y SYSTEMDG/ ASMCMD>
iostat 查看ASM disk的IO,热区域、冷区域等信息
Displays I/O statistics for Oracle ASM disks in mounted disk groups. iostat [-et][--io] [--suppressheader] [--region] [-G diskgroup] [interval] iostat lists disk group statistics using the V$ASM_DISK_IOSTAT view. The options for the iostat command are described below. -e - Displays error statistics (Read_Err, Write_Err). -G diskgroup - Displays statistics for the disk group name. --suppressheader - Suppresses column headings. --io - Displays information in number of I/Os, instead of bytes. -t - Displays time statistics (Read_Time, Write_Time). --region - Displays information for cold and hot disk regions (Cold_Reads, Cold_Writes, Hot_Reads, Hot_Writes). interval - Refreshes the statistics display based on the interval value (seconds). The attribute descriptions for iostat command output are described below. To view the complete set of statistics for a disk group, use the V$ASM_DISK_IOSTAT view. Group_Name Name of the disk group. Dsk_Name Name of the disk. Reads Total number of bytes read from the disk. If the --io option is entered, then the value is displayed as number of I/Os. Writes Total number of bytes written from the disk. If the --io option is entered, then the value is displayed as number of I/Os. Cold_Reads Total number of bytes read from the cold disk region. If the --io option is entered, then the value is displayed as number of I/Os. Cold_Writes Total number of bytes written from the cold disk region. If the --io option is entered, then the value is displayed as number of I/Os. Hot_Reads Total number of bytes read from the hot disk region. If the --io option is entered, then the value is displayed as number of I/Os. Hot_Writes Total number of bytes written from the hot disk region. If the --io option is entered, then the value is displayed as number of I/Os. Read_Err Total number of failed I/O read requests for the disk. Write_Err Total number of failed I/O write requests for the disk. Read_Time Total I/O time (in hundredths of a second) for read requests for the disk if the TIMED_STATISTICS initialization parameter is set to TRUE (0 if set to FALSE). Write_Time Total I/O time (in hundredths of a second) for write requests for the disk if the TIMED_STATISTICS initialization parameter is set to TRUE (0 if set to FALSE). ASMCMD> iostat Group_Name Dsk_Name Reads Writes DATA_PGOLD DATA_PGOLD_0000 49641984 13974528 DATA_PGOLD DATA_PGOLD_0001 128687616 11868160 DATA_PGOLD DATA_PGOLD_0002 144556032 37805056 DATA_PGOLD DATA_PGOLD_0003 74684928 9715712 DATA_PGOLD DATA_PGOLD_0004 52492800 8384512 OHSDBA OHSDBA_0000 7116800 8509440 SYSTEMDG SYSTEMDG_0000 2994176 3235840 SYSTEMDG SYSTEMDG_0001 2162688 4812800 SYSTEMDG SYSTEMDG_0002 1306624 4718592 ASMCMD> iostat --region -G ohsdba Group_Name Dsk_Name Reads Writes Cold_Reads Cold_Writes Hot_Reads Hot_Writes OHSDBA OHSDBA_0000 2316288 6199296 34816 26624 0 0 OHSDBA OHSDBA_0001 812544 77824 38400 0 0 0 ASMCMD>
lsattr 查看磁盘组的属性
Lists the attributes of a disk group. ASMCMD> lsattr -l -G ohsdba Name Value access_control.enabled FALSE access_control.umask 066 au_size 1048576 cell.smart_scan_capable FALSE compatible.advm 11.2.0.0.0 compatible.asm 11.2.0.0.0 compatible.rdbms 11.2.0.0.0 disk_repair_time 3.6h sector_size 512 ASMCMD>
lsdg 列出磁盘组的信息,下面有字段的解释。如果采用normal,high方式的磁盘组,Usable_file_MB可能会出现负值的情况
Lists disk groups and their information. lsdg queries V$ASM_DISKGROUP_STAT by default. If the --discovery flag is specified, the V$ASM_DISKGROUP is queried instead. The output also includes notification of any current rebalance operation for a disk group. If a disk group is specified, then lsdg returns only information about that disk group. lsdg [-g][--suppressheader][--discovery][pattern] The options for the lsdg command are described below. (none) - Displays the disk group attributes --discovery - Selects from V$ASM_DISKGROUP, or from GV$ASM_DISKGROUP if the -g flag is also specified. This option is always enabled if the Oracle ASM instance is version 10.1 or earlier. This flag is disregarded if lsdsk is running in non-connected mode. -g - Selects from GV$ASM_DISKGROUP_STAT, or from GV$ASM_DISKGROUP if the -c flag is also specified. GV$ASM_DISKGOUP.INST_ID is included in the output. The REBALcolumn of the GV$ASM_OPERATION view is also included in the output. --suppressheader - Suppresses column headings. pattern - Returns only information about the specified disk group or disk groups that match the supplied pattern. The attribute descriptions for lsdg command output are described below. To view the complete set of attributes for a disk group, use the V$ASM_DISKGROUP_STAT or V$ASM_DISKGROUP view. The attribute descriptions for lsdg command output are described below. To view the complete set of attributes for a disk group, use the V$ASM_DISKGROUP_STAT or V$ASM_DISKGROUP view. State - State of the disk group. Values include BROKEN, CONNECTED, DISMOUNTED, MOUNTED, QUIESCING, and UNKNOWN. Type - Disk group redundancy (NORMAL, HIGH, EXTERNAL). Rebal - Y if a rebalance operation is in progress. Sector - Sector size in bytes. Block - Block size in bytes. AU - Allocation unit size in bytes. Total_MB - Size of the disk group in megabytes. Free_MB - Free space in the disk group in megabytes, without regard to redundancy. From the V$ASM_DISKGROUP view. Req_mir_free_MB - Amount of space that must be available in the disk group to restore full redundancy after the most severe failure that can be tolerated by the disk group. This is the REQUIRED_MIRROR_FREE_MB column from the V$ASM_DISKGROUP view. Usable_file_MB - Amount of free space, adjusted for mirroring, that is available for new files. From the V$ASM_DISKGROUP view. Offline_disks - Number of offline disks in the disk group. Offline disks are eventually dropped. Voting_files - Specifies whether the disk group contains voting disks (Y or N). Name - Disk group name. 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 12235 10401 0 10401 0 N DATA_PGOLD/ MOUNTED EXTERN N 512 4096 1048576 2447 295 0 295 0 N OHSDBA/ MOUNTED NORMAL N 512 4096 1048576 7341 6415 2447 1984 0 Y SYSTEMDG/ ASMCMD>
lsdsk 列出ASM disk,这个命令很管用,比如查看哪些磁盘已经使用了,哪些磁盘还没有使用。
List Oracle ASM disks. lsdsk [-kptgMI][-G diskgroup ] [--suppressheader] [ --member|--candidate] [--discovery][--statistics][pattern] The options for the lsdsk command are described below. (none) - Displays the PATH column of the V$ASM_DISK view. -k - Displays the TOTAL_MB, FREE_MB, OS_MB,NAME, FAILGROUP, LIBRARY, LABEL, UDID, PRODUCT, REDUNDANCY, and PATH columns of the V$ASM_DISK view. --statistics - Displays the READS, WRITES, READ_ERRS, WRITE_ERRS, READ_TIME, WRITE_TIME, BYTES_READ, BYTES_WRITTEN, and the PATH columns of the V$ASM_DISK view. -p - Displays the GROUP_NUMBER, DISK_NUMBER, INCARNATION, MOUNT_STATUS, HEADER_STATUS, MODE_STATUS, STATE, and the PATH columns of the V$ASM_DISK view. -t - Displays the CREATE_DATE, MOUNT_DATE, REPAIR_TIMER, and the PATH columns of the V$ASM_DISK view. -g - Selects from GV$ASM_DISK_STAT, or from GV$ASM_DISK if the --discovery flag is also specified. GV$ASM_DISK.INST_ID is included in the output. --discovery - Selects from V$ASM_DISK, or from GV$ASM_DISK if the -g flag is also specified. This option is always enabled if the Oracle ASM instance is version 10.1 or earlier. This flag is disregarded if lsdsk is running in non-connected mode. -I - Scans disk headers for information rather than extracting the information from an Oracle ASM instance. This option forces non-connected mode. -G - Restricts results to only those disks that belong to the group specified by diskgroup. -M - Displays the disks that are visible to some but not all active instances. These are disks that, if included in a disk group, will cause the mount of that disk group to fail on the instances where the disks are not visible. --suppressheader - Suppresses column headings. --candidate - Restricts results to only disks having membership status equal to CANDIDATE. --member - Restricts results to only disks having membership status equal to MEMBER. pattern - Returns only information about the specified disks that match the supplied pattern. The lsdsk command can run in connected or non-connected mode. The connected mode is always attempted first. The -I option forces non-connected mode. In connected mode, lsdsk uses the V$ASM_DISK_STAT and V$ASM_DISK dynamic views to retrieve disk information. The V$ASM_DISK_STAT view is used by default. In non-connected mode, lsdsk scans disk headers to retrieve disk information. Some information is not available in this mode and some options are not valid combinations with this mode. Note: The non-connected mode is not supported on Microsoft Windows. pattern restricts the output to only disks that match the pattern specified. Wild-card characters and slashes (/ or \) can be part of the pattern. pattern should be specified as the last option for the command. See "Wildcard Characters". ASMCMD> lsdsk --candidate -p Group_Num Disk_Num Incarn Mount_Stat Header_Stat Mode_Stat State Path 0 4 3915949075 CLOSED PROVISIONED ONLINE NORMAL /dev/oracleasm/disks/ASMDISK10 0 3 3915949074 CLOSED PROVISIONED ONLINE NORMAL /dev/oracleasm/disks/ASMDISK11 0 2 3915949073 CLOSED PROVISIONED ONLINE NORMAL /dev/oracleasm/disks/ASMDISK12 0 1 3915949072 CLOSED PROVISIONED ONLINE NORMAL /dev/oracleasm/disks/ASMDISK13 0 0 3915949071 CLOSED PROVISIONED ONLINE NORMAL /dev/oracleasm/disks/ASMDISK14 ASMCMD>
lsod 列出正在使用的ASM disk,包括进程名字,进程号,磁盘的路径等信息
Lists the open ASM disks. lsod [-G diskgroup] [--suppressheader] [--process process] [pattern] The options for the lsod command are described below. -G diskgroup - Specifies the disk group that contains the open disks. --suppressheader - Suppresses column header information from the output. --process - Specifies a pattern to filter the list of processes. pattern - Specifies a pattern to filter the list of disks. The rebalance operation (RBAL) opens a disk both globally and locally so the same disk may be listed twice in the output for the RBAL process. ASMCMD> lsod Instance Process OSPID Path 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK1 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK2 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK3 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK4 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK5 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK6 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK7 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK8 1 oracle@ohs1 (DBW0) 6075 /dev/oracleasm/disks/ASMDISK9 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK1 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK2 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK3 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK4 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK5 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK6 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK7 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK8 1 oracle@ohs1 (GMON) 6085 /dev/oracleasm/disks/ASMDISK9 1 oracle@ohs1 (LGWR) 6077 /dev/oracleasm/disks/ASMDISK1 1 oracle@ohs1 (LGWR) 6077 /dev/oracleasm/disks/ASMDISK2 1 oracle@ohs1 (LGWR) 6077 /dev/oracleasm/disks/ASMDISK3 1 oracle@ohs1 (LGWR) 6077 /dev/oracleasm/disks/ASMDISK4 1 oracle@ohs1 (LGWR) 6077 /dev/oracleasm/disks/ASMDISK5 1 oracle@ohs1 (LGWR) 6077 /dev/oracleasm/disks/ASMDISK6 1 oracle@ohs1 (LGWR) 6077 /dev/oracleasm/disks/ASMDISK9 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK1 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK1 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK2 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK2 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK3 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK3 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK4 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK4 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK5 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK6 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK6 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK7 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK8 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK9 1 oracle@ohs1 (RBAL) 6083 /dev/oracleasm/disks/ASMDISK9 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK1 1 oracle@ohs1 (TNS V1-V3) 6140 /dev/oracleasm/disks/ASMDISK1 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK2 1 oracle@ohs1 (TNS V1-V3) 6140 /dev/oracleasm/disks/ASMDISK2 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK3 1 oracle@ohs1 (TNS V1-V3) 6140 /dev/oracleasm/disks/ASMDISK3 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK4 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK5 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK6 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK7 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK8 1 oracle@ohs1 (TNS V1-V3) 6101 /dev/oracleasm/disks/ASMDISK9 1 oracle@ohs1 (TNS V1-V3) 9710 /dev/oracleasm/disks/ASMDISK9 1 oracle@ohs1 (VBG0) 6108 /dev/oracleasm/disks/ASMDISK9 ASMCMD>
mkdg 读取xml配置文件信息去创建磁盘组
Creates a disk group based on an XML configuration file. <dg name="data" redundancy="normal"> <fg name="fg1"> <dsk string="/dev/disk1"/> <dsk string="/dev/disk2"/> </fg> <fg name="fg2"> <dsk string="/dev/disk3"/> <dsk string="/dev/disk4"/> </fg> <a name="compatible.asm" value="11.2" /> <a name="compatible.rdbms" value="11.2" /> <a name="compatible.advm" value="11.2" /> </dg> ASMCMD> mkdg '<dg name="ohsdba" redundancy="external"><dsk string="/dev/oracleasm/disks/ASMDISK9"/></dg>'
asmca去创建磁盘组
[oracle@ohs1 ~]$ asmca -h asmca [-silent] [-sysAsmPassword <SYS user password>] [-asmsnmpPassword <ASM monitor password>] {<command> <options>} Please refer to the manual for details. You can enter one of the following commands: 1. Configure an ASM instance by specifying the following command and parameters: -configureASM [-sysAsmPassword <SYS user password>] [-asmsnmpPassword <ASM monitor password>] [(-param <paramname=paramvalue>)] -diskString <disk discovery path> (-diskGroupName <disk group name> (-disk <disk path> [-diskName <disk name>] | -diskList <comma separated disk list> [-diskSize <disk size in MB>] [-failuregroup <failure group name>] [-force|-noforce] [-quorum|-noquorum]) [-redundancy <HIGH|NORMAL|EXTERNAL>] [-au_size <2^0 ~ 2^6 (1 ~ 64)>] [-compatible.asm <10.1 ~ 11.2>] [-compatible.rdbms <10.1 ~ 11.2>] [-compatible.advm <11.2>]) 2. Upgrade an existing ASM instance by specifying the following command and parameters: -upgradeASM [-asmsnmpPassword <ASM monitor password>] 3. Configure ASM parameters by specifying the following command and parameters: -configureParameter (-param <paramname=paramvalue>) [-sysAsmPassword <SYS user password>] 4. Create Disk Groups by specifying the following command and parameters: -createDiskGroup [-diskString <disk discovery path>] (-diskGroupName <disk group name> (-disk <disk path> [-diskName <disk name>] | -diskList <comma separated disk list> [-diskSize <disk size in MB>] [-failuregroup <failure group name>] [-force|-noforce] [-quorum|-noquorum]) [-redundancy <HIGH|NORMAL|EXTERNAL>] [-au_size <2^0 ~ 2^6 (1 ~ 64)>] [-compatible.asm <10.1 ~ 11.2>] [-compatible.rdbms <10.1 ~ 11.2>] [-compatible.advm <11.2>]) [-sysAsmPassword <SYS user password>] 5. Add disks to Disk Groups by specifying the following command and parameters: -addDisk [-diskString <disk discovery path>] (-diskGroupName <disk group name> (-disk <disk path> [-diskName <disk name>] | -diskList <comma separated disk list> [-diskSize <disk size in MB>] [-failuregroup <failure group name>] [-force|-noforce] [-quorum|-noquorum]) [-sysAsmPassword <SYS user password>] 6. Create volumes by specifying the following command and parameters: -createVolume (-volumeName <ASM volume name> -volumeDiskGroup <ASM disk group name for the volume> -volumeSizeGB <ASM volume size in GB> [-volumeRedundancy <INHERIT|HIGH|NORMAL|EXTERNAL>]) [-sysAsmPassword <SYS user password>] 7. Create ASM Cluster File Systems by specifying the following command and parameters: -createACFS (-acfsVolumeDevice <ASM volume device>) [-sysAsmPassword <SYS user password>] 8. Delete ASM instance(s) by specifying the following command and parameters: -deleteASM [-force] [-dropDiskGroups] [-sysAsmPassword <SYS user password>] [oracle@ohs1 ~]$ asmca -silent -configureASM -sysAsmPassword oracle -asmsnmpPassword oracle -diskString '/dev/oracleasm/disks/ASMDISK*' -diskGroupName DATA_PGOLD -disk '/dev/oracleasm/disks/ASMDISK1' -redundancy EXTERNAL -au_size 4M -compatible.asm 11.2 -compatible.rdbms 11.2 asmca -silent -addDisk -diskGroupName DATA_PGOLD -disk '/dev/oracleasm/disks/ASMDISK2' -sysAsmPassword oracle
mount 挂载磁盘组,也可以使用restrict模式
Mounts a disk group mount [--restrict] { [-a] | [-f] diskgroup[ diskgroup ...] } The options for the mount command are described below. diskgroup - Name of the disk group. -a - Mounts all disk groups. --restrict - Mounts in restricted mode. -f - Forces the mount operation. This operation mounts one or more disk groups. A disk group can be mounted with or without force or restricted options. ASMCMD> mount ohsdba 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 12235 10395 0 10395 0 N DATA_PGOLD/ MOUNTED EXTERN N 512 4096 1048576 2447 289 0 289 0 N OHSDBA/ MOUNTED NORMAL N 512 4096 1048576 7341 6415 2447 1984 0 Y SYSTEMDG/ ASMCMD>
offline 使磁盘组中的disk或failure groups离线,注意disk_repair_time这个参数
Offline disks or failure groups that belong to a disk group. offline -G diskgroup { -F failgroup |-D disk} [-t {minutes | hours}] The options for the offline command are described below. -G diskgroup - Disk group name. -F failgroup - Failure group name. -D disk - Specifies a single disk name. -t - minutes | hours Specifies the time before the specified disk is dropped as nm or nh, where m specifies minutes and h specifies hours. The default unit is hours. When a failure group is specified, this implies all the disks that belong to it should be offlined. The following are examples of the offline command. The first example offlines the failgroup1 failure group of the DATA disk group. The second example offlines the data_0001 disk of the DATA disk group with a time of 1.5 hours before the disk is dropped. ASMCMD [+] > offline -G DATA -F FAILGROUP1 ASMCMD [+] > offline -G DATA -D data_0001 -t 1.5h ASMCMD> lsattr -G ohs -l Name Value access_control.enabled FALSE access_control.umask 066 au_size 1048576 cell.smart_scan_capable FALSE compatible.asm 11.2.0.0.0 compatible.rdbms 11.2.0.0.0 disk_repair_time 3.6h sector_size 512 ASMCMD> offline -G ohs -D OHS_0000 -t 8h Diskgroup altered. ASMCMD>
online 使磁盘组中的disk,failure group在线
Online all disks, a single disk, or a failure group that belongs to a disk group. online { [-a] -G diskgroup | -F failgroup |-D disk} [-w] The options for the online command are described below. -a - Online all offline disks in the disk group. -G diskgroup - Disk group name. -F failgroup - Failure group name. When a failure group is specified, this implies all the disks that belong to it should be onlined. -D disk - Disk name. -w - Wait option. Causes ASMCMD to wait for the disk group to be rebalanced before returning control to the user. The default is not waiting. The following are examples of the online command. The first example onlines all disks in the failgroup1 failure group of the DATA disk group with the wait option enabled. The second example onlines the data_0001 disk in the DATA disk group. ASMCMD [+] > online -G DATA -F failgroup1 -w ASMCMD [+] > online -G DATA -D data_0001 ASMCMD> online -G ohs Diskgroup altered. ASMCMD>
rebal 平衡一个磁盘组,可以适当调整power参数来加快速度。增加磁盘时尽量选择空闲时间
Rebalances a disk group. rebal [--power power] [-w] diskgroup The options for the rebal command are described below. diskgroup - Disk group name. --power power - Power setting (0 to 11). -w - Wait option. Causes ASMCMD to wait for the disk group to be rebalanced before returning control to the user. The default is not waiting. The power level can be set from 0 to 11. A value of 0 disables rebalancing. If the rebalance power is not specified, the value defaults to the setting of the ASM_POWER_LIMIT initialization parameter. You can determine if a rebalance operation is occurring with the ASMCMD lsop command. The following is an example of the rebal command that rebalances the FRA disk group with a power level set to 4. ASMCMD [+] > rebal --power 4 FRA ASMCMD [+] > lsop Group_Name Dsk_Num State Power FRA REBAL RUN 4 ASMCMD> rebal --power 2 ohs Rebal on progress. ASMCMD>
remap 调整数据在磁盘上的物理块的范围
Marks a range of blocks as unusable on the disk and relocates any data allocated in that range. remap diskgroup disk block_range The options for the remap command are described below. diskgroup - Disk group name in which a disk must have data relocated. disk - Name of the disk that must have data relocated. The name must match the NAME column in the V$ASM_DISK view. block_range - Range of physical blocks to relocate in the format start_range_number-end_range_number. The remap command only relocates blocks. It does not correct or repair blocks that contain corrupted contents. The command uses a physical block size based on the SECTOR_SIZE disk group attribute. ASMCMD> remap OHS OHS_0002 2000-2500 ASMCMD>
setattr 设置磁盘组的属性
Sets the attributes for an Oracle ASM disk group. ASMCMD> setattr -G ohsdba disk_repair_time 8h ASMCMD> lsattr -l -G ohsdba %time% Name Value disk_repair_time 8h ASMCMD>
umount 卸载一个磁盘组
Dismounts a disk group. umount { -a | [-f] diskgroup } The options for the umount command are described below. diskgroup - Name of the disk group. -a - Dismounts all mounted disk groups. These disk groups are listed in the output of the V$ASM_DISKGROUP view. -f - Forces the dismount operation. ASMCMD> umount ohsdba ASMCMD>
md_backup 备份磁盘组的metadata
The md_backup command creates a backup file containing metadata for one or more disk groups. Volume and Oracle Automatic Storage Management Cluster File System (Oracle ACFS) file system information is not backed up. md_backup backup_file [-G diskgroup [,diskgroup,...]] The options for the md_backup command are described below. backup_file - Specifies the backup file in which you want to store the metadata. -G diskgroup - Specifies the disk group name of the disk group that must be backed up By default all the mounted disk groups are included in the backup file, which is saved in the current working directory. ASMCMD> md_backup /tmp/dgbak -G data_pgold Disk group metadata to be backed up: DATA_PGOLD Current alias directory path: PGOLD/TEMPFILE Current alias directory path: PGOLD/DATAFILE Current alias directory path: PGOLD/ONLINELOG Current alias directory path: PGOLD Current alias directory path: PGOLD/CONTROLFILE Current alias directory path: PGOLD/PARAMETERFILE ASMCMD> exit [oracle@ohs1 ~]$ ls -l /tmp/dgbak -rw-r--r-- 1 oracle oinstall 15228 May 13 23:37 /tmp/dgbak [oracle@ohs1 ~]$ file /tmp/dgbak /tmp/dgbak: [oracle@ohs1 ~]$
md_restore 还原磁盘组的元数据
This command restores a disk group metadata backup. md_restore backup_file [--silent][--full|--nodg|--newdg -o 'old_diskgroup:new_diskgroup [,...]'][-S sql_script_file] [-G 'diskgroup [,diskgroup...]'] The options for the md_restore command are described below. backup_file - Reads the metadata information from backup_file. --silent - Ignore errors. Normally, if md_restore encounters an error, it will stop. Specifying this flag ignores any errors. --full - Specifies to create a disk group and restore metadata. --nodg - Specifies to restore metadata only. --newdg -o old_diskgroup:new_diskgroup - Specifies to create a disk group with a different name when restoring metadata. The -o option is required with --newdg. -S sql_script_file - Write SQL commands to the specified SQL script file instead of executing the commands. -G diskgroup - Select the disk groups to be restored. If no disk groups are defined, then all disk groups will be restored. The first example restores the disk group DATA from the backup script and creates a copy. The second example takes an existing disk group DATA and restores its metadata. The third example restores disk group DATA completely but the new disk group that is created is called DATA2. The fourth example restores from the backup file after applying the overrides defined in the override.sql script file ASMCMD [+] > md_restore --full -G data --silent /tmp/dgbackup20090714 ASMCMD [+] > md_restore --nodg -G data --silent /tmp/dgbackup20090714 ASMCMD [+] > md_restore --newdg -o 'data:data2' --silent /tmp/dgbackup20090714 ASMCMD [+] > md_restore -S override.sql --silent /tmp/dgbackup20090714
md_backup和md_restore是磁盘组级别的备份和还原,只备份磁盘组的基本信息,如果是磁盘组坏掉的话,可以通过md_restore还原去修复磁盘组,然后再通过RMAN还原数据库,最后再做恢复。如果是其中某一块盘换掉,通过这个是不能修复的,可以先offline这个盘(磁盘组的冗余模式必须是normal或者high才可以),重新换盘,添加盘,做rebalance。一般来说,容易出问题的是ASM Disk Header,可以通过kfed,dd去备份磁盘的头部信息。从10.2.0.5之后,Oracle增加了Asm Disk Header的自动备份功能,备份块的位置在第2个AU的倒数第2个块上(对于默认1M的AU来说,是第510个块),详情参考Kamus的测试http://www.dbform.com/html/2012/1875.html
[oracle@ohs1 ~]$ kfed help=y
as/mlib ASM Library [asmlib='lib'] aun/um AU number to examine or update [AUNUM=number] aus/z Allocation Unit size in bytes [AUSZ=number] blkn/um Block number to examine or update [BLKNUM=number] blks/z Metadata block size in bytes [BLKSZ=number] ch/ksum Update checksum before each write [CHKSUM=YES/NO] cn/t Count of AUs to process [CNT=number] de/v ASM device to examine or update [DEV=string] dm/pall Don't suppress repeated lines when dumping corrupt blocks [DMPALL=YES/NO] o/p KFED operation type [OP=READ/WRITE/MERGE/REPAIR/NEW/FORM/FIND/STRUCT] p/rovnm Name for provisioning purposes [PROVNM=string] s/eek AU number to seek to [SEEK=number] te/xt File name for translated block text [TEXT=string] ty/pe ASM metadata block type number [TYPE=number][oracle@ohs1 ~]$
Reference
http://docs.oracle.com/cd/B14117_01/server.101/b10739/storeman.htm
http://docs.oracle.com/cd/B19306_01/server.102/b14231/storeman.htm#i1021337
http://docs.oracle.com/cd/B19306_01/server.102/b14215/asm_util.htm
http://docs.oracle.com/cd/E11882_01/server.112/e18951/asmcon.htm
http://docs.oracle.com/cd/E11882_01/server.112/e18951/asm_util001.htm
http://docs.oracle.com/database/121/OSTMG/GUID-34A732CD-CC55-4A25-982A-209FDF6134BE.htm
http://docs.oracle.com/database/121/OSTMG/GUID-1E5C4FAD-087F-4598-B959-E66670804C4F.htm
http://docs.oracle.com/database/121/OSTMG/GUID-995198B7-9235-4FCF-988E-A48B3B62B405.htm