asmcmd工具的詳細介紹

crystal_ocean發表於2014-03-26
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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章