ok lets consider now I have 10 full capacitry storage server , each provides 264 TB disk capacity
how to create asm disk out of it , using dcli command ?
like I need to create celldsik then gridisk and then askdisk
I needs to create one +DATA01 and +RECo01 diskgorup with high reducnccy and needs to reserver some space as well
show me the step by step and give me how does each stage looks after we running command like "cellcli -e CREATE CELLDISK ALL HARDDISK"
also explain as per industry standard like creating flashlog with specific size and then the flashlog
as we have 27.2 TB Total Raw Smart Flash Cache / Log per cell
the 22 TB per drive (which gives you that $12 \times 22 \text{ TB} = 264 \text{ TB}$ raw total per cell) is not 100% useful for actual database storage due to binary formatting conversion, system OS partitions etc
Your raw 22 TB hard drive shows up to the Exadata operating system as roughly 20.01 TiB.
Stage | Math Formula / Process | Total Cluster Space
--------------------------+-----------------------------------+--------------------
Raw Factory Space | 10 cells x 264 TB | 2,640 TB
After Binary Conversion | True OS recognized space (~91%) | 2,402 TB
Minus Spare Cushion (10%) | Leaving space for cell rebuilds | 2,162 TB
High Redundancy Mirroring | Divide by 3 (2,162 / 3) | 720.6 TB
The Final Verdict
Out of your 2,640 TB of raw hardware space, your databases will see roughly 720 TB of total usable space shared between +DATA01 and +RECO01.
To configure 10 High-Capacity (HC) Exadata Storage Servers from scratch using dcli, you must follow a precise execution order. As an industry standard, you configure the flash performance layers first before touching the spinning disks (hard disks) to prevent space allocation conflicts.
Here is the step-by-step enterprise workflow to build your architecture, reserving space for high redundancy +DATA01 and +RECO01 disk groups.
The Strategic Sequence (Overview)
Flash Layer Configuration: Create Flash Log (512 MB per flash drive) $\rightarrow$ Allocate remaining flash to Flash Cache.
Physical to Logical Hard Disk Mapping: Create Celldisks from the 12 raw HDDs per cell.
Slicing Storage (Griddisks): Carve out precise per-disk sizes for
DATA01andRECO01to leave a 10% unallocated cushion.ASM Provisioning: Discover devices and build High Redundancy Disk Groups.
Step 1: Configure Flash Log & Flash Cache
Each cell has 4 physical Flash Cards. Industry standard dictates provisioning a small, highly effective 512 MB slice per flash disk for the log first, then letting the cache take the rest.
# 1. Creates a 512MB log slice per internal flash disk
dcli -g cell_group -l root "cellcli -e CREATE FLASHLOG ALL"
# 2. Allocates 100% of the remaining ~27.15 TB per cell to Flash Cache
dcli -g cell_group -l root "cellcli -e CREATE FLASHCACHE ALL"
How the stage looks:
list flashlog shows 4 logs per cell, sized at 512M each, status
normal.list flashcache shows a unified logical caching layer covering the remainder of the 27.2 TB, status
normal.
Step 2: Create Celldisks from Hard Disks
Initialize the 12 physical spinning hard drives per cell.
dcli -g cell_group -l root "cellcli -e CREATE CELLDISK ALL HARDDISK"
How the stage looks:
Running cellcli -e list celldisk outputs the 12 mapped hard drives per cell:
CD_00_dm01cel01 normal
CD_01_dm01cel01 normal
...
CD_11_dm01cel01 normal
What it did: It cleared any old metadata and created an Exadata logical hardware abstraction over the raw blocks. True OS-recognized space per 22 TB drive drops to roughly 20.01 TiB ($\approx$ 22,000 GB) due to binary formatting math.
Step 3: Create Griddisks (Slicing per Hard Disk)
Because cellcli acts on individual drives, the sizing parameter must be specified per disk, not per cluster.
To achieve a 70% DATA / 20% RECO / 10% Free Cushion split based on the raw 22 TB nominal capacity:
DATA01 Size per disk: $22 \text{ TB} \times 0.70 = \mathbf{15.4\text{T}}$
RECO01 Size per disk: $22 \text{ TB} \times 0.20 = \mathbf{4.4\text{T}}$
Remaining Cushion: Leaves exactly $2.2 \text{ TB}$ unallocated per disk ($\approx 10\%$).
Execute the slices sequentially. Creating DATA01 first guarantees it lands on the outer tracks of the platter for maximum IOPS:
# 1. Create DATA Griddisks on the high-performance outer tracks
dcli -g cell_group -l root "cellcli -e CREATE GRIDDISK ALL HARDDISK PREFIX=DATA01, size=15.4T"
# 2. Create RECO Griddisks right behind them
dcli -g cell_group -l root "cellcli -e CREATE GRIDDISK ALL HARDDISK PREFIX=RECO01, size=4.4T"
How the stage looks:
Running cellcli -e list griddisk will show 240 active griddisks across your 10 cells (24 per cell):
DATA01_CD_00_dm01cel01 active
RECO01_CD_00_dm01cel01 active
...
Step 4: Form the ASM Disk Groups (Run from DB Node)
Log into your primary Database Node as the grid user and access SQL*Plus (sqlplus / as sysasm).
ASM uses the Exadata network protocol (o/) to automatically aggregate the 120 DATA01 griddisks and 120 RECO01 griddisks into their respective disk groups.
-- 1. Create the +DATA01 Disk Group (High Redundancy)
CREATE DISKGROUP DATA01 HIGH REDUNDANCY
DISK 'o/*/DATA01_*'
ATTRIBUTE
'au_size'='4M',
'compatible.asm'='19.0.0.0.0',
'compatible.rdbms'='19.0.0.0.0',
'cell.smart_scan_capable'='TRUE';
-- 2. Create the +RECO01 Disk Group (High Redundancy)
CREATE DISKGROUP RECO01 HIGH REDUNDANCY
DISK 'o/*/RECO01_*'
ATTRIBUTE
'au_size'='4M',
'compatible.asm'='19.0.0.0.0',
'compatible.rdbms'='19.0.0.0.0',
'cell.smart_scan_capable'='FALSE';
Final Storage Cluster Profile
Because you specified High Redundancy (3-way mirroring) to protect your enterprise data, your usable database footprint calculates as follows:
Stage | Math Formula / Process | Total Cluster Space
--------------------------+-----------------------------------+--------------------
Raw Factory Space | 10 cells x 12 drives x 22 TB | 2,640.0 TB
After Binary Conversion | True OS recognized space (~91%) | 2,402.4 TB
Targeted Sliced Space | Sliced via 15.4T + 4.4T per disk | 2,376.0 TB
Minus 10% Cushion Space | Left unallocated for rebalancing | 264.0 TB
High Redundancy Usable | Divide Sliced Space by 3 | 792.0 TB
(Out of the 792 TB total usable cluster space, 616 TB belongs to +DATA01 and 176 TB belongs to +RECO01)
Explaining the Industry Standard Elements:
o/*/DATA01_*: This is the Exadata internal discovery string syntax. The
o/tells ASM to use the Exadata specialized network protocol (o通用) to talk directly tocellsrvover InfiniBand/RoCE, bypassing standard Linux OS device files.HIGH REDUNDANCY: Ensures that every single block of your data is written simultaneously to 3 distinct storage cells. If any 2 storage servers completely lose power or catch fire at the same moment, your database stays online without data loss.
cell.smart_scan_capable='TRUE': This flag tells the Exadata cells to offload predicate evaluation, column projection, and decryption directly to the cell CPUs for+DATA01, which is the cornerstone of Exadata's extreme query performance.