oracle asm命令

woshishui11211發表於2014-03-15

關於ASMCMD
用來檢視和維護ASM磁碟組上的檔案和目錄。它可以列出磁碟組內容,執行搜尋,建立、刪除目錄和別名,顯示空間利用等等。

注意:你不能使用ASMCMD去建立和刪除磁碟組或對一個磁碟組增加或刪除磁碟。你必須使用SQL命令進行這些操作。

關於ASM檔案,檔名,目錄和別名

系統產生的檔名或完全合格的檔名
(System-generated filename or ‘fully qualified filename’)
ASM按照如下格式產生檔名
+diskGroupName/databaseName/fileType/fileTypeTag.file.incarnation
+dgroup2/sample/controlfile/Current.256.541956473
這裡dgroup2為磁碟組名字,sample是資料庫名,controlfile是檔案型別,以此類推.

目錄(Directory)
同其它檔案系統一樣,ASM目錄對於檔案是一個容器,它能做為其它目錄樹結構的一部分。
完全合格的檔名實際上表現目錄的一個層次,以符號(+)做為根。在每個磁碟組中,ASM建立目錄層級要符合完全合格的檔名格式。ASMCMD允許你使用cd命令改變目錄,ls命令例出當前目錄檔案內容,pwd命令顯示當前目錄名。

啟動ASMCMD,當前的目錄為(+)。
ASMCMD> ls
DGROUP1/
DGROUP2/
ASMCMD> cd +dgroup1/sample/controlfile
ASMCMD> ls
Current.256.541956473
Current.257.541956475
你可以透過ALTER DISKGROUP或ASMCMD mkdir命令建立使用者目錄做為系統生成目錄的子目錄。
ASMCMD> mkdir +dgroup1/mydir
啟動ASMCMD附帶-p標記,ASMCMD將顯示當前目錄為提示符的一部分。
ASMCMD [+] > cd dgroup1/mydir
ASMCMD [+DGROUP1/MYDIR] >
注意:
ASM不會在使用者目錄中放置系統產生的檔案。

別名(Alias)
別名是指向系統生成的檔名的一個更友好的檔名字,與Unix系統的符號連結類似。可透過ALTER DISKGROUP或ASMCMD的mkalias命令建立.
你可以在磁碟組路徑或者任何系統生成或使用者建立的子目錄下建立別名.
列出別名指向的連結檔案
ASMCMD>ls -l

萬用字元使用
萬用字元*和%匹配零或多字元

執行ASMCMD

執行前準備
1. 確保ASM例項啟動和ASM磁碟組啟用
2. 以具備SYSDBA許可權的使用者登入執行ASM例項的伺服器.
3. 設定ORACLE_HOME和ORACLE_SID環境變數指定ASM例項(ASM SID預設值:在單資料庫例項下為+ASM,RAC環境下為+ASMnode#).

執行
在作業系統提示符下,輸入
asmcmd
ASMCMD>
可在asmcmd命令後跟上-P選項使得ASMCMD提示符包含當前路徑
$ asmcmd -p
ASMCMD [+] > cd dgroup1/mydir
ASMCMD [+DGROUP1/MYDIR] >
非互動模式
$ asmcmd command arguments

ASMCMD命令參考

命令    描述
cd     改變當前目錄到指定的目錄
du 顯示指定目錄及其子目錄中ASM檔案佔用的磁碟空間
exit 退出ASMCMD.
find     在指定目錄下列出包含指定名稱(使用萬用字元)的路徑.
help     顯示ASMCMD命令的語法和描述.
ls 列出ASM目錄的內容,指定檔案的屬性
lsct     列出關於當前ASM客戶端資訊
lsdg     列出所有磁碟組及其屬性.
mkalias  為系統生成的檔案建立一個別名.
mkdir     建立ASM目錄.
pwd 顯示當前路徑.
rm     刪除指定ASM檔案或路徑.
rmalias 刪除指定別名.

***********************************
***********************************
常用ASM命令
1、mount diskgroup
SQL>alter diskgroup dskgrp_name mount;

11g版本,mount restricted 使用於新的快速rebanlance特性
SQL>alter diskgroup dskgrp_name mount restricted;

如果部分disk發生offline,使用force強制mount磁碟組
SQL>alter diskgroup dskgrp_name mount force;

2、Diskmount diskgroup

SQL>alter diskgroup dskgrp_name dismount;

新增diskgroup 模板
SQL>alter diskgroup dskgrp_name add template file_noprot (fine unprotected)

3、新增/刪除ASM磁碟到diskgroup
SQL>alter diskgroup dskgrp_name add disk '/dev/raw/raw6';

SQL>alter diskgroup dskgrp_name add disk '/dev/raw/raw6' wait;
DBA選用該選項表示在rebalnace完全完成之後才使用新添磁碟空間

SQL>alter diskgroup dskgrp_name drop;

4、校驗diskgroup一致性
該命令校驗資料的一致性,不對錶空間標頭檔案和表資料內容進行校驗,11g增加校驗alias和template
SQL>alter diskgroup dskgrp_name check;

SQL>alter diskgroup dskgrp_name check repair;

5、更改rebanlance power level
SQL>alter diskgroup dskgrp_name rebanlance power 11;

6、刪除diskgroup
SQL>drop diskgroup dskgrp_name including contents;
SQL>drop diskgroup dskgrp_name;
SQL>drop diskgroup dskgrp_name force including contents;

新增temp檔案

SQL> alter tablespace temp add tempfile '+DATA/asmossdb/tempfile/temp2' size 100M;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26217983/viewspace-1122397/,如需轉載,請註明出處,否則將追究法律責任。

相關文章