Friday, June 20, 2008

ASM Creation (Windows)

You can follow this steps and create a ASM diskgroup on your local machine and play with it ( Windows)

1) Creating a dummy disks

F:\>mkdir asmdisks
F:\>cd asmdisks
F:\asmdisks>asmtool -create F:\asmdisks\ disk1 512
F:\asmdisks>asmtool -create F:\asmdisks\ disk2 512
F:\asmdisks>asmtool -create F:\asmdisks\ disk3 512

Now you have 3 disks(dummy) of 512mb each which can be used to create a ASM disk group.

2) Create ASM instance

a) Configure Cluster Synchronization Servie

C:\>c:\oracle\product\ 10.2.0\db_ 1\BIN\localconfi g add

Step 1: stopping local CSS stack
Step 2: deleting OCR repository
Step 3: creating new OCR repository
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'ap\arogyaa' , privgrp ''..
Operation successful.
Step 4: creating new CSS service
successfully created local CSS service
successfully reset location of CSS setup
b) Create Init pfile
Open notepad edit the following parameters and save file as "C:\oracle\product\ 10.2.0\db_ 1\database\ init+ASM. ora"
INSTANCE_TYPE= ASM
DB_UNIQUE_NAME= +ASM
LARGE_POOL_SIZE= 8M
ASM_DISKSTRING= 'F:\asmdisks\ *'
_ASM_ALLOW_ONLY_ RAW_DISKS= FALSE

c) Create service and password file
oradim will create an ASM instance and start it automatically.
c:\> orapwd file=C:\oracle\ product\10. 2.0\db_1\ database\ PWD+ASM.ora password=asm
c:\> oradim -NEW -ASMSID +ASM -STARTMODE auto

3) Create ASM disk group
a) Create asm disk group
SQL> select path, mount_status from v$asm_disk;
PATH MOUNT_S
------------ --------- --------- --
F:\ASMDISKS\ DISK1 CLOSED
F:\ASMDISKS\ DISK3 CLOSED
F:\ASMDISKS\ DISK2 CLOSED

SQL> create diskgroup data external redundancy disk
2 'F:\ASMDISKS\ DISK1',
3 'F:\ASMDISKS\ DISK2',
4* 'F:\ASMDISKS\ DISK3';
Diskgroup created.
b) Change PFILE to SPFILE, Add ASM Diskgroup parameter and your all set to go and use ASM.
SQL> create spfile from pfile;
SQL> startup force;
SQL> alter system set asm_diskgroups= data scope=spfile;
SQL> startup force;
SQL> startup force
ASM instance started
Total System Global Area 83886080 bytes
Fixed Size 1247420 bytes
Variable Size 57472836 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL>
Now you can go ahead and use your DBCA and create a database and on step 6 of 13, you can use Automatic Storage management as your Filesystem.

17 comments:

Unknown said...

Hi Anand,

The blog is very fine. I was trying to create a database using ASM. I have installed Oracle10g software only and I am trying your steps, while running asmtool at command prompt, but getting error

'asmtool' is not recognized as an internal or external command,
operable program or batch file.

Whats the solution for this. Kindly help me.

Thanks,
Ranganath

smitha sunil said...

Hi Anand, this is smitha here.
I am having oracle 10g release 1 on my laptop. I want to create asm instance. I read ur blog, when I tried to create a disk using the command asmtool I am getting the following error,
ASM-00100: Cluster services error [initialization]: 21 (1311719766 forced vacuo) plz., help me to solve this promblem.
Thanx,
smitha

Syed said...

Nice article-Keepup the good work!

Anand said...

Hi Anand,
A very useful note you have here. I referred to it in the past when I wanted to create 10g ASM on windows, and today, I am back here, for referring the same for 11g.
So, thank you.


@Ranganath: Perhaps your PATH variable is not reflecting your Oracle home correctly. Check/correct it and you should be fine.

Srikanth said...

If the asmtool is not recognized in windows xp, check this one
right click my computer--> properties--> advanced--> environment variables--> path and check to see whether the
%ORACLE_HOME%\bin is contained in that path.
Then it should work.
The concept this that the files under the bin should be accessible from any where.

