BC remote Oracle DBA - Call (800) 766-1884  
Oracle Consulting Oracle Training Development

Remote DBA

Remote DBA Plans  

Remote DBA Service

Remote DBA RAC

   
Remote DBA Oracle Home
Remote DBA Oracle Training
Remote DBA SQL Tuning Consulting
Remote DBA Oracle Tuning Consulting
Remote DBA Data Warehouse Consulting
Remote DBA Oracle Project Management
Remote DBA Oracle Security Assessment
Remote DBA Unix Consulting
Burleson Books
Burleson Articles
Burleson Web Courses
Burleson Qualifications
Oracle Links
Remote DBA Oracle Monitoring
Remote DBA Support Benefits
Remote DBA Plans & Prices
Our Automation Strategy
What We Monitor
Oracle Apps Support
Print Our Brochure
Contact Us (e-mail)
Oracle Job Opportunities
Oracle Consulting Prices





   

 

 

 

Remote DBA services

Remote DBA Support

Remote DBA RAC

Remote DBA Reasons

Remote Oracle Tuning

Remote DBA Links

Oracle DBA Support

Oracle DBA Forum

Oracle Disaster

Oracle Training

Oracle Tuning

Oracle Training

 Remote DBA SQL Server

Remote MSSQL Consulting

Oracle DBA Hosting

Oracle License Negotiation

 

 


 

 

 

 

 

 

  ASM Performance Enhancements in Oracle 11g

Oracle 11g New Features Tips by Burleson Consulting
July 8, 2008

Oracle 11g SQL New Features Tips

Variable size of Allocation Units

ASM uses allocation units (AU) as the basic units of allocation within a disk group. By default, the size of these AUs is 1MB in Oracle 10g. ASM extents are the raw storage used to hold the content of an ASM file. ASM mirrors ASM files on an extent basis. In Oracle Database 10g, each data extent is a single Allocation Unit.

The metadata for these extents are stored in bitmaps which describe the structure of an ASM file. These extent maps consume disk space as well as shared memory. The memory part is sent from the ASM instance to the ASMB background process of the DB instance. In Oracle 10g, ASM uses two different sizes for the AUs, 1MB for course striping and 128KB for fine striping.

Because of the one to one mapping of an extent to an AU in Oracle 10g, an ASM file extent map can have a size of up to gigabytes in a very large database which can cause problems when an ASM file must be opened and it also creates inefficiencies in memory usage.

Oracle was aware of this problem already in 10g and addressed it with a workaround. In 10g, it is possible to increase the size for AUs for course striping to 16MB and for fine stripes to 1MB by adjusting the two hidden underscore-parameters:

_asm_ausize=16777216
_asm_stripesize=104857

It is not possible to change these parameters after disk groups have already been created. In other words, the parameters must be adjusted in the init file of the ASM instance and the instance restarted to make the changes effective before creating disk groups.  It is necessary to adjust all templates for ASM disk groups additionally. This feature provides the possibility to reduce the size of the extent maps to 1/16 in an Oracle 10g environment which allows managing the database with 10TB upwards to PB in ASM.

In order to find out how much shared memory is needed to handle the extent maps, it is necessary to first find out how much ASM disk space the database utilizes:

SELECT SUM(bytes) / (1024*1024*1024)
FROM v$datafile;
SELECT SUM(bytes) / (1024*1024*1024)
FROM v$logfile a, v$log b
WHERE a.group#=b.group#;
SELECT SUM(bytes) / (1024*1024*1024)
FROM v$tempfile
WHERE status='ONLINE';

There is a formula to calculate this additional Shared Pool memory for an Oracle 10g database which uses ASM storage depending on the redundancy level (number of mirrors) of the ASM disk groups used by the instance:

(1MB of additional shared pool for every 100GB of disk space) + an additional 2MB for external redundancy (no mirroring),

(1MB of additional shared pool for every 50GB of disk space) + an additional 4MB for normal redundancy (two mirrors),

(1MB of additional shared pool for every 33GB of disk space) + an additional 6MB for high redundancy (three mirrors)

Beginning with Oracle 11g, it is possible to have AUs of different sizes within the same ASM disk group, even within the same ASM file. With this variable size extent support, the amount of shared memory needed for ASM can be reduced dramatically for very large databases (VLDB). By this, large files can be opened much faster because the amount of administrative shared memory structures is much less than with the old 1MB AUs. This feature is enabled by default and it does not need any additional administrative actions to use it.

In 11g, an extent can be composed of multiple AUs and Oracle uses a special algorithm to automatically adjust the size of AUs as soon as the size of an ASM datafile exceeds a certain threshold. This means that the size of the extent maps can be reduced to 1/8 and even 1/64 with Oracle 11g ASM, thereby making the opening of very large ASM files much faster. An ASM file can grow to a size of up to 140 PB.

Here is how it works:

By DEFAULT for the first 20000 extents (0-19999), the AU size is 1MB for Oracle 11g,  as it was the default for all extents in Oracle 10g ASM. This one to one mapping of extents to AUs for a datafile is used until the ASM file reaches the size of 20GB. As of the 20001st extent, 8 AUs form an extent set which means that the size of the unit which is represented by one pointer in the extent map (an extent) is automatically increased to a set of 8 AUs. This reduces the size of the extent map to describe the ASM file to one eighth starting from here up to a size of 40GB for the datafile.

As of AU number 40000 in an ASM file, the number of AUs used to form one extent set is again automatically incremented by a factor of eight. In other words, 64 AUs of 1MB size make up one extent set as soon as the file gets larger than 40 gigabytes.

% Variable size extent support only works for disk groups with compatible                   attributes adjusted to at least 11g!

So far, just the DEFAULT behavior of ASM in Oracle 11g has been reviewed. It is also possible to manually fix the size of all AUs within an ASM disk group to a uniform size by adjusting the disk group attribute AU_SIZE. This must be done directly when the disk group is created and cannot be changed later on. The AU for fine striping is always 128KB, as it was in 10g ASM. The AU for an ASM disk group can be adjusted at creation time with the disk group attribute AU_SIZE to 1, 2, 4, 8, 16, 32 or 64 MB.

By using fine grained striping for redo log files, a lower latency is reached because smaller units get distributed across all disk members of an ASM disk group. Oracle uses AUs as stripes for files in ASM storage and spreads a file in an ASM disk group across all disks in a fail group.  So now there is striping within a fail group and mirroring across the fail groups within a disk group. By using coarse striping for datafiles, Oracle achieves load balancing of read write operations across all disks within a disk group.

 

This is an excerpt from the new book Oracle 11g New Features: Expert Guide to the Important New Features by John Garmany, Steve Karam, Lutz Hartmann, V. J. Jain, Brian Carr.

You can buy it direct from the publisher for 30% off.

Expert Remote DBA

BC is America's oldest and largest Remote DBA Oracle support provider.  Get real Remote DBA experts, call
BC Remote DBA today.

 

 

Remote DBA Service
 

Oracle Tuning Book

 

Advance SQL Tuning Book 

BC Oracle support

Oracle books by Rampant

Oracle monitoring software

 

 

 

 

 

 

BC Remote Oracle Support

Remote DBA

Remote DBA Services

Copyright © 1996 -  2013 by Burleson. All rights reserved.

Oracle® is the registered trademark of Oracle Corporation.



Hit Counter