PURPOSE
-------
Support efficient deployment of very large databases (10TB to PB range) with Automatic Storage Management (ASM) in Oracle Database 10g.
SCOPE & APPLICATION
-------------------
This procedure applies to ASM configurations on all platforms including RAC and single instance environments. This procedure is suitable for the creation of large databases that are expected to grow to over ~10TB in capacity.
Challenge
---------
ASM metadata storage requirements for databases greater than 10TB can be very high introducing inefficiencies in opening ASM files as well as increasing the memory used to store ASM metadata. This is a common problem for all file systems in general. However, ASM can be configured to address this issue effectively through ASM parameters discussed later in this note.
Solution
--------
The ASM feature in Oracle Database 10g defines an Allocation Unit (AU) as the fundamental unit of allocation within a diskgroup. By default, the ASM Allocation Unit size is set to 1MB.
ASM Data Extents are the raw storage used to hold the content of an ASM file. In Oracle Database 10g, each data extent is a single Allocation Unit. Because of this one to one mapping of an extent size to an AU, an ASM file extent map can grow to gigabytes in very large databases creating inefficiencies in memory usage and file open performance.
ASM provides two hidden initialization parameter that allow you to create a disk group with an AU size of 16 megabytes and FINE grain striping at 1MB (instead of 128KB). This reduces the extent map size by a factor of 16. The AU parameter can only be used at disk group creation time. You cannot change the AU size of an existing disk group after it’s been created.
You must reset the following ASM hidden parameters in order to change the AU
size (and therefore Data Extents) from 1MB to 16MB, and FINE grain stripe size to 1MB. The ASM instance must be shut down, _asm_ausize and _asm_stripesize parameters must be reset in the ASM instance init.ora parameter file and ASM
instance restarted again to inherit the new values.
_asm_ausize=16777216
_asm_stripesize=1048576
You must also modify the ASM file templates and set the stripe type to ‘FINE’ for all file types to achieve 1MB striping. This must be done after the disk group is created.
The ASM instance must be re-started for the new parameters to take effect. After setting the underscore parameters and restarting the ASM instance, any disk group that gets created will have the new AU size and FINE stripe size. To create a disk group with the normal 1MB AU size and 128KB FINE stripe size, the underscore parameters need to be removed and ASM instance restarted again.
Example:
The following example creates a diskgroup with 16MB Allocation Unit (Data Extents) and allows for 1MB FINE striping for all data files:
1. Shut down the ASM instance
2. Edit the ASM init.ora parameter file and add:
_asm_ausize=16777216
_asm_stripesize=1048576
3. Restart the ASM instance
4. Create a disk group
CREATE DISKGROUP diskgroup_name disk '/devices/diska1','/devices/diska2';
5. Change all ASM file templates to FINE grained:
ALTER DISKGROUP diskgroup_name ALTER TEMPLATE <tmpl> ATTRIBUTES (FINE);
Repeat this command for all ASM file types. Attributes types are listed below:
CONTROLFILE, DATAFILE, ONLINELOG, ARCHIVELOG, TEMPFILE, BACKUPSET,PARAMETERFILE, DATAGUARDCONFIG, FLASHBACK, CHANGETRACKING, DUMPSET, XTRANSPORT, AUTOBACKUP
The 16MB AU setting with 1MB FINE grain striping continues to provide efficient 1MB striping of data as well as much lower ASM file extent overhead. This
configuration provides faster ASM file opens and supports 10TB to PB capacity range ASM databases more effectively.
Note:
Apply the fix for Bug 5100163 in 10.2.0.4
This patch should be applied if you have created ASM Diskgroups with the AU size greater than 1MB and have fewer than 3585 user files.
The following command must be ran on each Diskgroup after applying the patch:
ALTER DISKGROUP <DG_NAME> CHECK ALL REPAIR
REFERENCES
----------
N/A
From Oracle
-------------------------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
Email: [email protected]
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群: 83829929 DBA5群: 142216823
聊天 群:40132017 聊天2群:69087192
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请