ITPub博客

首页 > 数据库 > Oracle > asmcmd工具的详细介绍

asmcmd工具的详细介绍

原创 Oracle 作者:crystal_ocean 时间:2014-03-26 16:10:42 0 删除 编辑
asmcmd是ASM附带的一个工具,主要用来管理ASM磁盘组上的文件,类似于linux的bash shell操作。在这里我们将详细的介绍asmcmd的命令。

一、asmcmd的使用
    [oracle@node1 ~]$ asmcmd  -p
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux Error: 2: No such file or directory (DBD ERROR: OCISessionBegin)

   当我们使用asmcmd时为什么会报这样的错误呢,主要是因为ASM实例没有启动,那我们就来验证一下。

    [oracle@node1 ~]$ crs_stat -t
    Name           Type           Target    State     Host        
    ------------------------------------------------------------
    ora....SM2.asm application    OFFLINE   OFFLINE               
    ora....E1.lsnr application    ONLINE    ONLINE    node1       
    ora.node1.gsd  application    ONLINE    ONLINE    node1       
    ora.node1.ons  application    ONLINE    ONLINE    node1       
    ora.node1.vip  application    ONLINE    ONLINE    node1       
    ora....SM1.asm application    ONLINE    ONLINE    node2       
    ora....E2.lsnr application    ONLINE    ONLINE    node2       
    ora.node2.gsd  application    ONLINE    ONLINE    node2       
    ora.node2.ons  application    ONLINE    ONLINE    node2       
    ora.node2.vip  application    ONLINE    ONLINE    node2       
    ora.racdb.db   application    ONLINE    ONLINE    node1       
    ora....b1.inst application    ONLINE    ONLINE    node2       
    ora....b2.inst application    OFFLINE   OFFLINE      
   注:我安装集群的时候是在node2上安装的,所以instance1,ASM1是自动分配到node2上了,而instance2,ASM2是自动分配到node1上了。

   现在我们就先来启动ASM实例,这有两种方法

   方法一:
         [oracle@node1 ~]$ export ORACLE_SID=+ASM2
         [oracle@node1 ~]$ sqlplus / as sysdba

          SQL> startup
          ASM instance started
          Total System Global Area   92274688 bytes
          Fixed Size                  1217884 bytes
          Variable Size              65890980 bytes
          ASM Cache                  25165824 bytes
          ASM diskgroups mounted

   方法二:使用srvctl命令
         [oracle@node1 ~]$ srvctl start asm -n node1

   现在来验证一下asm实例启动情况:
    SQL>  select instance_name,status from v$instance;
    INSTANCE_NAME    STATUS

    ---------------- ------------
    +ASM2            STARTED

    SQL> select NAME,STATE from v$asm_diskgroup;
    NAME                           STATE
    ------------------------------ -----------
    DATA                           MOUNTED
     asm实例已经启动、asm磁盘组已经挂载。

 二、asm命令的介绍
    [oracle@node1 ~]$ asmcmd -p
    ASMCMD [+] > 
 
   ASMCMD [+] > help                        //使用help命令来查看所有asmcmd命令
        commands: 
        --------  
        cd                            //用于切换目录
        du                            //显示磁盘空间的使用情况
        find                          //用于查找文件
        help                         //用于显示asmcmd的所有命令     
        ls                             //显示目录下的内容
        lsct                          //显示目录连接的数据库实例
        lsdg                         //显示已挂载的磁盘组
        mkalias                     //创建一个系统产生的文件的别名
        mkdir                       //创建asm目录
        pwd                        //显示当前目录的路径
        rm                          //删除目录或文件,如果是别名,会删除别名和别名所对应的文件
        rmalias                     //删除指定的别名

三、asmcmd命令的使用

[oracle@node1 ~]$ asmcmd -p
ASMCMD [+] > lsct                                    //查看实例的连接情况,(如果数据库实例没有启动,不会显示连接情况)                                                         
DB_Name   Status        Software_Version  Compatible_version  Instance_Name
+ASM      CONNECTED           10.2.0.1.0          10.2.0.0.0  +ASM2
racdb     CONNECTED           10.2.0.1.0          10.2.0.1.0  racdb2

ASMCMD [+data] > lsdg                            //查看磁盘组的挂载情况
ASMCMD [+data] > lsdgState    Type    Rebal  Unbal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
MOUNTED  EXTERN  N      N         512   4096  1048576      7629     6197                0            6197              0  DATA/

ASMCMD [+data] > du                                //显示磁盘的使用情况
Used_MB      Mirror_used_MB
   1338                1338

ASMCMD [+data] > cd racdb
ASMCMD [+data/racdb] > pwd
+data/racdb

ASMCMD [+data/racdb] > ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileracdb.ora


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29457434/viewspace-1130027/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-23

  • 博文量
    13
  • 访问量
    90610