The SQL statements presented in the following example demonstrate the interactions of disk discovery with the ADD
DISK
operation.
Assume that disk discovery identifies the following disks in directory /devices
:
/devices/diska1 -- member of data1 /devices/diska2 -- member of data1 /devices/diska3 -- member of data1 /devices/diska4 -- member of data1 /devices/diska5 -- candidate disk /devices/diska6 -- candidate disk /devices/diska7 -- candidate disk /devices/diska8 -- candidate disk /devices/diskb1 -- member of data1 /devices/diskb2 -- member of data1 /devices/diskb3 -- member of data1 /devices/diskb4 -- member of data2 /devices/diskc1 -- member of data2 /devices/diskc2 -- member of data2 /devices/diskc3 -- member of data3 /devices/diskc4 -- candidate disk /devices/diskd1 -- candidate disk /devices/diskd2 -- candidate disk /devices/diskd3 -- candidate disk /devices/diskd4 -- candidate disk /devices/diskd5 -- candidate disk /devices/diskd6 -- candidate disk /devices/diskd7 -- candidate disk /devices/diskd8 -- candidate disk
You can query the V$ASM_DISK
view to display the status of Oracle ASM disks. See "Views Containing Oracle ASM Disk Group Information".
The following statement would fail because /devices/diska1
through /devices/diska4
currently belong to the disk group data1
.
ALTER DISKGROUP data1 ADD DISK '/devices/diska*';
The following statement successfully adds disks /devices/diska5
through /devices/diska8
to data1
. Because no FAILGROUP
clauses are included in the ALTER DISKGROUP
statement, each disk is assigned to its own failure group. The NAME
clauses assign names to the disks, otherwise they would have been assigned system-generated names.
ALTER DISKGROUP data1 ADD DISK '/devices/diska5' NAME diska5, '/devices/diska6' NAME diska6, '/devices/diska7' NAME diska7, '/devices/diska8' NAME diska8;
The following statement would fail because the search string matches disks that are contained in other disk groups. Specifically, /devices/diska4
belongs to disk group data1
and /devices/diskb4
belongs to disk group data2
.
ALTER DISKGROUP data1 ADD DISK '/devices/disk*4';
The following statement would successfully add /devices/diskd1
through /devices/diskd8
to disk group data1
. This statement runs with a rebalance power of 5, and does not return until the rebalance operation is complete.
ALTER DISKGROUP data1 ADD DISK '/devices/diskd*' REBALANCE POWER 5 WAIT;
If /devices/diskc3
was previously a member of a disk group that no longer exists, then you could use the FORCE
option to add the disk as a member of another disk group. For example, the following use of the FORCE
clause enables /devices/diskc3
to be added to data2
, even though it is a current member of data3
. For this statement to succeed, data3
cannot be mounted.
ALTER DISKGROUP data2 ADD DISK '/devices/diskc3' FORCE;