Friday, July 25, 2008

Oracle:ASM

ASM is self managing capability within oracle kernel
ASM has a special purpose instance called ASM Instance.
An ASM instance never actually opens a database; instead, it is responsible for storing and processing the metadata that is required to make available the files stored within the ASM storage system to non-ASM Oracle databases.
It is used to manage disk group activity.
Take 64 MB from SGA
ASM Instance creates & manage Extant map
ASM Instance must be started before database instance can access data files in disk group
All ASM management command are handled by ASM instance and not by database instance
Apart from other background process like ckpt,pmon,smon,dbwr etc. Each ASM Instance should have two new background process
RBAL----Rebalncer Process----Coordinate rebalance activity
ARBn----Actual Rebalancer Process---actually does the rebalance actiivty at extent level
ASM is only specific to oracle files
Redundancy: External, Normal and High
Since ASM handles the mirroring of data, there is no need to purchase a third-party Logical Volume Manager (LVM). Mirroring is applied on a file-by-file basis, rather than on a per-volume basis, so the same disk group may contain a combination of files protected by mirroring (or perhaps not even mirrored at all, if mirroring is not required for some files).
ASM is responsible for providing equal distribution of I/O loads across all available disk storage resources, so there is a measurable performance improvement. For example, ASM will split a data file into its component extents and then spread those extents evenly across all defined disks that ASM is managing; those extents are then tracked via an indexing technique.
when ASM storage capacity changes, ASM doesn't need to re-stripe all data - it just moves enough data in proportion to the amount of added (or reduced!) storage, thus redistributing the data file’s extents evenly and keeping a balanced data load across all disks. Moreover, since ASM can accomplish the rebalancing act while the database is active, there is virtually no impact on database availability. I can also instruct ASM to increase the speed of a space rebalancing operation if I know that sufficient system resources are available, or I can tell ASM to reduce the speed of the rebalancing operation to limit the impact on the ASM I/O subsystem.

ASM Power takes parameter from 1-11 where 1 is being default and has less effect on I/O while rebalancing activity is performed.
Every database instance that uses ASM for file storage will also need two new processes. The Rebalancer background process (RBAL) handles global opens of all ASM disks in the ASM Disk Groups, while the ASM Bridge process (ASMB) connects as a foreground process into the ASM instance when the regular database instance starts. ASMB facilitates communication between the ASM instance and the regular database; including handling physical file changes like data file creation and deletion.
ASMB exchanges messages between both servers for statistics update and instance health validation
ALTER SYSTEM ENABLE RESTRICTED SESSION; command to prevent database instances from accessing ASM disk groups while maintenance is being performed against the ASM instance or any ASM disk groups.
Issuing the ALTER SYSTEM DISABLE RESTRICTED SESSION; command re-enables access to the ASM instance.
ASM use a storage Hierarchy:
A smallest unit is AU ( Allocation unit) Each allocation unit is 1 MB in size. So all ASM disk is partiaitoned in 1MB block and a block never spans a AU.
ASM Files: Next in the hierarchy are the actual ASM files themselves. With the exception of trace files and operating system files, ASM can store every type of Oracle database file, including control files, server parameter files (SPFILEs), data files, temp files, online redo logs, archived redo logs, flashback logs, DataPump dump sets. In addition, ASM can store all types of files managed by Recovery Manager (RMAN), including backup sets, archived redo log image copies, datafile image copies, and auto backups.
ASM Disk Group

References and Additional Reading
B10739-01 Oracle Database Administrator's Guide, Chapter 12
B10743-01 Oracle Database Concepts, Chapter 14
B10755-01 Oracle Database Reference
B10759-01 Oracle Database SQL Reference

No comments: