天天看點

使用 ASMCMD 工具管理ASM目錄及檔案

--==============================

-- 使用ASMCMD 工具管理ASM目錄及檔案

    在ASM執行個體中,所有的存儲于ASM磁盤組中的檔案對于作業系統指令而言是不可通路的,是以也無法使用正常的指令來操縱ASM磁盤中的文

件。所幸的是,我們有ASMCMD工具來代替作業系統指令來完成這部分工作。ASMCMD工具提供了類似于作業系統的常用指令,如ls , du ,find

,cd ,rm ,mkdir等等。借助這些工具可以更輕松的完成ASM執行個體的相關管理工作。

    有關ASM的相關參考:

1.ASMCMD檔案所在的位置

    [root@oradb ~]# su - oracle

    [oracle@oradb ~]$ which asmcmd

    /u01/oracle/10g/bin/asmcmd

2.啟動ASMCMD

    [oracle@oradb ~]$ export ORACLE_SID=+ASM    --啟動前要設定ORACLE_SID環境變量

    [oracle@oradb ~]$ asmcmd

    ASMCMD> help

           asmcmd [-p] [command]        --該方式可以直接完成相應的功能而不需要進入到ASMCMD提示符下

           The environment variables ORACLE_HOME and ORACLE_SID determine the

           instance to which the program connects, and ASMCMD establishes a

           bequeath connection to it, in the same manner as a SQLPLUS / AS

           SYSDBA.  The user must be a member of the SYSDBA group.

           Specifying the -p option allows the current directory to be displayed

           in the command prompt, like so:

           ASMCMD [+DATAFILE/ORCL/CONTROLFILE] >

           [command] specifies one of the following commands, along with its

           parameters.

           Type "help [command]" to get help on a specific ASMCMD command.

                                      --在asmcmd指令提示符下,輸入help [指令] ,則顯示該指令幫助資訊

           commands:

           --------

           cd

           du

           find

           help

           ls

           lsct

           lsdg

           mkalias

           mkdir

           pwd

           rm

           rmalias

3.具體用法     

    [oracle@oradb ~]$ asmcmd -p ls -l       --無需進入到ASMCMD指令提示符下完成相應的功能

    State    Type    Rebal  Unbal  Name

    MOUNTED  NORMAL  N      N      DG1/

    MOUNTED  NORMAL  N      N      DG2/

    MOUNTED  EXTERN  N      N      REV/

    ASMCMD> ls -l                         --檢視磁盤組的基本資訊

    ASMCMD> ls -s                         --檢視磁盤組的詳細資訊,如磁盤大小,可用空間,扇區大小等

    Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name

       512   4096  1048576      3058     1498                0             749              0  DG1/

       512   4096  1048576       200       98                0              49              0  DG2/

       512   4096  1048576      3074     2949                0            2949              0  REV/

    ASMCMD> du                            --檢視目前目錄磁盤已使用的容量

    Used_MB      Mirror_used_MB

       804                1541

    ASMCMD> pwd                           --顯示目前路徑

    +

    ASMCMD> cd +DG1

    ASMCMD> pwd

    +DG1

    ASMCMD> du

       732                1469  

    ASMCMD> find -t datafile +DG1/asmdb sys*    --find 用于查找對象

    +DG1/asmdb/DATAFILE/SYSAUX.261.734885459

    +DG1/asmdb/DATAFILE/SYSTEM.259.734885389

    ASMCMD> ls -l +DG1/asmdb

    Type           Redund  Striped  Time             Sys  Name

                                               Y    CONTROLFILE/

                                               Y    DATAFILE/

                                               Y    ONLINELOG/

                                               Y    PARAMETERFILE/

                                               Y    TEMPFILE/

                                               N    spfileasmdb.ora => +DG1/ASMDB/PARAMETERFILE/spfile.264.734886407

    ASMCMD> ls -l +DG1/asmdb/spfi*

    ASMCMD> cd asmdb        --cd 指令改變目前目錄

    +DG1/asmdb

    ASMCMD> ls

    CONTROLFILE/

    DATAFILE/

    ONLINELOG/

    PARAMETERFILE/

    TEMPFILE/

    spfileasmdb.ora

    ASMCMD> lsdg

    State    Type    Rebal  Unbal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name

    MOUNTED  NORMAL  N      N         512   4096  1048576      3058     1498                0             749             0  DG1/

    MOUNTED  NORMAL  N      N         512   4096  1048576       200       98                0              49              0  DG2/

    MOUNTED  EXTERN  N      N         512   4096  1048576      3074     2949                0            2949             0  REV/

    ASMCMD> mkdir +DG2/asmdb/bakfile       --mkdir 建立目錄

    ASMCMD> ls -l +DG2/asmdb/bakfile

    ASMCMD> rm +DG2/asmdb/bakfile          --rm 删除目錄

    asmcmd: entry 'bakfile' does not exist in directory '+DG2/asmdb/'                          

    ASMCMD> exit                               --退出asmcmd指令行

4.從上面的描述可以看出ASMCMD工具給我們提供了很多友善,這些操作指令基本上與Liunx,Unix指令相似,通過這些操作指令可以大大簡化對

    ASM執行個體的管理。

5.更多參考

有關閃回特性請參考

<a href="http://blog.csdn.net/robinson_0612/archive/2010/12/29/6105327.aspx">Oracle 閃回特性(FLASHBACK DROP &amp; RECYCLEBIN)</a>

<a href="http://blog.csdn.net/robinson_0612/archive/2011/01/02/6112607.aspx">Oracle 閃回特性(Flashback Query、Flashback Table)</a>

<a href="http://blog.csdn.net/robinson_0612/archive/2011/01/02/6112981.aspx">Oracle 閃回特性(Flashback Version、Flashback Transaction)</a>

有關基于使用者管理的備份和備份恢複的概念請參考:

    有關RMAN的恢複與管理請參考:

    有關Oracle體系結構請參考:

<a href="http://blog.csdn.net/robinson_0612/archive/2010/04/29/5542983.aspx">Oracle 資料庫執行個體啟動關閉過程</a>