首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

ASM自動儲存管理淺析:架構優勢、適用場景、部署步驟與挑戰

     編輯:Oracle 資料庫基礎

ASM(Automatic Storage Management)是Oracle自建的儲存抽象層,以Disk Group取代傳統datafile直接管理。架構師Bill Bridge針對傳統檔案系統/LVM痛點設計:無共享磁碟檔案系統、LVM隱藏檔案位置致I/O難管、磁碟超百顆LVM失效、千檔以上OS/Oracle處理困難、命名混亂、跨平台差異大、OS用戶可繞過Oracle存取檔案。

ASM核心目標

  • 與Oracle緊密整合,支援RAC叢集
  • 自動啟用新儲存,以磁碟組/磁碟單元管理
  • 支援成千上萬磁碟
  • 檔案無名稱化,對OS隱藏

誰需要ASM?

  1. 大型OLTP/資料倉庫,檔案數龐大
  2. 規劃導入RAC
  3. 想從現有磁碟子系統榨取更高I/O效能與統計
  4. 建議先在開發環境跑數月再上線

快速部署範例(11g前版本)

# 1. 設定環境
export ORACLE_SID=+ASM1

# 2. init.ora
INSTANCE_TYPE=ASM
ASM_DISKGROUPS=SEAN, AARON
PROCESSES=100
ASM_DISKSTRING='/dev/cciss/c0d0p1'
BACKGROUND_DUMP_DEST=/opt/oracle/admin/+ASM/bdump
...

# 3. 啟動ASM實例
sqlplus / as sysdba
SQL> STARTUP

# 4. 建立磁碟組
SQL> CREATE DISKGROUP SEAN DISK '/dev/cciss/c0d0p1';

# 5. 建立表空間(兩種寫法)
-- 显式指定
SQL> CREATE TABLESPACE sean_space DATAFILE '+SEAN' SIZE 1G;
-- 隱式交給OMF
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='+SEAN';
SQL> CREATE TABLESPACE sean_space;

V$DATAFILE顯示路徑為+SEAN/...抽象路徑,非OS實體路徑。

冗余機制

  • 外部冗余:底層硬體RAID已提供,ASM不再重複
  • 正常/高冗余:ASM自身提供鏡像,定義Failure Group防單點故障
  • I/O自動均勻分佈於磁碟組,無需人工調校

挑戰與考量

  • 組織權責邊界模糊:儲存管理權從Unix SA移至DBA,易引發阻力
  • 技術相對較新,成熟度不如Veritas等傳統卷管理廠商
  • 業務需求應驅動採用,而非技術跟風

總結

ASM為大型資料庫提供優雅儲存抽象,小型庫與RAC亦受益。鐵律:評估 → 測試 → 再測試 → 上線。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved