ok lets consider now I have 3 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
To provision your 3 High Capacity (HC) storage servers from scratch, you do not use dcli for the final ASM group creation—ASM disk groups are always created via standard SQL inside the database instance.
However, you use dcli to log into all 3 storage cells simultaneously to format the physical drives, build the celldisks, slice them into griddisks, and reserve your space.
Here is the exact step-by-step production workflow to build +DATA01 and +RECO01 using HIGH Redundancy (3-way mirroring) across your 3 cells.
The Infrastructure Plan (3 Cells)
Physical Layout: 3 cells × 12 hard drives = 36 physical disks (Total: 792 TB Raw).
Space Reservation Goal: We will allocate 70% of the space to
DATA01, 20% toRECO01, and leave 10% unallocated as free headroom for safe cell rebalancing and diagnostic workspace.
Step 1: Create Celldisks on All 3 Cells
Log onto a database compute node as the celladmin or root user. Run this dcli command to format all 36 physical hard drives across your 3 cells (cell01, cell02, cell03) into usable celldisks:
dcli -g cell_group -l celladmin "cellcli -e CREATE CELLDISK ALL HARDDISK"
Verify it by listing them:
dcli -g cell_group -l celladmin "cellcli -e LIST CELLDISK"
Step 2: Create Griddisks with Space Reservations
Next, we slice those celldisks into logical griddisks. We will hard-code sizes to guarantee a clean split and leave the remaining trailing space completely unallocated.
Each physical drive is 22 TB (approximately 20.01 TiB / 20,490,000 MB of actual formatted OS space).
DATA01 Split (70%): We assign 14,000,000 MB per disk.
RECO01 Split (20%): We assign 4,000,000 MB per disk.
Remaining Space (10%): Left unallocated.
Run the DATA01 Griddisk creation:
dcli -g cell_group -l celladmin "cellcli -e CREATE GRIDDISK ALL HARDDISK PREFIX=DATA01, size=14000G"
Run the RECO01 Griddisk creation:
dcli -g cell_group -l celladmin "cellcli -e CREATE GRIDDISK ALL HARDDISK PREFIX=RECO01, size=4000G"
Verify the layout on all cells:
dcli -g cell_group -l celladmin "cellcli -e LIST GRIDDISK WHERE availableSpace != 0"
(You will see all 36 DATA01 and 36 RECO01 griddisks status as active).
Step 3: Create the ASM Disk Groups via SQL
Now that the griddisks exist at the storage layer, drop back to your database compute node. Log into your Grid Infrastructure environment as the grid user, access SQL*Plus as SYSASM, and run the SQL strings to build the disk groups.
. oraenv
# (Select +ASM1)
sqlplus / as sysasm
1. Create the +DATA01 Disk Group:
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:
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'='TRUE';
📊 Final Usable Space Metrics (3 Cells with HIGH Redundancy)
Because you are using HIGH Redundancy across exactly 3 cells, ASM places exactly 1 copy of every block on each of the 3 cells.
| Disk Group | Total Raw Aggregated Size | Usable Database Space (Raw ÷ 3) |
|---|---|---|
+DATA01 | ~492 TB Raw | ~164 TB Usable Capacity |
+RECO01 | ~140 TB Raw | ~46.6 TB Usable Capacity |
With this configuration, your data is fully protected. If any single storage cell goes down or suffers a total power loss, the remaining 2 cells continue running your databases without a single byte of data loss.
in eahc step pleae show me how it will show the output like list physicaldisk , list cell disk , initially list celldisk what it will show etc
Here is the complete visual execution walkthrough showing exactly how the outputs look inside the terminal at every stage of the provisioning process.
Step 1: Checking the Initial State of Raw Storage
Before any configuration is made, you use dcli to verify that the 3 storage cells see the factory-fresh physical hard drives. Initially, checking for celldisks or griddisks will return empty results.
Command: List Physical Disks
dcli -g cell_group -l celladmin "cellcli -e LIST PHYSICALDISK WHERE diskType=HardDisk"
Expected Output:
cell01: 20:0 STATUS=normal
cell01: 20:1 STATUS=normal
... [truncated lines for drives 2 through 10] ...
cell01: 20:11 STATUS=normal
cell02: 20:0 STATUS=normal
cell02: 20:1 STATUS=normal
...
cell03: 20:11 STATUS=normal
Command: List Celldisks (Initial State)
If you check for celldisks right now, the cells have no logical layout mapped.
dcli -g cell_group -l celladmin "cellcli -e LIST CELLDISK"
Expected Output:
cell01:
cell02:
cell03:
(The output returns completely blank because no celldisks exist yet).
Step 2: Creating and Verifying Celldisks
This step initializes the physical disks into an Exadata-managed software layer.
Command: Create Celldisks
dcli -g cell_group -l celladmin "cellcli -e CREATE CELLDISK ALL HARDDISK"
Expected Output:
cell01: Celldisk CD_00_cell01 successfully created
cell01: Celldisk CD_01_cell01 successfully created
...
cell03: Celldisk CD_11_cell03 successfully created
Command: List Celldisks (After Creation)
Now when you query the cells, you will see all 36 initialized celldisks across the cluster (12 per cell).
dcli -g cell_group -l celladmin "cellcli -e LIST CELLDISK"
Expected Output:
cell01: CD_00_cell01 normal
cell01: CD_01_cell01 normal
...
cell02: CD_11_cell02 normal
...
cell03: CD_11_cell03 normal
Step 3: Creating and Verifying Griddisks (Slicing the Storage)
Now we carve up those 12 celldisks per cell into DATA01 and RECO01 fractions, keeping 10% unallocated.
Command: Create DATA01 Griddisks (70% Allocation)
dcli -g cell_group -l celladmin "cellcli -e CREATE GRIDDISK ALL HARDDISK PREFIX=DATA01, size=14000G"
Expected Output:
cell01: Griddisk DATA01_CD_00_cell01 successfully created
cell01: Griddisk DATA01_CD_01_cell01 successfully created
...
cell03: Griddisk DATA01_CD_11_cell03 successfully created
Command: Create RECO01 Griddisks (20% Allocation)
dcli -g cell_group -l celladmin "cellcli -e CREATE GRIDDISK ALL HARDDISK PREFIX=RECO01, size=4000G"
Expected Output:
cell01: Griddisk RECO01_CD_00_cell01 successfully created
cell01: Griddisk RECO01_CD_01_cell01 successfully created
...
cell03: Griddisk RECO01_CD_11_cell03 successfully created
Command: List Final Griddisk Layout
To confirm the sizing and see the remaining free space left on the drives, run a detailed attributes check:
dcli -g cell_group -l celladmin "cellcli -e LIST GRIDDISK attributes name, size, status"
Expected Output:
cell01: DATA01_CD_00_cell01 14000G active
cell01: RECO01_CD_00_cell01 4000G active
cell01: DATA01_CD_01_cell01 14000G active
cell01: RECO01_CD_01_cell01 4000G active
...
cell03: DATA01_CD_11_cell03 14000G active
cell03: RECO01_CD_11_cell03 4000G active
Step 4: Verification from the ASM DB Node
Finally, you move away from the storage cell CLI and log onto your database instance to confirm that Grid Infrastructure discovers your new disks as clean candidates.
Command: Query Candidate Disks inside SQL*Plus
SELECT path, header_status, os_mb FROM v$asm_disk WHERE header_status = 'CANDIDATE' ORDER BY path;
Expected Output:
PATH HEADER_STATUS OS_MB
------------------------ -------------- ---------
o/192.168.10.11/DATA01_0 CANDIDATE 14336000
o/192.168.10.11/RECO01_0 CANDIDATE 4096000
o/192.168.10.12/DATA01_0 CANDIDATE 14336000
...
o/192.168.10.13/RECO01_11 CANDIDATE 4096000
72 rows selected.
(You will see exactly 72 paths: 36 for DATA01 and 36 for RECO01, all showing a status of CANDIDATE, meaning they are ready for your CREATE DISKGROUP commands).
No comments:
Post a Comment