Mansi said...

hi Anand

nice blog
but while doing these steps i got the below errors..plz help asap
ORA-15032: not all alterations performed
ORA-15063: ASM discovered an insufficient number of disks for diskgroup ASMDISKS

Kavita said...

Hi,
Sir thanks for posting this article i have sucessful created my asm diskgroup . the practical really helped me a lot can u pl post on linux and solaris the same

Thanks in Advance
Regards
Kavita

Kavita said...

Hi,
Sir thanks for posting this article i have sucessful created my asm diskgroup . the practical really helped me a lot can u pl post on linux and solaris the same

Thanks in Advance
Regards
Kavita

Kavita said...

Hi,
Sir thanks for posting this article i have sucessful created my asm diskgroup . the practical really helped me a lot can u pl post on linux and solaris the same

Thanks in Advance
Regards
Kavita

German Pabon said...

Hi..
I created successfully an ASM instance from scratch with your steps on this post, the difference was the RDBMS version 11.2.

The complete process was to mount a disk group created on Linux on Windows.

There was a problem found. The ASM instance created on Linux was on 10.2.0.1 and when ASMCMD was executed the error ASMCMD-08103 was shown.

After hours of trying to get rid of the above error, the solution was to create the SQLNET.ORA file with the following line on it.

SQLNET.AUTHENTICATION_SERVICES=(NTS).

I hope this could help you.

Lokesh Kumar said...

Hi Sir,

my database is on RAC and i have no RMAN backup i have only dump backup file. this is hospital and there are many departments are here every department an application but three deptt.are showing error ORA-01578 DATABASE BLOCK CORRUPTION.

So please tell me how can i recover my corrupted tables.

Thanks
Lokesh Kumar

SANJEEV said...

Many Thanks ,NICE STEP BY STEP ARTICLE .
I tried it on WINDOWS XP/ORACLE 10.2.0.3 every thing works but DISK Group creation returns following error

ORA-15014: location 'D:\ASMDISKS\DISK1' is not in the discovery set and ORA-15018: diskgroup cannot be created,
Any work around ???

Sanjeev Sen
Oracle 9i OCP
Kolkata
ssen.niit@gmail.com

Roshan said...

Hi Anand,

The steps mentioned by you do work in oracle 10g for creating asm diskgroup. But while creating the same on windows 7 for 11g r2 64 bit we get the following error:

E:\asmdisks>asmtool -create e:\asmdisks\ disk1 512
ASM-00203: No valid devices found
O/S-Error: (OS 18) There are no more files.
ASM-00001: Could not open device \\?\Volume{dbd74685-f1e8-11e0-8533-001e682017ce
}
O/S-Error: (OS 5) Access is denied.
ASM-00001: Could not open device \\?\Volume{b7ef5f41-f1e7-11e0-aca3-806e6f6e6963
}
O/S-Error: (OS 5) Access is denied.
ASM-00001: Could not open device \\?\Volume{dbd746a2-f1e8-11e0-8533-001e682017ce
}
O/S-Error: (OS 5) Access is denied.
ASM-00001: Could not open device \\?\Volume{b7ef5f40-f1e7-11e0-aca3-806e6f6e6963
}
O/S-Error: (OS 5) Access is denied.

Please let me know if there is any workaround for this

Roshan said...

Hi Anand,

This is in reference to my last comment I was able to find a workaround for the error ASM-00203: No valid devices found

The problem is with command window, and here is the solution for it.

1.Create a Desktop shortcut for Windows command window.

2.Right-click the Desktop shortcut icon.

3.From the shortcut menu, select Run as administrator.

4.Now run the asmtool create command


Thanks,
Roshan

valiantvimal said...

Hi Anand, superb bro.. Fantastic article! Keep it up man. Great!

Veera said...

Nice job, Your steps worked well.

Unknown said...

c:\oracle\asmdisks>oradim -new -asmsid +asm -startmode auto
Instance created.
DIM-00019: create service error
O/S-Error: (OS 1062) The service has not been started.

i fired this query then get this error so what to do to goes the error.
plz tell me you post the solution on
prahalad80@gmail.com