Monday 13 February 2012

ASM configuration on Oracle 10g R2

ASM Instance configuration...

Automatic Storage Management (ASM) is a new feature included in Oracle Database 10g that helps busy DBA's from manually managing and tuning disks used by Oracle databases. ASM provides the DBA with a file system and volume manager that makes use of an Oracle instance (referred to as an ASM instance) and can be managed using either SQL or Oracle Enterprise Manager.

Only one ASM instance is required per node. The same ASM instance can manage ASM storage for all 10g databases running on the node.

When the DBA installs the Oracle Database 10g software and creates a new database, creating an ASM instance is a snap. The DBCA provides a simple check box and an easy wizard to create an ASM instance as well as an Oracle database that makes use of the new ASM instance for ASM storage. But, what happens when the DBA is migrating to Oracle Database 10g or didn't opt to use ASM when a 10g database was first created. The DBA will need to know how to manually create an ASM instance and that is what this article provides

We can implement ASM using following two methods:
ASM with ASMLib I/O: This method creates all Oracle database files on raw block devices managed by ASM using ASMLib calls. RAW devices are not required with this method as ASMLib works with block devices.

ASM with Standard Linux I/O: This method creates all Oracle database files on raw character devices managed by ASM using standard Linux I/O system calls. You will be required to create RAW devices for all disk partitions used by ASM
However, for this post we will use ASM Lib

1:- Install ASMLib RPM,s of your machine/OS architecture. You can download those from following location:

1:- Oracle-support-<kernal>.rpm is  oracleasm-support-2.1.7-1.el5.i386.rpm
2:- Oracleasmlib-<kernal>.rpm is    oracleasmlib-2.0.4-1.el5.i386.rpm
3:- Oracleasm-<kernal>.rpm is       oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm

To install these, RPMS, Please use following command
rpm -Uvh \oracleasm-support-<kernal>.rpm \oracleasmlib-<kernal> \oracleasm-<kernal>
               

2:- Now,Second, we need to run CSSD. Using Oracle 10g Release 2 we can achive this by running
                Automatic Storage Management (ASM) requires the use of Oracle Cluster Synchronization Services (CSS), and as such, CSS must be configured and running before attempting to use ASM. The CSS service is required to enable synchronization between an ASM instance and the database instances that rely on it for database file storage.
In a non-RAC environment, the Oracle Universal Installer will configure and start a single-node version of the CSS service. For Oracle Real Application Clusters (RAC) installations, the CSS service is installed with Oracle Cluster Ready Services (CRS) in a separate Oracle home directory (also called the CRS home directory). For single-node installations, the CSS service is installed in and runs from the same Oracle home as the Oracle database.



    $ORACLE_HOME/bin/localconfig all
                /etc/oracle does not exist. Creating it now.
                Successfully accumulated necessary OCR keys.
                Creating OCR keys for user 'root', privgrp 'root'..
                Operation successful.
                Configuration for local CSS has been initialized

                Adding to inittab
                Startup will be queued to init within 90 seconds.
                Checking the status of new Oracle init process...
                Expecting the CRS daemons to be up within 600 seconds.

                CSS is active on these nodes.
        linux4
                CSS is active on all nodes.
                Oracle CSS service is installed and running under init(1M)

                to stop CSS, We can use following commaind on Linux
                /etc/ini.d/init.cssd stop
                and to restart it we can use either of command
                /etc/ini.d/init.cssd start
                                or
                $ORACLE_HOME/bin/oracleasm reset

Now! We are ready to use ASM utility of Oracle. Unlike traditional Database(s) that use disk drives to store Oracle related files, any Database trying to use ASM facility should have access to up and running ASM instance.ASM is just like any another instance but with a very limited parameters. A typical pfile of ASM contains following parameters only:

[oracle@PSLinux dbs]$ cat init+ASM.ora
+ASM.asm_diskgroups='DISK1'#Manual Mount
*.asm_diskgroups='DISK1'
*.background_dump_dest='/Soft/oracle/admin/+ASM/bdump'
*.core_dump_dest='/Soft/oracle/admin/+ASM/cdump'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='SHARED'
*.user_dump_dest='/Soft/oracle/admin/+ASM/udump'
[oracle@PSLinux dbs]

But before we proceed with ASM instance creation, we need to do some home work. ASM instance uses Disk(s)  (On Linux Un-Mounted partitioned).  To use, First we need to configure ASM Library drivers

# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.

Default user to own the driver interface []:                                                          oracle
Default group to own the driver interface []:                                                       oracle
Start Oracle ASM library driver on boot (y/n) [n]:                                                y
Fix permissions of Oracle ASM disks on boot (y/n) [y]:                                     y
Writing Oracle ASM library driver configuration:                                                  [  OK  ]
Creating /dev/oracleasm mount point:                                                                  [  OK  ]
Loading module "oracleasm":                                                                                [  OK  ]
Mounting ASMlib driver filesystem:                                                                       [  OK  ]
Scanning system for ASM disks:                                                                          [  OK  ]

# /etc/init.d/oracleasm createdisk VOL1 /dev/ASM2
Marking disk "/dev/ASM2" as an ASM disk:                                                         [  OK  ]

# /etc/init.d/oracleasm listdisks
VOL1

Now! After this you need to run DBCA and configure ASM instance.  The steps are easy to follow and easy to understand.
Once ASM instance is ready, all we need is to opt for “Automatic Storage Management” radio button and provide password of ASM instance in step 6 of DBCA.

Rest is absolutely same.

Any comment ,suggestion are welcome.