ASM 命令行工具
Oracle 自動存儲管理(ASM;請參閱本系列的第 1 部分)是 Oracle 數據庫 10g 第 1 版中引入的專用文件系統,為數據文件的管理提供了急需的支持。
ASM 通過 SQL 命令管理,必要時也可以通過 Oracle Enterprise Manager 界面管理。同樣,您也可以通過 SQL 接口或 GUI 看到它。大多數 DBA 都能接受該方法,但對那些不熟悉 SQL 的系統管理員來說學習 SQL 是件不大情願的事。而作為一名 DBA,您可能不大願意授予非 DBA Oracle Enterprise Manager 的訪問權限。
在 Oracle 數據庫 10g 第 2 版中,一個新的 ASM 命令行工具消除了這個隔閡。此接口稱為 asmcmd,通過它您可以對 ASM 磁盤組中存儲的數據文件(類似於文件系統和相應的文件)執行大量操作。該工具基於 Perl,因此後者應位於相應的路徑中。如果未正確設置 Perl 的路徑,則可能需要創建一個指向 Perl 所在目錄的軟鏈接,或只需修改文件 asmcmd 以反映 Perl 可執行文件的正確路徑。
切記將 ORACLE_SID 設置為 ASM 實例(通常為 +ASM),而不是在服務器上運行的實際數據庫實例。通過鍵入以下指令調用該命令
asmcmd -p使用 -p 選項可以在提示中顯示當前路徑。
現在,嘗試一些非常簡單的命令。調用命令行提示 (ASMCMD >) 後,鍵入 ls 查看已掛載的所有磁盤組。
ASMCMD [+] > ls DGROUP1/ DGROUP10/ DGROUP2/ DGROUP3/ DGROUP4/ DGROUP5/ DGROUP6/ DGROUP7/ DGROUP8/ DGROUP9/可以在此處看到在 ASM 實例中創建和掛載的所有磁盤組(DGROUP1 至 DGROUP10)。
現在,考察磁盤組 DGROUP1。可以使用 cd 命令像更改目錄那樣更改此磁盤組。
ASMCMD [+] > cd dgroup1甚至可以像在類 UNIX 或 Windows 這樣的操作系統中那樣,通過鍵入 cd .. 轉到父目錄。現在,確認在該磁盤組中創建了哪些文件。
ASMCMD [+dgroup1] > ls ORCL/好了,該磁盤組的下面增加了一個目錄 ORCL。從它後面的正斜線 (/) 即可看出它是一個目錄。使用 cd 命令進入該目錄,然後執行命令 ls 顯示內容。
ASMCMD [+dgroup1] > cd orcl ASMCMD [+dgroup1/orcl] > ls CONTROLFILE/ PARAMETERFILE/ control01.ctl => +DGROUP1/ORCL/CONTROLFILE/Current.256.551928759 spfileorcl.ora => +DGROUP1/ORCL/PARAMETERFILE/spfile.257.551932189 ASMCMD [+dgroup1/orcl] >除了 cd 和 ls 命令外,還可以使用其他類 UNIX 的命令,如 rm(用於刪除目錄或文件)、mkdir(用於創建目錄)和 find(用於查找文件和目錄)。
以下是一些其他命令:
lsdg(list diskgroup 的縮寫)- 要查看該 ASM 實例掛載的磁盤,使用 lsdg 命令。
ASMCMD [+] > lsdg State 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 100 40 0 40 0 DGROUP1/ MOUNTED EXTERN N N 512 4096 1048576 100 33 0 33 0 DGROUP10/ MOUNTED EXTERN N N 512 4096 1048576 100 41 0 41 0 DGROUP2/ MOUNTED EXTERN N N 512 4096 1048576 1000 787 0 787 0 DGROUP3/ MOUNTED EXTERN N N 512 4096 1048576 1000 537 0 537 0 DGROUP4/ MOUNTED EXTERN N N 512 4096 1048576 1000 928 0 928 0 DGROUP5/ MOUNTED EXTERN N N 512 4096 1048576 1000 742 0 742 0 DGROUP6/ MOUNTED EXTERN N N 512 4096 1048576 1000 943 0 943 0 DGROUP7/ MOUNTED EXTERN N N 512 4096 1048576 1000 950 0 950 0 DGROUP8/ MOUNTED EXTERN N N 512 4096 1048576 100 33 0 33 0 DGROUP9/除了顯示磁盤名稱以外,lsdg 還顯示了其他相關信息,如已分配的空間大小、可用空間大小和脫機磁盤。該信息簡化了問題的診斷。