Configuration example of Oracle ASM on Solaris.
The following system will be used in this example: Sun T5220 with attached 6140 array, Solaris 10 (10/08) and Oracle 11.
Briefly, Oracle Database installation steps can be performed as five separate steps:
-
Install Oracle binaries only
-
Install Oracle patchset
-
Configuring ASM
-
Configuring Listener
-
Database Creation
In this post I will show you the steps necessary to create ASM (step 3). Each step is accomplished with it's screenshot.
-
Start dbca and choose “Configure Automatic Storage Management”
$ dbca
-
Before using ASM you will be asked to configure Oracle Cluster Synchronization Service (CSS).
-
Login as root at execute required script:
bash-3.00# /oracle/database/product/10.2.0/bin/localconfig add
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized
Cleaning up Network socket directories
Setting up Network socket directories
Adding to inittab
Feb 16 02:04:24 rac10 root: Oracle Cluster Synchronization Service starting by user request.
Startup will be queued to init within 30 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
Feb 16 02:04:24 rac10 root: Cluster Ready Services completed waiting on dependencies.
Cluster Synchronization Services is active on these nodes.
rac10
Cluster Synchronization Services is active on all the nodes.
Oracle CSS service is installed and running under init(1M)
|
-
After the script will complete continue to next step and enter desired password for ASM instance. I choose 'oracle'.
-
Proceed with ASM instance creation.
-
Now we can check that ASM instance is running:
bash-3.00# ps -ef|grep ASM
oracle 8438 1 0 02:10:09 ? 0:00 asm_vktm_+ASM
oracle 8719 8378 0 02:12:08 ? 0:00 oracle+ASM (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 8435 1 0 02:10:09 ? 0:00 asm_pmon_+ASM
oracle 8446 1 0 02:10:09 ? 0:00 asm_dia0_+ASM
oracle 8442 1 0 02:10:09 ? 0:00 asm_diag_+ASM
oracle 8444 1 0 02:10:09 ? 0:00 asm_psp0_+ASM
oracle 8448 1 0 02:10:09 ? 0:00 asm_mman_+ASM
oracle 8450 1 0 02:10:09 ? 0:00 asm_dbw0_+ASM
oracle 8452 1 0 02:10:09 ? 0:00 asm_lgwr_+ASM
oracle 8454 1 0 02:10:09 ? 0:00 asm_ckpt_+ASM
oracle 8456 1 0 02:10:09 ? 0:00 asm_smon_+ASM
oracle 8458 1 0 02:10:09 ? 0:00 asm_rbal_+ASM
oracle 8460 1 0 02:10:09 ? 0:00 asm_gmon_+ASM
root 8833 734 0 02:13:03 console 0:00 grep ASM
|
-
When instance is up we need to create disk group(s).
-
If you will choose “Create New” then you may see that there are no candidate disks for new disk group.
-
We need to set oracle:dba ownership of the candidate disk. As root we will take partition s0 of disk c4t600A0B8000562790000005D04998C446d0.
bash-3.00# format
Searching for disks...done
c4t600A0B8000562790000005D04998C446d0: configured with capacity of 1024.00GB
AVAILABLE DISK SELECTIONS:
0. c1t0d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
/pci@0/pci@0/pci@2/scsi@0/sd@0,0
1. c1t1d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
/pci@0/pci@0/pci@2/scsi@0/sd@1,0
2. c4t600A0B80003391700000060A49963C06d0 <SUN-CSM200_R-0710-1.00TB>
/scsi_vhci/ssd@g600a0b80003391700000060a49963c06
3. c4t600A0B8000562790000005D04998C446d0 <SUN-CSM200_R-0710-1.00TB>
/scsi_vhci/ssd@g600a0b8000562790000005d04998c446
|
-
Default owner is root:sys needs to be changed to oracle:dba
bash-3.00# ls -lhL /dev/rdsk/c4t600A0B8000562790000005D04998C446d0s0 crw-r----- 1 root sys 118, 64 Feb 16 02:10 /dev/rdsk/c4t600A0B8000562790000005D04998C446d0s0 bash-3.00# chown oracle:dba /dev/rdsk/c4t600A0B8000562790000005D04998C446d0s0 bash-3.00# ls -lhL /dev/rdsk/c4t600A0B8000562790000005D04998C446d0s0 crw-r----- 1 oracle dba 118, 64 Feb 16 03:00 /dev/rdsk/c4t600A0B8000562790000005D04998C446d0s0 |
-
Going back to candidate disks and now we have our disk in the list.
-
Enter desired name for disk group and mark candidate disk. I will use External redundancy since I have external array.
-
Continue and finish ASM creation.
To check disk group status and size quickly use the following asm.sql query:
-bash-3.00$ cat asm.sql set linesize 132; |
Now you can move to database creation and using ASM storage.
Setup listerner by running
$ netca
Create database by running
$ dbca


Hey, this is a great blog.
Back in time I attempted to setup ASM, but extremely busy support schedules did not allow me enough time to put all the puzzle pieces together; that was the perfect project which would have benefit a lot with ASM. I suppose I can not go back in time :|
Again, this is a great help,
thank you Roman.
Posted by Moiz Ahmed on October 20, 2009 at 09:08 PM PDT #