ASM 指令整理
一. 檢視ASM空間使用情況
1. lsdg: 檢視磁盤組的資訊,和磁盤空間大小
ASMCMD> lsdg State Type Rebal Block AU Total_MB Free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 4096 1048576 5739 5339 5339 0 Y DATA/ MOUNTED EXTERN N 4096 1048576 5739 3669 3669 0 N DATADG01/
2. 檢視磁盤組,(空間情況)
SQL> select name name2,state,type,free_mb,total_mb,usable_file_mb from v$asm_diskgroup;
NAME2 STATE TYPEFREE_MB Total_MB USABLE_FILE_MB --------------- ----------- ---------------- ---------- ----------- DATAMOUNTED EXTERN 5339 5,739 5339 DATADG01MOUNTED EXTERN 3669 5,739 3669
3.檢視及修改asm重新平衡粒度
SQL> show parameter power
NAME TYPE VALUE ---------------------------------------- asm_power_limit integer 4
SQL> show parameter asm NAME TYPE VALUE ------------------------------------ ------------- asm_diskgroups string DATADG01 asm_diskstring string asm_power_limit integer 4 asm_preferred_read_failure_groups string
4.檢視asm執行個體操作變化(隻記錄結構變化操作) select * from v$asm_operation;
注意:執行以下指令要用grid 使用者 用sqlplus / as sysasm 這個權限登入 $ export ORACLE_SID=+ASM1 $ sqlplus / as sysasm
二、ASM磁盤組的建立删除挂載
1.asm磁盤組建立
asmca(11g),10g(dbca) 圖形界面
sql>create diskgroup datadg01 external redundancy disk '/dev/raw/raw1';
2.asm 磁盤組删除 sql>drop diskgroup datadg01;
3.asm磁盤組添加磁盤 sql>alter diskgroup datadg01 add disk '/dev/raw/raw2';
4.asm磁盤組删除磁盤 sql>select name,path from v$asm_disk;查詢到名稱
NAME PATH ----------------------------- DATA_0000 /dev/raw/raw1 DATA_0001 /dev/raw/raw2 DATA_0002 /dev/raw/raw3 DATADG01_0000 /dev/raw/raw5 DATADG01_0001 /dev/raw/raw6 DATADG01_0002 /dev/raw/raw7
sql>alter diskgroup datadg drop disk 'DATADG01_0001'; --這裡是磁盤名稱,而不是'/dev/raw/raw1'
5.挂載
Sql>alter diskgroup datadg01 mount; or Sql>alter diskgroup all mount;
6.解除安裝 Sql>alter diskgroup datadg01 dismount; or Sql>alter diskgroup all dismount;
7.删除 Sql>drop diskgroup datadg01; 說明:删除磁盤組時,磁盤組必須被挂載(mount)
三. ASM磁盤組目錄管理
1.asm磁盤組增加目錄 SQL> alter diskgroup datadg01 add directory '+datadg01/datafile';
2.Asm磁盤組重命名目錄 SQL> alter diskgroup datadg01 rename directory '+datadg01/datafile' to '+datadg01/datafile01';
3.Asm磁盤組增加多層目錄,必須一層一層添加
--首先添加zw SQL> alter diskgroup datadg01 add directory '+datadg01/zw/';
然後添加datafile SQL> alter diskgroup datadg01 add directory '+datadg01/zw/datafile';
4.Asm磁盤組删除 SQL> alter diskgroup datadg01 drop directory '+datadg01/datafile';
四. ASM磁盤組檔案管理
資料檔案添加别名 sql>alter diskgroup datadg01 add alias '+datadg01/node/datafile/users.dbf' for '+datadg01/node/datafile/users.266.987885487';
重新命名别名 SQL> alter diskgroup datadg01 rename alias '+datadg01/node/datafile/users.dbf' to '+datadg01/node/datafile/users01.dbf';
查詢别名 SQL> select name,group_number,file_number,alias_index,alias_directory,system_created from v$asm_alias where file_number=266;
删除别名 SQL> alter diskgroup datadg01 drop alias '+datadg01/node/datafile/users01.dbf';
五. ASM幾個重要參數
asm_power_limit當加入磁盤後磁盤組的各個磁盤之間做均衡程序 asm_disktring 指定asm啟動時候查找磁盤路徑 Linux 自動搜尋:/dev/raw/ 和/dev下的裝置檔案 aix 自動搜尋:/dev/下裝置檔案 hp-ux:由于hp-ux下的磁盤路徑在/dev/rdsk/下邊,需要設定
磁盤組的重新平衡:當磁盤組中的磁盤發生變化時,磁盤組将自動進行重新平衡 平衡級别為0-11,當手工進行重新平衡時,可以指定平衡級别 可用的最進階别通過初始化參數asm_power_limit 指定
SQL>alter diskgroup datadg01 rebalance power 3; SQL>alter diskgroup datadg01 rebalance power 3 wait ;
六.ASM相關視圖
v$asm_disk(_stat) --檢視磁盤及其狀态資訊 v$asm_diskgroup(_stat) --檢視磁盤組及其狀态資訊 v$asm_operation --檢視目前磁盤的操作資訊 v$asm_client --傳回目前連接配接的用戶端執行個體資訊 v$asm_file --傳回asm檔案的相關資訊 v$asm_template --傳回asm檔案樣本的相關資訊 v$asm_alias --傳回asm檔案的别名資訊
七.添加資料檔案
如果是資料庫檔案 sql>create tablespace test datafile'+datadg01' size 100M;
如果歸檔日志: sql>alter system set log_archive_dest_1='location=+datadg01' scope=both;
八. ASMCMD的使用