{"id":5360,"date":"2026-02-01T20:34:52","date_gmt":"2026-02-01T15:04:52","guid":{"rendered":"https:\/\/w3buddy.com\/?p=5360"},"modified":"2026-02-01T20:34:53","modified_gmt":"2026-02-01T15:04:53","slug":"how-to-create-and-configure-asm-disk-groups-on-oracle-exadata-database-machine","status":"publish","type":"post","link":"https:\/\/w3buddy.com\/blog\/how-to-create-and-configure-asm-disk-groups-on-oracle-exadata-database-machine\/","title":{"rendered":"How to Create and Configure ASM Disk Groups on Oracle Exadata Database Machine"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Oracle Automatic Storage Management (ASM) serves as the foundational storage management layer for Oracle Exadata environments. By organizing grid disks into logical disk groups, database administrators can achieve optimal redundancy, enhanced performance, and seamless integration with Exadata&#8217;s intelligent storage features like Smart Scan offloading.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This comprehensive guide walks you through the complete process of creating ASM disk groups, understanding critical configuration parameters, and implementing proven strategies for production environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Complete Implementation Guide<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Initial Setup: Establishing ASM Connection<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before creating disk groups, you must establish a connection to the ASM instance with appropriate privileges.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Configure your environment variable to point to the correct ASM instance:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ export ORACLE_SID=+ASM1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Access the ASM instance using SYSASM administrative privileges:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ sqlplus \/ as sysasm<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Inventory Assessment: Discovering Available Storage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before provisioning new disk groups, examine the available grid disks in your Exadata environment:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sql<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; SELECT path, header_status \nFROM v$asm_disk \nWHERE path LIKE 'o\/%'\nORDER BY path;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This query returns all Exadata-managed grid disks and their current assignment status, helping you identify unallocated storage resources.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Disk Group Creation Examples<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Primary Data Storage (High Redundancy Configuration)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">For mission-critical database files requiring maximum protection:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE DISKGROUP primary_data HIGH REDUNDANCY\nDISK 'o\/*\/DATA_CD_*'\nATTRIBUTE 'au_size' = '4M',\n          'content.type' = 'data',\n          'compatible.rdbms' = '12.2.0.1',\n          'compatible.asm' = '21.0.0.0',\n          'cell.smart_scan_capable' = 'TRUE';<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Recovery Area Storage (High Redundancy Configuration)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">For archived redo logs, RMAN backups, and flashback logs:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE DISKGROUP fast_recovery HIGH REDUNDANCY\nDISK 'o\/*\/RECO_CD_*'\nATTRIBUTE 'au_size' = '4M',\n          'content.type' = 'recovery',\n          'compatible.rdbms' = '12.2.0.1',\n          'compatible.asm' = '21.0.0.0';<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">System Files Storage (For Earlier Exadata Models)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">On pre-X8 Exadata systems, configure the system disk group:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER DISKGROUP system_files SET ATTRIBUTE \n'content.type' = 'system',\n'compatible.rdbms' = '12.2.0.1',\n'compatible.asm' = '21.0.0.0';<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Sparse Disk Group (For Snapshot and Clone Operations)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Enable thin provisioning for test\/development clones:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE DISKGROUP snapshot_storage NORMAL REDUNDANCY\nDISK 'o\/*\/SPARSE_CD_*'\nATTRIBUTE 'au_size' = '4M',\n          'content.type' = 'data',\n          'cell.smart_scan_capable' = 'TRUE',\n          'compatible.rdbms' = '12.2.0.1',\n          'compatible.asm' = '21.0.0.0',\n          'cell.sparse_dg' = 'allsparse';<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Critical Configuration Parameters<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Version Compatibility Guidelines<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The compatibility settings determine which Oracle features your disk group can utilize. Sparse disk groups specifically require both <code>compatible.asm<\/code> and <code>compatible.rdbms<\/code> set to version 12.2.0.1 or higher. Remember that disk group compatibility attributes take precedence over ASM instance-level compatibility settings, so plan your version strategy carefully.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Allocation Unit Sizing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The allocation unit size determines how ASM allocates space within the disk group. For Exadata environments, Oracle recommends setting <code>au_size<\/code> to 4MB to optimize parallel query performance and Smart Scan efficiency. This sizing balances metadata overhead with I\/O performance for typical Exadata workloads.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Verifying Disk Group Configuration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After creating disk groups, validate their configuration using ASM dynamic performance views:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; SELECT dg.name AS diskgroup_name, \n            a.name AS attribute_name, \n            a.value AS attribute_value\nFROM v$asm_diskgroup dg \nJOIN v$asm_attribute a ON dg.group_number = a.group_number\nWHERE dg.name IN ('PRIMARY_DATA', 'FAST_RECOVERY')\nORDER BY dg.name, a.name;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Sample Attribute Configuration<\/h2>\n\n\n\n<figure class=\"wp-block-table has-small-font-size\"><table><thead><tr><th>Disk Group Name<\/th><th>Attribute<\/th><th>Configured Value<\/th><\/tr><\/thead><tbody><tr><td>PRIMARY_DATA<\/td><td>compatible.rdbms<\/td><td>12.2.0.1<\/td><\/tr><tr><td>PRIMARY_DATA<\/td><td>compatible.asm<\/td><td>21.0.0.0<\/td><\/tr><tr><td>PRIMARY_DATA<\/td><td>au_size<\/td><td>4194304 (4 MB)<\/td><\/tr><tr><td>PRIMARY_DATA<\/td><td>disk_repair_time<\/td><td>3.6h<\/td><\/tr><tr><td>PRIMARY_DATA<\/td><td>cell.smart_scan_capable<\/td><td>TRUE<\/td><\/tr><tr><td>FAST_RECOVERY<\/td><td>content.type<\/td><td>recovery<\/td><\/tr><tr><td>FAST_RECOVERY<\/td><td>au_size<\/td><td>4194304 (4 MB)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Implementing Tablespaces on ASM Disk Groups<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once your disk groups are configured, create tablespaces that leverage Exadata&#8217;s intelligent storage capabilities:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; CREATE TABLESPACE app_data \nDATAFILE '+PRIMARY_DATA' \nSIZE 10G \nAUTOEXTEND ON \nNEXT 1G \nMAXSIZE UNLIMITED;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Confirming Smart Scan Enablement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Verify that your tablespace is configured for storage-side query processing:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; SELECT tablespace_name, \n            predicate_evaluation,\n            def_inmemory\nFROM dba_tablespaces \nWHERE tablespace_name = 'APP_DATA';<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">When <code>predicate_evaluation<\/code> displays &#8216;STORAGE&#8217;, your queries can be offloaded to Exadata storage servers, dramatically reducing the volume of data transferred to database servers and accelerating analytical query performance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Production Best Practices<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Standardize allocation unit sizing<\/strong> by consistently using 4MB allocation units across all Exadata disk groups to ensure optimal Smart Scan performance and minimize storage fragmentation.<\/li>\n\n\n\n<li><strong>Apply appropriate content classification<\/strong> by setting correct <code>content.type<\/code> values for each disk group purpose. This classification enables ASM to apply appropriate failure group policies and helps with capacity planning and performance monitoring.<\/li>\n\n\n\n<li><strong>Maintain storage homogeneity<\/strong> by ensuring disk groups contain only Exadata grid disks. Mixing storage types can lead to performance unpredictability and complicate troubleshooting.<\/li>\n\n\n\n<li><strong>Implement regular validation routines<\/strong> by periodically querying ASM dynamic views to verify disk group attributes remain correctly configured, especially after maintenance windows or system upgrades.<\/li>\n\n\n\n<li><strong>Optimize for query offloading<\/strong> by placing frequently accessed analytical tables in disk groups configured with Smart Scan capability enabled. This maximizes the performance benefits of Exadata&#8217;s storage intelligence.<\/li>\n\n\n\n<li><strong>Plan compatibility progression<\/strong> before upgrading ASM or database software by understanding that compatibility attribute changes are one-way operations. Always test compatibility upgrades in non-production environments first.<\/li>\n\n\n\n<li><strong>Monitor disk repair time settings<\/strong> to ensure failed disk replacement windows align with your availability requirements. The default 3.6-hour setting works well for most Exadata configurations with Oracle support SLAs.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Properly configured ASM disk groups form the foundation of reliable, high-performance Oracle Exadata deployments. By understanding allocation unit sizing, compatibility requirements, redundancy levels, and content classification, you can build storage architectures that maximize Exadata&#8217;s unique capabilities while ensuring data protection and operational flexibility. The configuration examples and validation techniques provided here enable you to implement disk groups that meet both current operational needs and future scalability requirements.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oracle Automatic Storage Management (ASM) serves as the foundational storage management layer for Oracle Exadata environments. By organizing grid disks into logical disk groups, database administrators can achieve optimal redundancy, enhanced performance, and seamless integration with Exadata&#8217;s intelligent storage features like Smart Scan offloading. This comprehensive guide walks you through the complete process of creating [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5362,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAowu461DA:productID":"","footnotes":""},"categories":[1225],"tags":[],"class_list":["post-5360","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database"],"_links":{"self":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/posts\/5360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/comments?post=5360"}],"version-history":[{"count":1,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/posts\/5360\/revisions"}],"predecessor-version":[{"id":5361,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/posts\/5360\/revisions\/5361"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/media\/5362"}],"wp:attachment":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/media?parent=5360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/categories?post=5360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/tags?post=5360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}