SELECT name, free_mb, total_mb, total_mb-free_mb "USED_MB", free_mb/total_mb*100 "%FREE" FROM v$asm_diskgroup;
SELECT name, free_mb, total_mb, total_mb-free_mb "USED_MB" FROM v$asm_diskgroup;
set lines 150 column path format a40 column name format a30 select name,path,mount_status,header_status,mode_status,state,total_mb,free_mb from v$asm_disk order by 2; Run in ASM environment(ASM_HOME) set lines 132 set pages 50 column path format a20 select name,path, group_number group_#, disk_number disk_#, mount_status,header_status, state, total_mb, free_mb from v$asm_disk order by group_number;
alter diskgroup DATA add disk 'ORCL:ASM114P1'; alter diskgroup DATA add disk 'ORCL:ASM113P1','ORCL:ASM115P1','ORCL:ASM116P1' REBALANCE POWER 8; ALTER DISKGROUP PSF92DEV_DATA ADD DISK '/dev/oracleasm/disks/PSF92_DATA08' NAME PSF92D_DATA_0008, '/dev/oracleasm/disks/PSF92_DATA09' NAME PSF92_DATA_0009 REBALANCE POWER 8; alter diskgroup TSPROD_LTR_DATA add disk 'ORCL:TSPROD_LTRDATA07' REBALANCE POWER 8; or SQL> ALTER DISKGROUP PSF92DEV_DATA REBALANCE POWER 8; SQL> select INST_ID, OPERATION, STATE, POWER, SOFAR, EST_WORK, EST_RATE, EST_MINUTES from GV$ASM_OPERATION; > select INST_ID, OPERATION, STATE, POWER, SOFAR, EST_WORK, EST_RATE, EST_MINUTES from GV$ASM_OPERATION where GROUP_NUMBER=1; set lines 150 column path format a30 column DiskGroup format a15 column DiskName format a30 col free_mb for 999,999,999 compute sum of total_mb on DiskGroup compute sum of free_mb on DiskGroup break on DiskGroup skip 1 on report set pages 255 select a.name DiskGroup, b.disk_number Disk#, b.name DiskName, b.total_mb, b.free_mb, b.path, b.header_status from v$asm_disk b, v$asm_diskgroup a where a.group_number (+) =b.group_number and b.header_status != 'FOREIGN' order by b.group_number, b.disk_number, b.name;
SQL> SET LINESIZE 145 SET PAGESIZE 9999 SET VERIFY off COLUMN group_name FORMAT a20 HEAD 'Disk Group|Name' COLUMN sector_size FORMAT 99,999 HEAD 'Sector|Size' COLUMN block_size FORMAT 99,999 HEAD 'Block|Size' COLUMN allocation_unit_size FORMAT 999,999,999 HEAD 'Allocation|Unit Size' COLUMN state FORMAT a11 HEAD 'State' COLUMN type FORMAT a6 HEAD 'Type' COLUMN total_mb FORMAT 999,999,999 HEAD 'Total Size (MB)' COLUMN used_mb FORMAT 999,999,999 HEAD 'Used Size (MB)' COLUMN pct_used FORMAT 999.99 HEAD 'Pct. Used' break on report on disk_group_name skip 1 compute sum label "Grand Total: " of total_mb used_mb on report SELECT name group_name , sector_size sector_size , block_size block_size , allocation_unit_size allocation_unit_size , state state , type type , total_mb total_mb , (total_mb - free_mb) used_mb , ROUND((1- (free_mb / total_mb))*100, 2) pct_used FROM v$asm_diskgroup ORDER BY name / SELECT name group_name , sector_size sector_size , block_size block_size , allocation_unit_size allocation_unit_size , state state , type type , total_mb total_mb FROM v$asm_diskgroup ORDER BY name / ********************************** SET LINESIZE 145 SET PAGESIZE 9999 SET VERIFY off COLUMN disk_group_name FORMAT a20 HEAD 'Disk Group Name' COLUMN file_name FORMAT a30 HEAD 'File Name' COLUMN bytes FORMAT 9,999,999,999,999 HEAD 'Bytes' COLUMN space FORMAT 9,999,999,999,999 HEAD 'Space' COLUMN type FORMAT a18 HEAD 'File Type' COLUMN redundancy FORMAT a12 HEAD 'Redundancy' COLUMN striped FORMAT a8 HEAD 'Striped' COLUMN creation_date FORMAT a20 HEAD 'Creation Date' break on report on disk_group_name skip 1 compute sum label "" of bytes space on disk_group_name compute sum label "Grand Total: " of bytes space on report SELECT g.name disk_group_name , a.name file_name , f.bytes bytes , f.space space , f.type type , TO_CHAR(f.creation_date, 'DD-MON-YYYY HH24:MI:SS') creation_date FROM v$asm_file f JOIN v$asm_alias a USING (group_number, file_number) JOIN v$asm_diskgroup g USING (group_number) WHERE system_created = 'Y' ORDER BY g.name , file_number /
#### useful cmd #######
asmcmd lsdsk -p asmcmd lsdsk --candidate -p -- if you use ASMLib /usr/sbin/oracleasm listdisks /usr/sbin/oracleasm querydisk {DISKNAME | devicename} --check all disk 2. parameters show parameters asm 3. permission of asmdisk --from all nodes ll <value_of_asm_diskstring> 4. from live node2 crsctl query css votedisk ocrcheck crsctl stat res -t sudo /etc/init.d/oracleasm querydisk /dev/sd* |grep OEM|awk -F" " '{print $2, $11}' sudo /etc/init.d/oracleasm querydisk /dev/dm* | grep MOB | awk -F" " '{print $2, $11}' Ensure that the allocated devices can be seen in /dev/mpath cd /dev/mpath ls -l /dev/mpath Ensure that the devices can be seen in /dev/mapper: ls -l /dev/mapper ll /dev/oracleasm/disks ## lun id using Multipath sudo /sbin/multipath -l sudo /etc/init.d/oracleasm configure sudo /etc/init.d/oracleasm scandisks sudo /etc/init.d/oracleasm start sudo /etc/init.d/oracleasm listdisks sudo /etc/init.d/oracleasm status
+ASM 09:19 PM :/opt/app/oracle/product/10.2.0/db_1/bin > kfod status=TRUE asm_diskstring='/dev/oracleasm/disks/*' disk=all -------------------------------------------------------------------------------- Disk Size Header Path ================================================================================ 1: 102400 Mb CANDIDATE /dev/oracleasm/disks/TSOLTP_HTC_DATA01 2: 102400 Mb CANDIDATE /dev/oracleasm/disks/TSOLTP_HTC_DATA02 3: 102400 Mb CANDIDATE /dev/oracleasm/disks/TSOLTP_HTC_DATA03 4: 102400 Mb CANDIDATE /dev/oracleasm/disks/TSOLTP_HTC_DATA04 5: 102400 Mb CANDIDATE /dev/oracleasm/disks/TSOLTP_HTC_FLASH01 6: 102400 Mb CANDIDATE /dev/oracleasm/disks/TSOLTP_HTC_FLASH02 7: 102400 Mb CANDIDATE /dev/oracleasm/disks/TSOLTP_HTC_FLASH03 8: 102400 Mb CANDIDATE /dev/oracleasm/disks/TSOLTP_HTC_FLASH04 -------------------------------------------------------------------------------- ORACLE_SID ORACLE_HOME ================================================================================ +ASM /opt/app/oracle/product/10.2.0/db_1
############ DROP DISK from DISKGROUP in CMD mode ############# --add new disk MOB10G_DATA_VSP_DISK01 to disk group PRIME_DATA: ALTER DISKGROUP PRIME_FRA ADD DISK 'ORCL:MOB10G_DATA_VSP_DISK01' SIZE 5115 M REBALANCE POWER 8 -- the above cmd will rebalce 1/2 of data from current disk MOB10G_DATA_DISK01 to new disk --Now drop the old disk (MOB10G_DATA_DISK01) using below command: ALTER DISKGROUP PRIME_DATA DROP DISK MOB10G_DATA_DISK01 REBALANCE POWER 8 --after this cmd all data will be moved from old disk (MOB10G_DATA_DISK01) to new disk (MOB10G_DATA_VSP_DISK01) -- you can also do it using Grid Control GUI. ALTER DISKGROUP PRIME_FRA ADD DISK 'ORCL:MOB10G_FRA_VSP_DISK01' SIZE 5115 M REBALANCE POWER 8 ALTER DISKGROUP PRIME_FRA DROP DISK MOB10G_FRA_DISK01 REBALANCE POWER 8
ALTER DISKGROUP OCR_DG2 DROP DISK OCR_VSP_DISK2; ALTER DISKGROUP OCR_DG1 DROP DISK OCR_VSP_DISK1; alter diskgroup VOTING_DG drop disk 'VOTE_VSP_DISK1','VOTE_VSP_DISK2','VOTE_VSP_DISK3'; --or you can use like below (optional - if not mention it will take the refault rebalance power ) alter diskgroup VOTING_DG drop disk 'VOTE_VSP_DISK1','VOTE_VSP_DISK2','VOTE_VSP_DISK3' REBALANCE POWER 5; -- check lun id: >sudo /etc/init.d/oracleasm querydisk /dev/dm*
Device "/dev/dm-0" is not marked as an ASM disk Device "/dev/dm-1" is not marked as an ASM disk Device "/dev/dm-10" is marked an ASM disk with the label "MOB_HTC_FLASH01" Device "/dev/dm-11" is not marked as an ASM disk Device "/dev/dm-12" is marked an ASM disk with the label "PROD_LTRDATA01" Device "/dev/dm-13" is marked an ASM disk with the label "PROD_LTRDATA02" Device "/dev/dm-14" is marked an ASM disk with the label "PROD_LTRDATA03" Device "/dev/dm-15" is marked an ASM disk with the label "PROD_LTRDATA04"
$ ls -ltr /dev/mpath/ | grep dm-12 lrwxrwxrwx 1 root root 8 Nov 3 2012 360060e8016013300000101330000111b -> ../dm-12 [oracle@pdorclts001 ~]$ sudo /sbin/multipath -l | grep 360060e8016013300000101330000111b -A 4 360060e8016013300000101330000111b [size=300 GB][features="1 queue_if_no_path"][hwhandler="0"] \_ round-robin 0 [active] \_ 4:0:0:39 sdah 66:16 [active] \_ 3:0:0:39 sdk 8:160 [active]
#################### for 11g or 12c lun id on physical: ls -la /dev/disk/by-id/ ############ Standalone /dev/oracleasm/disks disk naming ########## ALTER DISKGROUP PSF92DEV_DATA ADD DISK '/dev/oracleasm/disks/PSF92_DATA08' NAME PSF92DEV_DATA_0008, '/dev/oracleasm/disks/PSF92_DATA09' NAME PSF92DEV_DATA_0009 REBALANCE POWER 8; ALTER DISKGROUP PSF92DEV_DATA ADD DISK '/dev/oracleasm/disks/PSF92_DATA06' NAME PSF92DEV_DATA_0006, '/dev/oracleasm/disks/PSF92_DATA07' NAME PSF92DEV_DATA_0007; select INST_ID, OPERATION, STATE, POWER, SOFAR, EST_WORK, EST_RATE, EST_MINUTES from GV$ASM_OPERATION; ########### create disk group with name disks ######### CREATE DISKGROUP dgroup1 EXTERNAL REDUNDANCY FAILGROUP controller1 DISK '/devices/diska1' NAME diska1, '/devices/diska2' NAME diska2, '/devices/diska3' NAME diska3, '/devices/diska4' NAME diska4 ATTRIBUTE 'au_size'='1M', 'compatible.asm' = '12.1', 'compatible.rdbms' = '11.2'; ########## rename asm disk lables ############# sudo /etc/init.d/oracleasm force-renamedisk FLMRMAN_DATA_VSP_DISK1 FLMRMAN_FRM_VSP_DISK2 sudo /etc/init.d/oracleasm force-renamedisk HYPDEV_FLASH FLMRMAN_DATA_VSP_DISK1
############# 12c 12c SQL> alter diskgroup data2 dismount; Diskgroup altered. SQL> alter diskgroup data2 mount restricted; Diskgroup altered. Then use the following SQL to rename the disks. SQL> alter diskgroup data2 rename disk 'DATA2_0001' to 'DATA2_VMAX_0001', 'DATA2_0000' to 'DATA2_VMAX_0000'; Diskgroup altered.
################ ASM DB growth from OEM 12c/13c ############ with pivot_data AS ( select key_value2, rollup_timestamp, average from mgmt$metric_daily where target_name = '+ASM_pdabcdb-scan' and key_value = 'ABC_DATA' and column_label = 'Total Bytes' ) select * from pivot_data pivot ( sum(average/1024/1024/1024) for key_value2 in ( 'ABC' ) ) order by rollup_timestamp desc; select target_name, column_label, key_value, key_value2, average, rollup_timestamp from mgmt$metric_daily where target_name = '+ASM_pdabcdb-scan' and key_value = 'ABC_DATA' and column_label = 'Total Bytes' and trunc(rollup_timestamp) = trunc(sysdate)-1;
No comments:
Post a Comment