ASM-basics _a must know facts
Oracle ASM is Oracle’s volume manager specially designed for Oracle database data. It is available since Oracle database version 10g and many improvements have been made in versions 11g release 1 and 2 and 12c...
ASM is shipped as part of the database server software (Enterprise and Standard editions) and does not cost extra money to run
Do not mount the database but manage metadata required to make ASM files available for DB instances
DB Instance access ASM files directly and contact ASM instance only for the layout of ASM files
RBAL – Oracle background process. In an ASM instance coordinated rebalancing operations. In a DB instance, opens and mount diskgroups from the local ASM instance.
ARBx – Oracle backgroud processes. In an ASM instance, a slave for rebalancing operations
PSPx – Oracle backgroud processes. In an ASM instance, Process Spawners
GMON – Oracle backgroud processes. In an ASM instance, diskgroup monitor.
ASMB – Oracle background process. In an DB instance, keeps a (bequeath) persistent DB connection to the local ASM instance. Provides heart-beat and ASM statistics. During a diskgroups rebalancing operation ASM communicates to the DB AU changes via this connection.
O00x – Oracle backgroud processes. Slaves used to connected from the DB to the ASM instance for ‘short operations’.
Main ASM instance initialization parameters-
INSTANCE_TYPE – Set to ASM or RDBMS depending on the instance type. The default is RDBMS.
DB_UNIQUE_NAME – Specifies a globally unique name for the database. This defaults to +ASM but must be altered if you intend to run multiple ASM instances.
ASM_POWER_LIMIT -The maximum power for a rebalancing operation on an ASM instance. The valid values range from 1 to 11, with 1 being the default. The higher the limit the more resources are allocated resulting in faster rebalancing operations. This value is also used as the default when the POWER clause is omitted from a rebalance operation.
ASM_DISKGROUPS – The list of disk groups that should be mounted by an ASM instance during instance startup, or by the ALTER DISKGROUP ALL MOUNT statement. ASM configuration changes are automatically reflected in this parameter.
ASM_DISKSTRING – Specifies a value that can be used to limit the disks considered for discovery. Altering the default value may improve the speed of disk group mount time and the speed of adding a disk to a disk group. Changing the parameter to a value which prevents the discovery of already mounted disks results in an error. The default value is NULL allowing all suitable disks to be considered.
The ASM instance creates an extent map which has a pointer to each 1MB extent of the data file is located. When a database instance creates or opens a database file that is managed by ASM, the database instance messages the ASM instance and ASM returns an extent map for that file.
Three things might cause the extent map for a database instance to be updated: 1) Rebalancing the disk layout following an storage configuration change (adding or dropping a disk from a disk group), 2) Opening of a new database file and 3) extending an existing database file when a tablespace is enlarged.
What is Failure groups
They are defined within a disk group to support the required level of redundancy. For two-way mirroring you would expect a disk group to contain two failure groups so individual files are written to two locations.
Generally speaking one should have only one disk group for all database files – and, optionally a second for recovery files i.e +DATA for datafile and +FRA for Recovery files
ASM offers two types of striping, with the choice depending on the type of database file.
Coarse striping uses a stripe size of 1MB, and you can use coarse striping for every file in your database, except for the control files, online redo log files, and flashback files.
Fine striping uses a stripe size of 128KB. You can use fine striping for control files, online redo log files, and flashback files.
Files stored in Oracle ASM diskgroup/Oracle ASM file structures include:
1) Datafile
2) Controlfiles
3) Server Parameter Files(SPFILE)
4) Redo Log files
Once the ASM file is created in ASM diskgroup, a filename is generated. This file is now visible to the user via the standard RDBMS view V$DATAFILE.
ASM metadata is the information that ASM uses to control the disk group.It is present within a disk group.
An ASM metadata includes the following:
1) The disks that belong to a disk group
2) Amount of space available within a disk group
3) The filenames of the files within a disk group
4) The location of disk group datafile data extents
5) A redo log that records information about automatically changing data blocks
What is oracle ASM filter driver?
Oracle ASM filter driver is a new feature in Oracle database 12c release 2 12.1.0.2. As an abbreviation this is called Oracle ASMFD that happens to be a kernel module. this kernel modules is included in path of I/O path of oracle asm disks. this module is included to protect the underlying ASM disks from unnecessary typically non-oracle writes related I/O operations which in turn protects disks from being corrupt
Oracle ASMFD is a kernel module that resides in the I/O path of the Oracle ASM disks. ASMFD uses the filter driver to validate write I/O requests to Oracle ASM disks. Any write I/O requests that are not issued by Oracle software (e.g. using dd command) are not committed to ASM disks. Thus it helps to prevent users, including those with administrative privileges, from inadvertently overwriting Oracle ASM disks, thereby preventing corruption of the data stored on ASM disk(s) within the disk group(s). In case ASM disks have been configured on disk partitions, the filter protects the area on the disk managed by Oracle ASMFD, assuming the partition table is left untouched by the user.
Besides, Oracle ASMFD eliminates the need to rebind disk devices used with Oracle ASM each time the system is restarted.
If you have an existing Oracle ASM library driver (Oracle ASMLIB) configuration, and you want to employ ASMFD, you would need to configure Oracle ASMFD. This will remove Oracle ASMLIB and Oracle ASM devices will be configured to use Oracle ASMFD.
rolling upgrade- A patch is considered a rolling if it is can be applied to the cluster binaries without having to shutting down the database in a RAC environment. All nodes in the cluster are patched in a rolling manner, one by one, with only the node which is being patched unavailable while all other instance open.
1) Normal for 2-way mirroring – When ASM allocates an extent for a normal redundancy file; ASM allocates a primary copy and a secondary copy. ASM chooses the disk on which to store the secondary copy in a different failure group other than the primary copy.
2) High for 3-way mirroring. In this case the extent is mirrored across 3 disks.
3)External to not use ASM mirroring. This is used if you are using Third party Redundancy mechanism like RAID, Storage arrays.
4)FLEX redundancy
The redundancy of a flex disk group is FLEX REDUNDANCY and each file group in the flex disk group has its own redundancy. -> A flex disk group requires a minimum of three failure groups and tolerates failure like NORMAL redundancy. -> A flex disk group generally tolerates two failures, the same as a HIGH redundancy if there are five failure groups
5)EXTENDED redundancy
Extended redundancy. Oracle ASM provides two-way mirroring by default. The redundancy setting describes redundancy within a data site. For example: If there is a two-way mirrored file in a two-data-site extended disk group, then there are four copies of the file, two in each data site
No, we cannot modify the redundancy for Diskgroup once it has been created. To alter it we will be required to create a new Diskgroup and move the files to it. This can also be done by restoring full backup on the new Diskgroup.
ASM Rebalancing -The rebalancing speed is controlled by the ASM_POWER_LIMIT initialization parameter. Setting it to 0 will disable disk rebalancing.
Files stored in Oracle ASM diskgroup/Oracle ASM file structures include:
1) Datafile
2) Controlfiles
3) Server Parameter Files(SPFILE)
4) Redo Log files
Once the ASM file is created in ASM diskgroup, a filename is generated. This file is now visible to the user via the standard RDBMS view V$DATAFILE.
ASM filename syntax is given below
+diskgroup_name/database_name/database_file_type/tag_name.file_number.incarnation
An incarnation number is a part of ASM filename syntax. It is derived from the time stamp. Once the file is created, its incarnation number doesn’t change.
Does ASM instance automatically rebalances and takes care of hot spots?
No. This is a myth and ASM does not do it. It will initiate automatic rebalance only when a new disk is added to Diskgroup or we drop a disk from existing Diskgroup.
kfed is a utility which can be used to view the ASM Disk information. Syntax for using it is
kfed read devicename