9.8.2 Resizing the Physical Space

Commencing with Oracle Exadata System Software 22.1.0, you can use the sizeAllocated grid disk attribute to determine the total size of materialized space used by data in a sparse grid disk. When sizeAllocated approaches the physical grid disk size, you need to increase the physical grid disk size to support further data growth.

Otherwise, you can determine the amount of available physical space in the sparse grid disks by examining the difference between the TOTAL_MAT_MB and ALLOCATED_MAT_MB column values in V$ASM_DISK_SPARSE.

To increase the physical size of the grid disks:

  1. Ensure that there is free space available on the respective cell disks.

    For example:

    # dcli -g cell_group -l root "cellcli -e list celldisk attributes name,freespace" 
    exa01celadm01: CD_00_exa01celadm01 0 
    exa01celadm01: CD_01_exa01celadm01 0 
    exa01celadm01: CD_02_exa01celadm01 0 
    exa01celadm01: CD_03_exa01celadm01 0 
    exa01celadm01: CD_04_exa01celadm01 0 
    exa01celadm01: CD_05_exa01celadm01 0 
    exa01celadm01: CD_06_exa01celadm01 0 
    exa01celadm01: CD_07_exa01celadm01 0 
    exa01celadm01: CD_08_exa01celadm01 0 
    exa01celadm01: CD_09_exa01celadm01 0 
    exa01celadm01: CD_10_exa01celadm01 0 
    exa01celadm01: CD_11_exa01celadm01 0 
    ...

    If there is no available free space, then you have to free up disk space being used by other grid disks, either by reducing the size of other grid disks or by removing unnecessary grid disks.

  2. Run the ALTER GRIDDISK command on the cells, specifying the grid disks to resize and the new physical size for each grid disk:

    The command syntax is:

    CellCLI> alter griddisk gridDisk1,gridDisk2,...,gridDiskN size=newPhysicalSize

    Run the command on each cell.

    For example, on the first cell:

    CellCLI> alter griddisk data01_CD_00_exa01celadm01,data01_CD_01_exa01celadm01,
    data01_CD_02_exa01celadm01,data01_CD_03_exa01celadm01,data01_CD_04_exa01celadm01,
    data01_CD_05_exa01celadm01,data01_CD_06_exa01celadm01,data01_CD_07_exa01celadm01,
    data01_CD_08_exa01celadm01,data01_CD_09_exa01celadm01,data01_CD_10_exa01celadm01,
    data01_CD_11_exa01celadm01 size=12000G

    Then on the next cell:

    CellCLI> alter griddisk data01_CD_00_exa01celadm02,data01_CD_01_exa01celadm02,
    data01_CD_02_exa01celadm02,data01_CD_03_exa01celadm02,data01_CD_04_exa01celadm02,
    data01_CD_05_exa01celadm02,data01_CD_06_exa01celadm02,data01_CD_07_exa01celadm02,
    data01_CD_08_exa01celadm02,data01_CD_09_exa01celadm02,data01_CD_10_exa01celadm02,
    data01_CD_11_exa01celadm02 size=12000G

    And so on.

    After you increase the physical size of the grid disks, the sparse disk group automatically consumes the additional space as required.

To shrink the physical size of the grid disks:

  1. Check the amount of materialized space used by data in the sparse grid disks. You cannot resize a grid disk to be smaller than the current amount of materialized data.

    Commencing with Oracle Exadata System Software 22.1.0, check the sizeAllocated grid disk attribute.

    For example:

    # dcli -g cell_group -l root "cellcli -e list griddisk attributes name,sizeAllocated" 
    exa01celadm01: data01_CD_00_exa01celadm01 1023.9375M 
    exa01celadm01: data01_CD_01_exa01celadm01 1024.4375M 
    exa01celadm01: data01_CD_02_exa01celadm01 1023.4375M 
    exa01celadm01: data01_CD_03_exa01celadm01 1024.9375M 
    exa01celadm01: data01_CD_04_exa01celadm01 1023.9375M 
    exa01celadm01: data01_CD_05_exa01celadm01 1024.4375M 
    exa01celadm01: data01_CD_06_exa01celadm01 1023.4375M 
    exa01celadm01: data01_CD_07_exa01celadm01 1024.9375M 
    exa01celadm01: data01_CD_08_exa01celadm01 1023.9375M 
    exa01celadm01: data01_CD_09_exa01celadm01 1024.4375M 
    exa01celadm01: data01_CD_10_exa01celadm01 1023.4375M 
    exa01celadm01: data01_CD_11_exa01celadm01 1024.9375M 
    ...

    Otherwise, examine the ALLOCATED_MAT_MB column value in V$ASM_DISK_SPARSE. For example:

    SQL> SELECT allocated_mat_mb FROM v$asm_disk_sparse
          WHERE group_number = spare_disk_group_number;

    If you need to shrink the grid disks to be smaller than the amount of currently materialized data, you must drop objects from the sparse disk group.

  2. Run the ALTER GRIDDISK command on the cells, specifying the grid disks to shrink and the new physical size for each grid disk:

    The command syntax is the same as for increasing the grid disk size:

    CellCLI> alter griddisk gridDisk1,gridDisk2,...,gridDiskN size=newPhysicalSize

    Run the command on each cell.

    For example, on the first cell:

    CellCLI> alter griddisk data01_CD_00_exa01celadm01,data01_CD_01_exa01celadm01,
    data01_CD_02_exa01celadm01,data01_CD_03_exa01celadm01,data01_CD_04_exa01celadm01,
    data01_CD_05_exa01celadm01,data01_CD_06_exa01celadm01,data01_CD_07_exa01celadm01,
    data01_CD_08_exa01celadm01,data01_CD_09_exa01celadm01,data01_CD_10_exa01celadm01,
    data01_CD_11_exa01celadm01 size=4000G

    Then on the next cell:

    CellCLI> alter griddisk data01_CD_00_exa01celadm02,data01_CD_01_exa01celadm02,
    data01_CD_02_exa01celadm02,data01_CD_03_exa01celadm02,data01_CD_04_exa01celadm02,
    data01_CD_05_exa01celadm02,data01_CD_06_exa01celadm02,data01_CD_07_exa01celadm02,
    data01_CD_08_exa01celadm02,data01_CD_09_exa01celadm02,data01_CD_10_exa01celadm02,
    data01_CD_11_exa01celadm02 size=4000G

    And so on.

Related Topics