Professional Documents
Culture Documents
ASMCMD Querys
ASMCMD Querys
/dev/oracleasm/disks/DISK2 /dev/oracleasm/disks/DISK3
select GROUP_NUMBER ,
FILE_NUMBER ,
BYTES/1024/1024/1024 GB ,
TYPE ,
STRIPED ,
MODIFICATION_DATE
from v$asm_file
where TYPE != 'ARCHIVELOG'
/
exit
EOF
echo
exit
# eof chk_asm_file
----- script finish before this line ---------Output:
GR_NUM FILE_NUM GB TYPE STRIPE MODIFICAT
------ -------- -------- --------------- ------ --------1 256 .00 PARAMETERFILE COARSE 22-JAN-07
1 643 .02 CONTROLFILE FINE 22-JAN-07
1 644 .02 CONTROLFILE FINE 22-JAN-07
3 256 .02 CONTROLFILE FINE 08-MAY-06
3 257 3.32 DATAFILE COARSE 21-JAN-07
3 258 29.30 DATAFILE COARSE 22-JAN-07
3 259 6.40 DATAFILE COARSE 21-JAN-07
3 260 29.30 DATAFILE COARSE 22-JAN-07
3 261 6.73 DATAFILE COARSE 22-JAN-07
3 262 32.00 TEMPFILE COARSE 11-JAN-07
3 263 20.00 DATAFILE COARSE 22-JAN-07
3 264 12.95 DATAFILE COARSE 21-JAN-07
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
40 rows selected.
================================================================
5. chk_asm_file2 : same as chk_asm_file but provide more information
----- script start below this line ----------#!/bin/csh
# chk_asm_file2
# displays one row for every disk group discovered by the ASM instance
# source ~/.cshrc
10asm
clear
echo
set asm_sid=`ps -ef |grep pmon|grep +ASM|awk '{print$8}'| cut -d"_" -f3`
setenv ORACLE_SID $asm_sid
sqlplus -s '/ as sysdba' << EOF
set pages 100 lines 130 echo on head on flush on veri on feed on
col
col
col
col
select GROUP_NUMBER ,
FILE_NUMBER ,
COMPOUND_INDEX ,
INCARNATION ,
BLOCK_SIZE ,
BLOCKS ,
BYTES/1024/1024/1024 GB ,
TYPE ,
STRIPED ,
CREATION_DATE ,
MODIFICATION_DATE
from v$asm_file
where TYPE != 'ARCHIVELOG'
/
exit
EOF
echo
exit
# eof chk_asm_file2
----- script finish before this line ---------Output:
GR_NUM FILE_NUM COMPOUND_INDEX INCARNATION BLOCK_SIZE BLOCKS GB TYPE STRIPE CREATION_
MODIFICAT
------ -------- -------------- ----------- ---------- ---------- -------- -------------------- --------- --------1 256 16777472 589938807 512 13 .00 PARAMETERFILE COARSE 08-MAY-06 22-JAN-07
1 643 16777859 612467025 16384 1517 .02 CONTROLFILE FINE 21-JAN-07 22-JAN-07
1 644 16777860 612467037 16384 1517 .02 CONTROLFILE FINE 21-JAN-07 22-JAN-07
3 256 50331904 581368661 16384 1515 .02 CONTROLFILE FINE 02-FEB-06 08-MAY-06
3 257 50331905 602197139 8192 435201 3.32 DATAFILE COARSE 26-SEP-06 21-JAN-07
3 258 50331906 592234419 8192 3840001 29.30 DATAFILE COARSE 04-JUN-06 22-JAN-07
3 259 50331907 581368675 8192 838401 6.40 DATAFILE COARSE 02-FEB-06 21-JAN-07
3 260 50331908 581368683 8192 3840001 29.30 DATAFILE COARSE 02-FEB-06 22-JAN-07
3 261 50331909 581368685 8192 882769 6.73 DATAFILE COARSE 02-FEB-06 22-JAN-07
3 262 50331910 581368687 8192 4194177 32.00 TEMPFILE COARSE 02-FEB-06 11-JAN-07
3 263 50331911 581368691 8192 2621441 20.00 DATAFILE COARSE 02-FEB-06 22-JAN-07
3 264 50331912 581368733 8192 1697793 12.95 DATAFILE COARSE 02-FEB-06 21-JAN-07
3 265 50331913 581368733 8192 3840001 29.30 DATAFILE COARSE 02-FEB-06 22-JAN-07
3 266 50331914 592234263 8192 3840001 29.30 DATAFILE COARSE 04-JUN-06 22-JAN-07
3 267 50331915 590552237 8192 102401 .78 DATAFILE COARSE 16-MAY-06 21-JAN-07
3 268 50331916 581864701 512 43137 .02 CHANGETRACKING COARSE 08-FEB-06 22-JAN-07
3 269 50331917 589938393 16384 1517 .02 CONTROLFILE FINE 08-MAY-06 11-JAN-07
3 270 50331918 589938393 16384 1517 .02 CONTROLFILE FINE 08-MAY-06 11-JAN-07
3 271 50331919 589938393 16384 1517 .02 CONTROLFILE FINE 08-MAY-06 11-JAN-07
3 272 50331920 590541187 16384 6401 .10 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 273 50331921 590541193 16384 640001 9.77 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 274 50331922 590541287 16384 640001 9.77 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 275 50331923 590541383 16384 640001 9.77 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 276 50331924 590541477 16384 705537 10.77 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 277 50331925 590541577 16384 131073 2.00 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 278 50331926 590541591 16384 65537 1.00 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 279 50331927 590541663 8192 3538945 27.00 DATAFILE COARSE 15-MAY-06 22-JAN-07
3 280 50331928 590541677 8192 3407873 26.00 DATAFILE COARSE 15-MAY-06 22-JAN-07
3 281 50331929 590541691 8192 3407873 26.00 DATAFILE COARSE 15-MAY-06 22-JAN-07
3 282 50331930 590541707 8192 1703937 13.00 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 283 50331931 590541723 8192 1835009 14.00 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 284 50331932 590541737 8192 1966081 15.00 DATAFILE COARSE 15-MAY-06 21-JAN-07
3 285 50331933 590541871 512 4096001 1.95 ONLINELOG FINE 15-MAY-06 21-JAN-07
3 286 50331934 590541895 512 4096001 1.95 ONLINELOG FINE 15-MAY-06 22-JAN-07
3 287 50331935 590541921 512 4096001 1.95 ONLINELOG FINE 15-MAY-06 21-JAN-07
3 288 50331936 590541943 512 4096001 1.95 ONLINELOG FINE 15-MAY-06 22-JAN-07
3 289 50331937 590541969 512 4096001 1.95 ONLINELOG FINE 15-MAY-06 21-JAN-07
3 290 50331938 590541989 512 4096001 1.95 ONLINELOG FINE 15-MAY-06 22-JAN-07
3 291 50331939 590542011 512 4096001 1.95 ONLINELOG FINE 15-MAY-06 22-JAN-07
3 292 50331940 590542031 512 4096001 1.95 ONLINELOG FINE 15-MAY-06 22-JAN-07
40 rows selected.
================================================================
6. chk_asm_file3: List files and total used space
clear
echo
set asm_sid=`ps -ef |grep pmon|grep +ASM|awk '{print$8}'| cut -d"_" -f3`
setenv ORACLE_SID $asm_sid
sqlplus -s '/ as sysdba' << EOF
set pages 50000 lines 130 echo on head on flush on veri on feed on
Output:
DISK_GROUP FILE_TYPE MB
--------------- ------------------------------ -----------CRMARCHDG ARCHIVELOG 1,570
CRMARCHDG ARCHIVELOG 1,998
CRMARCHDG ARCHIVELOG 1,996
CRMARCHDG ARCHIVELOG 1,620
CRMARCHDG ARCHIVELOG 8
CRMDATADG CONTROLFILE 24
CRMDATADG DATAFILE 3,400
CRMDATADG DATAFILE 30,000
CRMDATADG DATAFILE 15,360
CRMDATADG DATAFILE 14,336
CRMDATADG DATAFILE 13,312
CRMDATADG DATAFILE 26,624
CRMDATADG DATAFILE 26,624
CRMDATADG DATAFILE 27,648
CRMDATADG DATAFILE 1,024
CRMDATADG DATAFILE 2,048
CRMDATADG DATAFILE 6,550
CRMDATADG DATAFILE 30,000
CRMDATADG DATAFILE 6,919
CRMDATADG DATAFILE 20,480
CRMDATADG DATAFILE 13,264
CRMDATADG DATAFILE 30,000
CRMDATADG DATAFILE 30,000
CRMDATADG DATAFILE 800
CRMDATADG DATAFILE 100
CRMDATADG DATAFILE 10,000
CRMDATADG DATAFILE 10,000
CRMDATADG DATAFILE 10,000
CRMDATADG DATAFILE 11,024
CRMDATADG ONLINELOG 2,000
CRMDATADG ONLINELOG 2,000
CRMDATADG ONLINELOG 2,000
CRMDATADG ONLINELOG 2,000
CRMDATADG ONLINELOG 2,000
CRMDATADG ONLINELOG 2,000
CRMDATADG ONLINELOG 2,000
CRMDATADG ONLINELOG 2,000
CRMDATADG TEMPFILE 32,767
73 rows selected.
================================================================
7. chk_asm_grp_stat: Display configuration and statistics of ASM Disk Groups
select GROUP_NUMBER ,
NAME ,
SECTOR_SIZE SEC_SZ ,
BLOCK_SIZE BLK_SZ ,
ALLOCATION_UNIT_SIZE /1024/1024 STR_MB,
STATE ,
TYPE ,
TOTAL_MB /1024 TOT_GB,
USABLE_FILE_MB /1024 USABLE_GB ,
OFFLINE_DISKS OFF_DSK ,
UNBALANCED UNBLC ,
DATABASE_COMPATIBILITY DB_COMPAT
from v$asm_diskgroup_stat
/
exit
EOF
echo
exit
# eof chk_asm_grp_stat
----- script finish before this line ---------Output:
GRP NAME SEC_SZ BLK_SZ STR_MB STATE TYPE TOT_GB USABLE_GB OFF_DSK UNBLC DB_COMPAT
--- ---------- ------ ------ ------ ------- ------- ------ --------- ------- -------------1 CRMARCHDG 512 4096 1 MOUNTED EXTERN 231.8 189.4 0 N 10.1.0.0.0
3 CRMDATADG 512 4096 1 MOUNTED EXTERN 927.2 547.7 0 N 10.1.0.0.0
2 rows selected.
================================================================
4096 1048576 MOUNTED 51200 39025 76% Use -d key to display usage by disks Use -o key to
display asm operations in progress (disk rebalancing) Use -f to list files and
directories of the disk group
bash$ dfdg -d GROUP_NUMBER NAME PATH STATE OS_MB TOTAL_MB FREE_MB FREE_PCT ----------------------------------------- --------------------------------------------------------- ---------- ---------- ---------- -------- 1 DATA_0000 /dev/rdisk/disk48 NORMAL
824536 824536 22240 3% 1 DATA_0001 /dev/rdisk/disk49 NORMAL 824536 824536 22208 3% 1
DATA_0002 /dev/rdisk/disk50 NORMAL 824536 824536 22184 3% 1 DATA_0003 /dev/rdisk/disk51
NORMAL 824536 824536 22176 3% 1 DATA_0004 /dev/rdisk/disk52 NORMAL 824536 824536 22184 3%
2 FLASH_0000 /dev/rdisk/disk115 NORMAL 1923918 1923912 154176 8% 2 FLASH_0001
/dev/rdisk/disk90 NORMAL 1923918 1923912 154136 8% 2 FLASH_0002 /dev/rdisk/disk84 NORMAL
1923918 1923912 154104 8% 3 REDO_0000 /dev/rdisk/disk61 NORMAL 30720 30720 3619 12% 9
rows selected.
#!/usr/local/bin/bash
#
#
#
#
#
#
#
#
#
#
#
#
#
-----------------------------------------------------------------------------FUNCTION
Displays ASM diskgroup information, space usage. Displays usage by DISKS.
Displays ongoing operations and list of files on diskgroup.
NOTES
Developed for 10g Oracle Version. The entry must be in the /etc/oratab
for ASM instance
CREATED
Aychin Gasimov 03/2011 aychin.gasimov@gmail.com
MODIFIED
Xavier Picamal 08/2012
Added -r key
------------------------------------------------------------------------------
-o)
EOF
;;
-f)
if [ -e $2 ]; then
echo "Please specify diskgroup name after -f key"
else
sqlplus -S '/ as sysdba' << EOF
alter session set nls_date_format='dd.mm.yyyy hh24:mi:ss';
set linesize 200
set pagesize 50000
variable pindx number;
exec select group_number into :pindx from v\$asm_diskgroup where
upper(name)=upper('$2');
col reference_index noprint
break on reference_index skip 1 on report
compute sum label "Total size of all files in MBytes on diskgroup $2" of mb on
report
col type format a15
col files format a80
select decode(aa.alias_directory,'Y',sys_connect_by_path(aa.name,'/'),'N',lpad('
',level)||aa.name) files, aa.REFERENCE_INDEX,
b.type, b.blocks, round(b.bytes/1024/1024,0) mb, b.creation_date,
b.modification_date
from v\$asm_alias aa,
(select parent_index from v\$asm_alias where group_number = :pindx and
alias_index=0) a,
(select * from v\$asm_file where group_number = :pindx) b
where aa.file_number=b.file_number(+)
start with aa.PARENT_INDEX=a.parent_index
connect by prior aa.REFERENCE_INDEX=aa.PARENT_INDEX;
EOF
dispinfo;
fi
;;
-r)
sqlplus -S '/ as sysasm' << EOF
alter session set nls_date_format='dd.mm.yyyy hh24:mi:ss';
set linesize 200
set pagesize 5000
select dg.name,dg.allocation_unit_size/1024/1024 "AU(Mb)",min(d.free_mb) Min,
max(d.free_mb) Max, round(avg(d.free_mb),2) as Avg
from gv\$asm_disk d, gv\$asm_diskgroup dg
where d.group_number = dg.group_number
group by dg.name, dg.allocation_unit_size/1024/1024;
EOF
dispinfo;
;;
-h)
dispinfo;
;;
*)
sqlplus -S '/ as sysdba' << EOF
set linesize 200
set pagesize 1000
col free_pct format a8
select
group_number,name,sector_size,block_size,allocation_unit_size,state,total_mb,free_mb,roun
d(free_mb*100/total_mb)||'%' free_pct from v\$asm_diskgroup;
EOF
dispinfo;
esac
#!/usr/local/bin/bash
#
#
#
#
#
#
#
#
#
#
#
#
#
-----------------------------------------------------------------------------FUNCTION
Displays ASM diskgroup information, space usage. Displays usage by DISKS.
Displays ongoing operations and list of files on diskgroup.
NOTES
Developed for 11g Oracle Version. The entry must be in the /etc/oratab
for ASM instance
CREATED
Aychin Gasimov 03/2011 aychin.gasimov@gmail.com
MODIFIED
Xavier Picamal 08/2012
Added -r key
------------------------------------------------------------------------------
report
compute sum label "Total size of all files in MBytes on diskgroup $2" of mb on
Instance ID Disk Group Total (MB) Free (MB) % Free ----------- -------------------------- ------------ ------- 1 CRS 2,205 1,809 82.04 FRA 33,887 24,802 73.19
RACDB_DATA 33,887 30,623 90.37 2 CRS 2,205 1,809 82.04 FRA 33,887 24,802 73.19 RACDB_DATA
33,887 30,623 90.37
PATH NAME HEADER_STATUS OS_MB ------------------ --------------- ---------------------- ORCL:ASMDOCSVOL1 PROVISIONED 98,303 ORCL:CRSVOL1 CRSVOL1 MEMBER 2,205
ORCL:DATAVOL1 DATAVOL1 MEMBER 33,887 ORCL:FRAVOL1 FRAVOL1 MEMBER 33,887
Diskgroup Name: DOCSDG1 Volume Name: DOCSVOL1 Volume Device: /dev/asm/docsvol1-300 State:
ENABLED Size (MB): 32768 Resize Unit (MB): 256 Redundancy: UNPROT
Disk Group Total (MB) Free (MB) % Free --------------- ------------ ------------ ------CRS 2,205 1,809 82.04 DOCSDG1 98,303 12,187 12.40 FRA 33,887 22,795 67.27 RACDB_DATA
33,887 30,584 90.25