Creating an Extent Balanced File System

Any MVFS can be an extent balanced file system if the storage tier has chunk size associated with the class. You can use dbdst_admin command to define a chunk size for the class.

For example:

Dbdst_admin  - S $ORACLE_SID  - o definechunk gold:256K
Dbdst_admin  - S $ORACLE_SID  - o definechunk silver:128K

This command makes the gold storage class extent balanced.

After you define the chunk size for a storage tier, you can classify any MVFS into this storage tier.

Consider the following scenario. /oradata is the filesystem created on volume-set /dev/vx/dsk/oradg/ora_vset. It contains database datafiles whose names end with extension *.dbf.

To define storage class for this MVFS, use following command:

Dbdst-classify  -S $ORACLE_SID  - M /dev/vx/dsk/oradg/ora_vset  - v \
vol1:GOLD,vol2:GOLD,vol3:GOLD

It is important to note that a MVFS can have multiple storage tiers and each tier can have different chunk sizes.

You can define another storage tier for the same MVFS as defined above, using the following command:

Dbdst-classify  -S $ORACLE_SID  - M /dev/vx/dsk/oradg/ora_vset  - v \
vol4:silver,vol5:silver

Now you have two storage tiers in MVFS /oradata, and each has different chunk sizes. In order to perform extent balancing for these, you must assign DST policy and enforce it.

You can define and enforce the policy by using the dbdst_preset_policy command:

Dbdst_preset_policy  - S $ORACLE_SID  - d /oradata  - P GOLD=*.dbf,SILVER=*.inx

In this example, the dbdst_preset_policy command creates a DST policy, assigns the policy to /oradata and enforces the policy. All datafiles of the form *.dbf are extent balanced in gold tier with chunk size 256K and all index files of the form *.inx are extent balanced in silver tier with chunk size 128K.

You can view the space usage in the /oradata MVFS using the dbdst_show_fs command:

Dbdst_show_fs  - S $ORACLE_SID  - m /oradata

If the gold or silver tier needs more space, you can add extra space by adding new volumes to the respective storage tier.

You can add new volumes to the storage tier by using the dbdst_addvol command:

Dbdst_addvol  - S $ORACLE_SID  - M /dev/vx/dsk/oradg/ora_vset  -v vol7:GOLD

When you add a new volume, the DST policy is enforced and the extents are balanced over the new volume too. You can verify this by using dbdst_show_fs command again.

You can use the fsmap CLI to view detailed extent information about a specifc file:

Fsmap  - a  /oradata/emp.dbf