How to use asmca to create ASM instance silently in Oracle 11gR2

对于只能登录字符界面的很多服务器而言,能够使用silent模式创建一些组件是至关重要的。本文介绍如何在字符界面下使用asmca来创建ASM实例。

测试环境:Oracle 11.2.0.3 + Oracle Restart 【关于Oracle Restat,可以参看我之前的文章-How to Use Oracle Restart in Oracle 11gR2

在没有创建ASM实例之前,Clusterware中的资源状况如下:

grid@solaris:~$ ct
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER_SOLARIS.lsnr
               ONLINE  ONLINE       solaris                                      
ora.ons
               OFFLINE OFFLINE      solaris                                      
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        OFFLINE OFFLINE                                                   
ora.diskmon
      1        OFFLINE OFFLINE                                                   
ora.evmd
      1        ONLINE  ONLINE       solaris                                      
ora.orcl.db
      1        ONLINE  ONLINE       solaris                  Open                

通过如下命令用gird用户创建ASM实例。

asmca -silent -configureASM -sysAsmPassword oracle -asmsnmpPassword oracle -diskString '/asmdisks/vdisk*' -diskGroupName DATADG -disk '/asmdisks/vdisk1' -redundancy EXTERNAL

-silent:表示静默模式,这在字符界面中至关重要。
-configureASM:表示本命令是用于配置ASM实例,如果ASM实例不存在,则会新建。
-sysAsmPassword:sysasm权限用户的密码。
-asmsnmpPassword:asmsnmp权限用户的密码。如果用过asmca图形界面的应该记得这两个密码在图形界面中都是需要输入的。
-diskString:ASM磁盘组的磁盘发现路径。
-diskGroupName:需要新建的磁盘组名称。
-disk:ASM磁盘名称。
-redundancy:磁盘冗余方式,本例中使用了外部冗余。

会有大量的屏幕输出,但是最后显示如下行表示命令成功完成。

ASM created and started successfully.

Disk Group DATADG created successfully.

再次检查Clusterware的资源状况,可以看到已经增加了ASM资源,并且已经正常启动。

grid@solaris:~$ ct
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER_SOLARIS.lsnr
               ONLINE  ONLINE       solaris                                      
ora.asm
               ONLINE  ONLINE       solaris                  Started             
ora.ons
               OFFLINE OFFLINE      solaris                                      
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       solaris                                      
ora.diskmon
      1        OFFLINE OFFLINE                                                   
ora.evmd
      1        ONLINE  ONLINE       solaris                                      
ora.orcl.db
      1        ONLINE  ONLINE       solaris                  Open                

查看ASM磁盘组状况。

ASMCMD> lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  1048576       976      917                0             917              0             N  DATADG/

接下来增加一个磁盘到该磁盘组中,同样通过asmca来完成,当然这个操作也可以用SQL*Plus中的alter diskgroup命令来完成。

asmca -silent -addDisk -diskGroupName DATADG -disk '/asmdisks/vdisk2' -sysAsmPassword oracle

同样会有大量输出,最后显示如下行表示操作完成。

Disks added successfully to disk group DATADG

再次检查ASM磁盘组状况。可以看到磁盘组容量已经扩充。

ASMCMD> lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  1048576      1952     1891                0            1891              0             N  DATADG/  

如果想获得asmca的帮助,可以通过以下命令。

asmca -help

Leave a Reply

Your email address will not be published. Required fields are marked *