[zt] ORACLE 10g中ASMCMD使用及ASM檔案
1. 引言
自動儲存管理(ASM) 是Oracle 資料庫10g 的新功能,它為資料庫管理員
提供了一個簡單的儲存管理介面,並且該介面在所有伺服器和儲存平臺上都是
一致的。作為專門為 Oracle 資料庫檔案建立的整合的檔案系統和卷管理器,
ASM 提供了非同步I/O 的效能以及檔案系統的易管理性。它簡化了資料庫的管理,
使管理員可以將可用的儲存劃分為磁碟組(disk groups),只需管理少量的磁碟
組而不再需要直接管理大量的oracle資料庫檔案,ASM可自動管理磁碟組內數
據庫檔案的放置,最佳化了效能和資源利用率。
2. ORACLE 10g中的高效儲存技術ASM
自動儲存管理直接在Oracle 核心提供了檔案系統和卷管理器的垂直整合,
從而帶來了儲存區域網系統提供的“虛擬化”型別的優點(易於管理、更高的可用性),
並專門用於Oracle 資料庫檔案。ASM 提供了配置資料庫的快捷方法,以達到最佳效能
和資源利用率。它透過Oracle 核心自動管理資料庫檔案和這些檔案的放置,不再需要
第三方檔案系統和卷管理器來管理Oracle 檔案。ASM 免去了耗時的手動I/O 效能與調
整任務,大大節省了DBA 的時間。
ASM的映象(mirroring)與條帶化(striping):ASM 將檔案分成1MB 大小的區(extent),
並將所有檔案的區平均分佈到磁碟組的所有磁碟中。ASM 不使用數學函式跟蹤每個區的
放置,而使用指標記錄區的位置。這樣,ASM 就可以在磁碟組配置變化時移動某個文
件的某些區,而不必按照公式並根據磁碟數來移動所有的區。對於需要低延遲的檔案
(例如日誌檔案),ASM 提供了細粒度(128k) 分段,以便由多個磁碟並行分隔並處理較
大的I/O。ASM 在所有可用的資源中分佈I/O 負載,在免除手動I/O 調節需要(透過分
散資料庫檔案來避免熱點)的同時最佳化效能。
ASM的映象比作業系統的磁碟映象更為靈活,因為ASM可基於檔案設定冗餘級別,
也就是說在同一磁碟組中的兩個檔案可以一個是映象的, 而另一個不做映象。ASM鏡
像發生在區級。
ASM的動態儲存配置:ASM使得線上調整儲存配置成為可能,即它幫助DBA 管理
動態資料庫環境,讓DBA 能夠在擴大或縮小資料庫規模的情況下,無需關閉資料庫
以調整儲存配置。而在往磁碟組中增加磁碟或從磁碟組中刪除磁碟後,ASM將自動
重新平衡――均衡地在磁碟組中的所有磁碟上重新分佈檔案資料。
ASM 是一種能力,它透過實現手動儲存器的自動化來節省DBA 的時間,使其能
夠以更高的效率管理更大、更多的資料庫。
3. 透過ASMCMD工具管理ASM
在oracle資料庫10g的第一個版本中,管理ASM只能透過SQL語句,10g的第
二個版本提供了一個管理ASM檔案的新選擇――命令列工具ASMCMD,它使我們可
以更為方便地瀏覽和管理ASM磁碟組中的檔案和目錄。它可以列出磁碟組的內容,
執行搜尋,建立或刪除目錄及別名,顯示空間利用率等等。下面將透過一個在
AIX 5.3作業系統上的oracle 10g的應用例項來介紹ASMCMD命令列工具的使用方
法以及ASM檔案的FTP及HTTP訪問方式。相關環境資訊如下:
作業系統平臺:AIX 5.3
資料庫版本:ORACLE 10.2.0.3(2節點RAC)
磁碟組:ORAHIS_22G,ORAHIS_44G(將22G和44G的LUN劃分為2個磁碟組)
磁碟組型別:外部冗餘方式(EXTERNAL REDUNDANCY)
3.1. 建立磁碟組
首選需要建立磁碟組,由於不能透過ASMCMD命令建立或刪除磁碟組,以及
新增或刪除磁碟組中的磁碟,所以我們透過oracle 10g中新的SQL命令來完成磁
盤組的建立:
在本例項中有22G和44G兩種大小的LUN,先透過作業系統命令或透過ASM例項
中v$asm_disk檢視中的資訊確認這兩種大小的LUN的裝置名,建立2個磁碟組
ORAHIS_22G及ORAHIS_44G:
CREATE DISKGROUP ORAHIS_22G EXTERNAL REDUNDANCY disk
'/dev/rhdisk6',
'/dev/rhdisk8',
……
/
CREATE DISKGROUP ORAHIS_44G EXTERNAL REDUNDANCY disk
'/dev/rhdisk7',
'/dev/rhdisk9',
……
/
建立了磁碟組後就可以使用磁碟組,在上面建立資料庫,分佈資料庫檔案等。
3.2. 執行ASMCMD
以一個擁有SYSDBA許可權的作業系統使用者登入到執行了ASM例項的主機上,同時設
置正確的ORACLE_HOME及ORACLE_SID環境變數以選擇ASM例項,再設定正確的PATH環
境變數,就可以執行ASMCMD工具了。ASMCMD可以以互動或非互動模式兩種模式執行。
1) 互動模式執行:在作業系統命令提示符下輸入asmcmd,會得到ASMCMD>提示符,
可以輸入相關的命令,如果使用-p選項,將在ASMCMD提示符中包含當前路徑,如下:
gdhish1:/oracle/orahis>export ORACLE_SID=+hisasm1
gdhish1:/oracle/orahis>asmcmd -p
ASMCMD [+] > ls
ORAHIS_22G/
ORAHIS_44G/
ASMCMD [+] > cd ORAHIS_22G
ASMCMD [+ORAHIS_22G] >
2) 非互動模式執行:命令格式為:asmcmd command arguments,如下:
gdhish1:/oracle/orahis>asmcmd ls -l
State Type Rebal Unbal Name
MOUNTED EXTERN N N ORAHIS_22G/
MOUNTED EXTERN N N ORAHIS_44G/
3.3. ASMCMD命令參考
1) 部分常用的ASMCMD命令列表
命令 說明
du 顯示指定的ASM目錄下ASM檔案佔用的所有磁碟空間
ls 列出ASM目錄下的內容及其屬性
lsct 列出當前ASM客戶端的資訊
lsdg 列出所有磁碟組及其屬性
mkalias 為系統生成的檔名建立別名
2) ASMCMD命令示例
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 622160 318776 0 318776 0 ORAHIS_22G/
MOUNTED EXTERN N N 512 4096 1048576 2088727 771455 0 771455 0 ORAHIS_44G/
上述lsdg命令的結果顯示共有兩個磁碟組ORAHIS_22G和ORAHIS_44G,狀態是
“MOUNTED”,型別是外部冗餘(EXTERNAL REDUNDANCY),當前沒有重現平衡(rebalance)
操作,也沒有磁碟組需要重現平衡。Sector大小是512位元組,Block大小是4096位元組,分
配單元是1048576位元組,即1M,ORAHIS_22G磁碟組大小為622160M,空閒大小為318776M,
offline disks的數量為0,由於是外部冗餘型別,故Req_mir_free_MB 為0。
ASMCMD [+ORAHIS_44G/hisrac/datafile] > ls -ls
Type Redund Striped Time Sys Block_Size Blocks Bytes Space Name
DATAFILE UNPROT COARSE MAY 28 14:00:00 Y 32768 524289 17179901952 17181966336 BILL_TS_DT1.265.622310595
DATAFILE UNPROT COARSE MAY 28 14:00:00 Y 32768 524289 17179901952 17181966336 UNDOTBS2.264.621185703
上述ls –ls命令的結果顯示ASM目錄+ORAHIS_44G/hisrac/datafile下的文
件及其屬性,如檔案BILL_TS_DT1.265.622310595和UNDOTBS2.264.621185703,型別為
DATAFILE,由於是外部冗餘方式,Redund為UNPROT,即對於ASM而言是uprotected,條
帶化方式為COARSE,檔案是系統建立的,塊大小為32768位元組,塊數為524289,檔案大
小為17179901952位元組。
4. 透過XML DB虛擬目錄訪問ASM檔案
由於ASM 是專為處理Oracle 資料庫檔案而建立的整合的檔案系統與卷管理器,
它不是一般意義上的檔案系統或叢集檔案系、統,因此不能使用標準的FTP和HTTP
服務來訪問ASM檔案,我們可以透過XML DB repository中的虛擬目錄/sys/asm來訪
問ASM檔案和目錄。內容並非真正儲存在repository中,所以稱為虛擬目錄,/sys/asm
提供了透過XML DB協議如FTP和HTTP/WebDAV來訪問和操作ASM檔案的一種方法。
1) 配置
下面以選擇FTP埠7787,HTTP/WebDAV埠8080為例進行配置(前提是已經安裝好XDB):
gdhish1:/oracle/orahis>export ORACLE_SID=hisrac1
gdhish1:/oracle/orahis>sqlplus '/as sysdba'
SQL>@?/rdbms/admin/catxdbdbca.sql 7787 8080
訪問時注意必須以擁有dba許可權的資料庫使用者(非sys)登入。
2) FTP訪問示例(透過FTP傳輸XDB.dbf檔案):
zhcxxt1:/dsgh1 #ftp 130.51.5.103 7787
Connected to 130.51.5.103.
220- gdhish2
Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution.
220 gdhish2 FTP Server (Oracle XML DB/Oracle Database) ready.
Name (130.51.5.103:root): system
331 pass required for SYSTEM
Password:
230 SYSTEM logged in
ftp> cd sys/asm
250 CWD Command successful
ftp> ls
200 PORT Command successful
150 ASCII Data Connection
ORAHIS_44G
ORAHIS_22G
226 ASCII Transfer Complete
ftp> cd ORAHIS_22G/datafile
250 CWD Command successful
ftp> bin
200 Type set to I.
ftp> get XDB.dbf
200 PORT Command successful
150 BIN Data Connection
226 BIN Transfer Complete
536903680 bytes received in 37.49 seconds (1.399e+04 Kbytes/s)
local: XDB.dbf remote: XDB.dbf
ftp>
3) HTTP訪問示例:
透過類似的URL來訪問::
5. 小結
Oracle 資料庫10g 向DBA 提供簡化的儲存資源管理介面。自動儲存
管理免除了手動I/O 效能調節的需要。它將資料庫儲存的管理虛擬化為一
組磁碟組,並提供更多選項以加強保護。ASM 實現動態儲存分配,並提供
自動重新平衡。它在所有可用的儲存裝置中分佈資料庫檔案,以便最佳化性
能和資源利用率。同時ASMCMD命令列工具使得對ASM的管理更為便捷,而
透過Oracle XML DB,還可以實現對ASM儲存的FTP和HTTP訪問。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-684233/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle ASM使用asmcmd中的cp命令來執行遠端複製OracleASM
- Oracle 12C ASM asmcmd amdu_extractOracleASM
- Oracle:ASM & 密碼檔案OracleASM密碼
- Oracle Linux 7使用syslog來管理Oracle ASM的審計檔案OracleLinuxASM
- ORACLE9I升級到10G(zt)Oracle
- Oracle使用RMAN將普通資料檔案轉成ASMOracleASM
- 關於Oracle 10g ASM磁碟大小的限制Oracle 10gASM
- Oracle叢集檔案系統(OCFS2)使用者指南(zt)Oracle
- Oracle 10g大檔案表空間(轉)Oracle 10g
- Oracle ASMCMD命令參考OracleASM
- oracle監聽檔案listener.ora for 10g/11gOracle
- Oracle ASM AMDU工具的使用OracleASM
- oracle enqueue(zt)OracleENQ
- ORACLE RAC ASM資料檔案遷移OMF檔案報錯ORA-01276解決OracleASM
- [20180608]asmcmd顯示檔案的日期時間問題ASM
- 【ASM】ASM資料檔案和OS檔案(FILESYSTEM)轉移方法總結ASM
- ORACLE11GR2 RAC檔案系統變更成ASM EXTEND RAC及高可用測試OracleASM
- Oracle Linux 7使用cron來管理Oracle ASM審計檔案目錄的增長OracleLinuxASM
- ORACLE LARGE MEMORY(zt)Oracle
- oracle event 2 (zt)Oracle
- oracle job管理(zt)Oracle
- Oracle 12c的DG自動同步密碼檔案--ASM 新特性:共享密碼檔案Oracle密碼ASM
- ASM叢集檔案系統ACFS(ASM Cluster File System)ASM
- 重建共享(db或asm)密碼檔案 in Oracle 19c RAC-20220209ASM密碼Oracle
- 關於SQL Server中索引使用及維護簡介(zt)SQLServer索引
- 12c複製 RAC ASM中的密碼檔案到檔案系統ASM密碼
- oracle time_zone(zt)Oracle
- AUTO START ORACLE ON LINUX(zt)OracleLinux
- 2.10.3 使用 Oracle Automatic Storage Management (Oracle ASM) 克隆資料庫OracleASM資料庫
- 【BUILD_ORACLE】使用ASMLib包搭建ASM磁碟UIOracleASM
- oracle 控制檔案及引數檔案何時自動備份Oracle
- ORACLE MTS的介紹(zt)Oracle
- Oracle's Parallel Execution Features(zt)OracleParallel
- How Oracle Store Number internal(zt)Oracle
- Oracle SQL optimization-2(zt)OracleSQL
- oracle 10g flashback databaseOracle 10gDatabase
- 【DBA】Oracle 中DBA地址的檔案號使用的是相對檔案號(RELATIVE_FNO)Oracle
- Oracle ASM神書《撥雲見日 解密Oracle ASM核心》出版了OracleASM解密
- 轉:使用 Tkprof 分析 ORACLE 跟蹤檔案Oracle