Category Archives: performance

Ways of monitoring ASM disk performance

I have the feeling I should call this post ‘part 1’ as I’m writing things as I discover new features and how to use them.

In 11G release 2 ASMCMD has a iostat feature that allows you to list the reads and writes per disk (either as I/O operation or bytes)

iostat [-et][–io] [–suppressheader] [–region] [-G diskgroup] [interval]

-e display error statistics (write/read)

-t display time statistics giving the total I/O time in hundredths of a second (requires TIMED_STATISTICS to be true)

-G diskgroup

interval – repeat the command every X seconds

As with most iostat commands, the first run in an interval is total stats up to now, and subsequent intervals cover the time since previous report.

ASMCMD> iostat -t -G data_upper 5
Group_Name  Dsk_Name                    Reads         Writes        Read_Time     Write_Time
DATA_UPPER  DATA_DM01_CD_00_ED2HCELL12  368823115776  398765133824  15652.064264  115609.999195
DATA_UPPER  DATA_DM01_CD_00_ED2HCELL13  360830513152  399665251328  15293.415546  108496.371997

Group_Name  Dsk_Name                    Reads     Writes    Read_Time  Write_Time

DATA_UPPER  DATA_DM01_CD_00_ED2HCELL12  0.00      0.00      0.00       0.00
DATA_UPPER  DATA_DM01_CD_00_ED2HCELL13  0.00      6553.60   0.00       0.00

This information is extracted from the V$ASM_DISK_IOSTAT dynamic performance view.




Using Oracle on SPARC?

There is a really useful patch if you’ve got db_block_checksum=TRUE (the default) to reduce the CPU utilization of the checksum routine. The patch number is 6814520 – annoyingly the bug report is hidden in metalink, but if you do a ‘simple’ search for the patch, provide the number, you’ll be able to download the patch.

The patch is rolled into, but it’s not documented as part of the patch notes.