ASM (Automatic Storage Management) Concepts | |
1. What is ASM?
ASM (Automatic Storage Management) is Oracle's volume manager and file system for both single instance and RAC databases. It is an alternative to other file systems and volume managers. Oracle recommends using ASM as storage manager.
2. ASM Disk
Every physical disk in ASM is called an ASM disk. Every disk has a device name in operating system For example the first scsi disk in a Linux OS is named "sda" unless defined otherwise.
1
2
3
4
5
6
7
8
9
10
11
| # file /dev/sda /dev/sda: block special (8/0) # fdisk -l /dev/sda Disk /dev/sda: 268.4 GB, 268435456000 bytes 255 heads, 63 sectors/track, 32635 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 32635 262140606 83 Linux |
Besides OS name, every disk in an ASM is given an ASM disk name. ASM disk name can be given by you or can be given by Oracle automatically.
In a cluster environment the disk should be reachable from all nodes. The OS device name can be different but the ASM disk name should be same in all nodes.
Do not use ASM on a logical volume manager. ASM itself is a volume manager. Use it on raw disks.
Do not use ASM on a logical volume manager. ASM itself is a volume manager. Use it on raw disks.
2.1 Allocation Units (AU)
ASM disks are composed of Allocation Units (AU). AU's are the smallest part of a disk that can be occupied.
You can set the size of Allocation Unit while creating a disk group using the AU_SIZE disk group attribute. Possible values are 1,2,4,8,16,32 and 64 MB.
It is better to set AU_SIZE to a higher value for data warehouse environments.
It is better to set AU_SIZE to a higher value for data warehouse environments.
3. Disk Groups
Disk groups are composed of multiple ASM disks. It is the main object that ASM manages.
An ASM file is contained in a single disk group. A file cannot span multiple disk groups.
An ASM file is contained in a single disk group. A file cannot span multiple disk groups.
Figure 1: ASM Disks and ASM Disk Groups
4. ASM Files
Any file stored in ASM is called an ASM file. However, ASM is not able to store any type of file. It can only store Oracle related files like control files, data files, online redo log files, archive log files etc.
Here, in my database the name of system data file is:
+ORADATA/TEST11G/DATAFILE/SYSTEM.434.721925773
ASM file path always starts with a "+" sign. "ORADATA" is the name of the disk group. "TEST11G" is the name of the database. (Multiple databases can use the same disk group). "DATAFILE" is the name of folder where data files are stored. SYSTEM is the name of the datafile. 434 is the file number. Every ASM file is given a number by Oracle. 721925773 is the incarnation number. Every ASM file is given an incarnation number to make it unique. Incarnation number is derived from the timestamp the file was created.
4.1 ASM Extents
ASM files are composed of extents. An ASM file consists of one or more extents. These ASM extents are different from the extents that make up segments.
An extent is the smallest unit. It resides in a single disk and cannot span multiple disks.
An extent consists of one or more Allocation Units (AU).
I guess you may be confused. Let's repeat what we have learned.
An ASM disk is composed of allocation units. AU's are part of disk. We determine the size of AU's.
ASM files are composed of extents. Like the relation between disk and AU, an ASM file contains one or more extents. Extents are part of ASM files.
How extents and AU's are related is that an extent can span one or more AU's. But an au is not a part of extent nor an extent is composed of AU's. Au is related with disk, extent is related with file.
Now let's continue to make things more confusing.
4.1.1 Variable Size Extents
As of release 11.1 the extents have variable sizes. When you create a new file or extend an existing file, depending on the size of the file:
a. for the first 20000 extents, the extent size is equal to AU_SIZE, (1-20000)
b. for the next 20000 extents, the extent size is equal 4*AU_SIZE, (20000-40000)
c. for the extents which are greater than 40000, the extent size is equal to 16*AU_SIZE. (40000+)
b. for the next 20000 extents, the extent size is equal 4*AU_SIZE, (20000-40000)
c. for the extents which are greater than 40000, the extent size is equal to 16*AU_SIZE. (40000+)
5. ASM Striping
ASM striping is used for load balance purposes. Oracle divides ASM files into "chunks" and distributes these chunks evenly across disks in a disk group. This is called ASM striping. Striping helps balancing load and reducing I/O latency.
There two types of stripe size
Fine-grained Stripe Size: The chunk size is always equal to 128 KB. This mode is used for small I/O operations like control file I/O.
Coarse-grained Stripe Size: The chunk size is always equal to disk group AU size. This mode is used for relatively large I/O operations like data file I/O. This is the most common used stripe size.
Let's shortly review the concepts we've learned.
* Allocation Unit is the minimum space that can be allocated on an ASM disk.
* ASM file extent is the minimum space that can be allocated for an ASM file.
* A chunk is the fundamental part of ASM striping mechanism. Chunks are distributed across all disks in a disk group.
* ASM file extent is the minimum space that can be allocated for an ASM file.
* A chunk is the fundamental part of ASM striping mechanism. Chunks are distributed across all disks in a disk group.
6. ASM Instance
ASM has its own instance, which has the same technology of a database instance. It has its own SGA and background processes. However its SGA is smaller than a database instance because it has fewer tasks to perform.
The responsibilities of an ASM instance are:
a. Mounting disk groups and making them available to database instance.
b. Managing metadata of disk groups
c. Providing layout information of disks to database instance.
Without ASM instance, a database instance is unaware of physical location of database files on disk.
b. Managing metadata of disk groups
c. Providing layout information of disks to database instance.
Without ASM instance, a database instance is unaware of physical location of database files on disk.
.........................................................................................................................................................................
.........................................................................................................................................................................
In detail about ASM Instances...
ASM Instance | |
We've shortly explained ASM Instance in ASM concepts article. Now we'll explore ASM instance in details.
ASM instance is started from the Grid Infrastructure (GI) home. The path of GI home can be seen in "/etc/oratab" file.
The name of the ASM instance is "+ASM". If it a cluster, then the name of ASM instance will be "+ASM" (+ASM1,+ASM2 ...)
ASM instance is started from the Grid Infrastructure (GI) home. The path of GI home can be seen in "/etc/oratab" file.
The name of the ASM instance is "+ASM". If it a cluster, then the name of ASM instance will be "+ASM
1
2
3
| # less /etc/oratab | grep +ASM +ASM:/u01/app/grid/11.2.0.2:N |
SPFILE
Like a database instance, ASM instances also require an initialization file. (More information on spfile.)
You can store spfile in a raw device, cluster file system or ASM disk group. Oracle recommends storing spfile in a disk group.
During startup, Oracle searches for the spfile in the order below:
1. In a RAC (Real Application Clusters) environment the path is retrieved from the Grid Plug and Play profile (GPnP). GPnP is an XML file that stores the configuration information related to Grid Infrastructure like virtual ips, public ips etc. It also stores the spfile path and disk discovery path, which are used during startup.
GPnP is identical in all nodes of a cluster and it is stored under "/gpnp//profiles/peer/profile.xml"
If it is a single instance configuration, the path of spfile is retrieved from the OLR (Oracle Local Registry). OLR is a binary file. It contains similar configuration data as GPnP profile. The path of OLR is kept in "/etc/oracle/olr.loc" file.
2. If spfile path is not set in GPnP profile or OLR, then it is searched under GI home. The path of spfile should be "$ORACLE_HOME/dbs/spfile+ASM.ora"
3. If no spfile exists then pfile is searched under GI home. The path of pfile should be "$ORACLE_HOME/dbs/init+ASM.ora"
* If you use an instance parameter which is specific to RDBMS instances in an ASM instance, you'll get ORA-15021 (parameter "string" is not valid in string instance) error.
Tools For Administering ASM Instances
1. SQL*Plus: This is the standard tool that you can use for database and ASM instances.
a. Set the ORACLE_HOME environment variable to GI home.
b. Set the ORACLE_SID environment variable to ASM instance name.
c. Connect to ASM instance with SYSASM privileges.
Like a database instance, ASM instances also require an initialization file. (More information on spfile.)
You can store spfile in a raw device, cluster file system or ASM disk group. Oracle recommends storing spfile in a disk group.
During startup, Oracle searches for the spfile in the order below:
1. In a RAC (Real Application Clusters) environment the path is retrieved from the Grid Plug and Play profile (GPnP). GPnP is an XML file that stores the configuration information related to Grid Infrastructure like virtual ips, public ips etc. It also stores the spfile path and disk discovery path, which are used during startup.
GPnP is identical in all nodes of a cluster and it is stored under "
If it is a single instance configuration, the path of spfile is retrieved from the OLR (Oracle Local Registry). OLR is a binary file. It contains similar configuration data as GPnP profile. The path of OLR is kept in "/etc/oracle/olr.loc" file.
2. If spfile path is not set in GPnP profile or OLR, then it is searched under GI home. The path of spfile should be "$ORACLE_HOME/dbs/spfile+ASM.ora"
3. If no spfile exists then pfile is searched under GI home. The path of pfile should be "$ORACLE_HOME/dbs/init+ASM.ora"
* If you use an instance parameter which is specific to RDBMS instances in an ASM instance, you'll get ORA-15021 (parameter "string" is not valid in string instance) error.
Tools For Administering ASM Instances
1. SQL*Plus: This is the standard tool that you can use for database and ASM instances.
a. Set the ORACLE_HOME environment variable to GI home.
b. Set the ORACLE_SID environment variable to ASM instance name.
c. Connect to ASM instance with SYSASM privileges.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| $ export ORACLE_HOME=/u01/app/grid/11.2.0.2 $ export ORACLE_SID=+ASM $ sqlplus / as sysasm SQL*Plus: Release 11.2.0.2.0 Production on Wed Dec 28 14:22:20 2011 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Automatic Storage Management option SQL> show parameter instance_type ; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ instance_type string asm |
2. Enterprise Manager: Enterprise Manager also lets you manage ASM instances through its GUI.
3. SRVCTL: This "server control" command line tool lets you control ASM instances along with database instances.
4. ASMCA: ASM Configuration Assistant. This GUI program lets you manage disk groups and volumes.
ASM Authentication
Oracle has introduced a new privilege called "SYSASM" for ASM instance that has full rights. You should connect "AS SYSASM" with SQL*Plus for administering ASM instances. SYSDBA privilege can also be used for administering an ASM instance but its rights are limited than SYSASM privilege.
You can connect to an ASM instance using SQL*Plus in 3 ways. (More information on authentication)
1. Local Connection Using OS Authentication
OSASM (Operating System ASM) group is a theoretical concept. Members of those groups are granted SYSASM privilege. In a default installation in Linux environment, the "DBA" group is OSASM. Shortly, if any OS user is a member of DBA group, he can connect to the ASM instance with SYSASM privileges.
Oracle also allows you to separate OSASM group from OSDBA group. Members of OSASM group will have SYSASM privilege while members of OSDBA group will have SYSDBA privilege.
2. Local Connection Using a Password File
Like a database instance, ASM instances can have a password file and it allows you to add new users to the password file. If you use ASMCA for creating disk groups, ASMCA creates a password file implicitly. As a default, user SYS is added to password file.
3. SRVCTL: This "server control" command line tool lets you control ASM instances along with database instances.
4. ASMCA: ASM Configuration Assistant. This GUI program lets you manage disk groups and volumes.
ASM Authentication
Oracle has introduced a new privilege called "SYSASM" for ASM instance that has full rights. You should connect "AS SYSASM" with SQL*Plus for administering ASM instances. SYSDBA privilege can also be used for administering an ASM instance but its rights are limited than SYSASM privilege.
You can connect to an ASM instance using SQL*Plus in 3 ways. (More information on authentication)
1. Local Connection Using OS Authentication
OSASM (Operating System ASM) group is a theoretical concept. Members of those groups are granted SYSASM privilege. In a default installation in Linux environment, the "DBA" group is OSASM. Shortly, if any OS user is a member of DBA group, he can connect to the ASM instance with SYSASM privileges.
Oracle also allows you to separate OSASM group from OSDBA group. Members of OSASM group will have SYSASM privilege while members of OSDBA group will have SYSDBA privilege.
2. Local Connection Using a Password File
Like a database instance, ASM instances can have a password file and it allows you to add new users to the password file. If you use ASMCA for creating disk groups, ASMCA creates a password file implicitly. As a default, user SYS is added to password file.
1
| sql> select * from v$pwfile_users ; |
USERNAME | SYSDBA | SYSOPER | SYSASM |
---|---|---|---|
SYS | TRUE | TRUE | TRUE |
ASMSNMP | TRUE | FALSE | FALSE |
Enterprise Manager uses password file authentication for managing an ASM instance. The ASMSNMP user is used for monitoring ASM instances.
3. Remote Connection Using Oracle NET and Password File
It is possible to connect to an ASM instance remotely using Oracle NET.
There must be at least one listener running on host server and ASM instance should be registered to that listener.
3. Remote Connection Using Oracle NET and Password File
It is possible to connect to an ASM instance remotely using Oracle NET.
There must be at least one listener running on host server and ASM instance should be registered to that listener.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| $ lsnrctl status LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 28-DEC-2011 17:36:08 Copyright (c) 1991, 2010, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=mykey))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production Start Date 07-SEP-2011 11:37:10 Uptime 112 days 6 hr. 58 min. 57 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/grid/11.2.0.2/network/admin/listener.ora Listener Log File /u01/app/diag/tnslsnr/ Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=mykey))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "testdb" has 1 instance(s). Instance "testdb", status READY, has 1 handler(s) for this service... The command completed successfully |
As seen in the output the listener named "LISTENER" is running and service "+ASM" is registered with this listener.
Now I can connect to this "+ASM" instance from any client.
Now I can connect to this "+ASM" instance from any client.
1
2
3
4
5
6
7
8
9
| $ sqlplus sys/ SQL*Plus: Release 11.2.0.1.0 Production on Per Ara 29 10:37:13 2011 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Automatic Storage Management option |
ASM_MYDB is the net service name defined in client. It equals to:
1
2
3
4
5
6
7
8
9
10
11
12
| ASM_MYDB= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST= (PORT=1632) ) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=+ASM) ) ) |
INSTANCE_TYPE Parameter
This parameter shows the type of the instance. For ASM instances this value is "ASM" while the value for database instances is "RDBMS"
Starting Up an ASM Instance
You can start up an ASM instance like you start a database instance. Connect to the ASM instance using SQL*Plus as explained at the beginning of the article and execute STARTUP command.
This parameter shows the type of the instance. For ASM instances this value is "ASM" while the value for database instances is "RDBMS"
Starting Up an ASM Instance
You can start up an ASM instance like you start a database instance. Connect to the ASM instance using SQL*Plus as explained at the beginning of the article and execute STARTUP command.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| $ sqlplus / as sysasm SQL*Plus: Release 11.2.0.2.0 Production on Mon Jan 2 15:10:10 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ASM instance started Total System Global Area 283930624 bytes Fixed Size 2225792 bytes Variable Size 256539008 bytes ASM Cache 25165824 bytes ASM diskgroups mounted ASM diskgroups volume enabled |
First, the ASM instance is started and then the ASM disk groups are mounted. An ASM instance cannot be mounted or opened because there is no control file or data files like database instances. (More information on how a database is opened)
1
2
3
4
5
6
| SQL> select open_mode from v$database ; select open_mode from v$database * ERROR at line 1: ORA-01507: database not mounted |
However, Oracle allows you to execute "startup mount" or "startup open" commands but these just start the instance in nomount mode and mounts the disk groups.
It is also possible to start an asm instance using srvctl command. As oracle user enter command below:
It is also possible to start an asm instance using srvctl command. As oracle user enter command below:
1
| $ srvctl start asm |
Srvctl also allows you to view current configuration for ASM instance.
1
2
3
4
5
6
| $ srvctl config asm ASM home: /u01/app/grid/11.2.0.2 ASM listener: LISTENER Spfile: +ORADATA/asm/asmparameterfile/registry.253.732454605 ASM diskgroup discovery string: /dev/mapper/* |
Shutting Down An ASM Instance
You can shutdown an ASM instance using SQL*Plus. You should stop any database instance that uses ASM before shutting down because after you shutdown the ASM instance they'll no longer have access to data files.
If you try to shutdown an ASM instance that is used by a database instance you'll get the error below:
You can shutdown an ASM instance using SQL*Plus. You should stop any database instance that uses ASM before shutting down because after you shutdown the ASM instance they'll no longer have access to data files.
If you try to shutdown an ASM instance that is used by a database instance you'll get the error below:
1
2
3
| SQL> shutdown normal ; ORA-15097: cannot SHUTDOWN ASM instance with connected client (process 31391) |
However you can shutdown the ASM instance with ABORT option. This will cause ASM instance and relevant database instances abort.
1
2
3
4
5
6
7
| SQL> shutdown abort ; ASM instance shutdown $ srvctl status database -d TESTDB Database is not running. |
The abort option implicitly aborted the database instance.
1
2
3
| $ srvctl status database -d TESTDB -v Database is not running. |
Again you can use srvctl (server control) to shut an asm instance down.
1
| $ srvctl stop asm |
=========================================================================================
ASM Disk Groups | |
Meta Data of the disk groups are stored in header section of ASM disks. Every disk group has several attributes that define them. The values of these attributes are stored in disks headers. Here are some of these attributes:
AU_SIZE: Allocation Unit size in bytes. This can only be set during disk group creation. Oracle recommends this to be 4 MB. (More information on ASM au_size)
COMPATIBLE.ASM: The minimum version of ASM instances that can mount this disk group. Set this attribute with caution. If you set this to a higher value than your ASM instance version, your asm instance cannot use this disk group.
COMPATIBLE.RDBMS: If a database instance wants to use this disk group, that database instance's "COMPATIBLE" version should be equal or higher than value of this COMPATIBLE.RDBMS attribute.
SECTOR_SIZE: Setting this attribute is optional when creating a disk group. You can set the sector size of the hard disks that make up a disk group. For today, most of the hard disks have a sector size of 512 bytes but disks with 4K are also produced. If you omit this attribute Oracle will detect the sector size of disks automatically and implicitly set this attribute. The sector size of disks in a disk group should be identical.
You can view the attributes for the disk groups by querying V$ASM_DISKGROUP view. All the views of an ASM instance are dynamic views (starting with v$) because there is neither static data dictionary nor database. ASM is just an instance. (More information on ASM instance)
1
2
3
4
5
6
| sql> SELECT name, compatibility, database_compatibility, sector_size, allocation_unit_size FROM v$asm_diskgroup ; |
NAME | COMPATIBILITY | DATABASE_COMPATIBILITY | SECTOR_SIZE | ALLOCATION_UNIT_SIZE |
---|---|---|---|---|
FRA | 11.2.0.0.0 | 11.2.0.0.0 | 512 | 1048576 |
ORADATA | 11.2.0.0.0 | 11.2.0.0.0 | 512 | 1048576 |
Creating Disk Groups
* A disk can only be a member of a single disk group.
* You can create disk group in 3 ways. Using "CREATE DISKGROUP" SQL statement, using ASM Configuration Assistant (ASMCA) or Enterprise Manager.
* Some attributes can only be set during creation. Be sure to set them correctly during disk group creation. Such attributes are called read only attributes. They can be seen through V$ASM_ATTRIBUTE view.
1
2
3
4
5
6
| sql> SELECT distinct name from v$asm_attribute where read_only='Y' ; NAME ------------- au_size sector_size |
Adding a New Disk To An Existing Disk Group
To add a new disk, you have to have a disk which resides under disk discovery path. The disk discovery path is determined by "asm_diskstring" instance parameter of ASM instances. V$ASM_DISK view shows the disks under disk discovery path. If a disk is available for being added to a disk group, it is listed as "candidate".
Example: I have a disk group named ORADATA whose disk group number is 2. Every disk group is given a unique disk group number while it is mounted. However these group numbers are not static. They may change at further mount operations.
1
2
3
4
5
6
7
| sql> SELECT group_number FROM v$asm_diskgroup WHERE name = 'ORADATA' ; GROUP_NUMBER ------------ 2 |
The disk group "ORADATA" is composed of two disks which has 250 GB size each.
1
2
3
| sql> SELECT name, PATH, total_mb FROM v$asm_disk WHERE group_number = 2 ; |
NAME | PATH | TOTAL_MB |
---|---|---|
ORADATA_0000 | /dev/mapper/disk_oracle_TEST_ORADATA1p1 | 255996 |
ORADATA_0001 | /dev/mapper/disk_oracle_TEST_ORADATA2p1 | 255996 |
Now I have to find a "candidate" disk under disk discovery path. First, I connect to ASM instance and get the "asm_diskstring" parameter's value.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| $ sqlplus / as sysasm SQL*Plus: Release 11.2.0.2.0 Production on Thu Jan 19 20:30:03 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options SQL> show parameter asm_diskstring ; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ asm_diskstring string /dev/mapper/* |
Now I'll list the available disks for adding.
1
2
3
| sql> SELECT path,OS_MB FROM v$asm_disk WHERE header_status = 'CANDIDATE' ; |
PATH | OS_MB |
---|---|
/dev/mapper/disk_oracle_RAW_VOT2 | 1024 |
/dev/mapper/disk_oracle_RAW_VOT3 | 1024 |
/dev/mapper/disk_oracle_RAW_VOT1 | 1024 |
For demonstration purposes I'll add the disk named "/dev/mapper/disk_oracle_RAW_VOT1" with 1 GB size to disk group "ORADATA".
1
2
3
| SQL> alter diskgroup ORADATA add disk '/dev/mapper/disk_oracle_RAW_VOT1' ; Diskgroup altered. |
Now, disk group ORADATA has 3 disks. Oracle automatically named the new disk but you can also name it yourself if you want.
1
2
3
| sql> SELECT name, PATH, total_mb FROM v$asm_disk WHERE group_number = 2 ; |
NAME | PATH | TOTAL_MB |
---|---|---|
ORADATA_0000 | /dev/mapper/disk_oracle_TEST_ORADATA1p1 | 255996 |
ORADATA_0001 | /dev/mapper/disk_oracle_TEST_ORADATA2p1 | 255996 |
ORADATA_0002 | /dev/mapper/disk_oracle_RAW_VOT1 | 1024 |
Dropping a Disk From A Disk Group
You can drop a disk from an existing disk group. File extents are distributed evenly among disks in a disk group. If you drop a disk, then Oracle will distribute the extents in that disk to other disks in that group.
Now I'll connect to ASM instance and drop the disk that I've added previously.
1
2
3
4
5
6
7
| sql> SELECT total_mb - free_mb AS data_size FROM v$asm_disk WHERE PATH = '/dev/mapper/disk_oracle_RAW_VOT1' DATA_SIZE ---------- 729 |
The disk I am going to drop is containing 729 MB data.
1
2
3
| SQL> alter diskgroup oradata drop disk 'ORADATA_0002' ; Diskgroup altered. |
The command has completed successfully. But this does not mean that the disk is dropped completely. Before dropping the disk, Oracle has to distribute the data. For now, the disk is still a member of the disk group.
1
2
3
| sql> SELECT header_status,state FROM v$asm_disk WHERE PATH = '/dev/mapper/disk_oracle_RAW_VOT1' ; |
HEADER_STATUS | STATE |
---|---|
MEMBER | DROPPING |
The state of the disk turned into "DROPPING" from "NORMAL".
After a while Oracle has completed the process. Now, the state of the disk turned into "NORMAL" again but this time the drop operation has been fully completed and the disk is listed as a "FORMER" disk.
1
2
3
| sql> SELECT header_status,state FROM v$asm_disk WHERE PATH = '/dev/mapper/disk_oracle_RAW_VOT1' ; |
HEADER_STATUS | STATE |
---|---|
FORMER | NORMAL |
No comments:
Post a Comment