ASM基礎知識

leon830216發表於2014-03-01
支援資料庫版本:10gR2、11gR2

1. asm 相關初始化引數


1-1. parameter db_unique_name, 可透過 alter 命令修改
> show parameter db_unique_name
name           type   value
-------------- ------ -----
db_unique_name string +asm

1-2. instance_type
> show parameter instance_type
name          type   value
------------- ------ -----
instance_type string asm

1-3. asm_power_limit, 1 - 11, 預設是 1, 指定 rebalance 消耗資源等級
> show parameter asm_power_limit
name            type    value
--------------- ------- -----
asm_power_limit integer 1

1-4. asm_diskgroups, asm 啟動時或 all mount 時自動掛載的磁碟組
> show parameter asm_diskgroups
name           type   value
-------------- ------ --------
asm_diskgroups string dg2, dg1

> alter system set asm_diskgroups='' sid='*';
> alter system set asm_diskgroups=dg1,dg2,dg3 sid='*';

1-5. asm_diskstring, 預設是 null, 所有 asm 擁有讀寫許可權的磁碟
> show parameter asm_diskstring
name           type   value
-------------- ------ -------------
asm_diskstring string /dev/raw/raw*

1-6. db_create_file_dest
# 對於資料庫例項 (型別是 RDBMS) 有效
# 指定 OMF 自動建立檔名的磁碟組, 建立是可以不指定磁碟組

> alter system set db_create_file_dest='DG1';

2. asm 相關操作
export oracle_sid=+asm
sqlplus / as sysdba

2-1. 建立磁碟組, force 可以將磁碟從其他組移動到這一組
create diskgroup dg1 normal redundancy
  failgroup fg1 disk
    '/dev/raw/raw1' name disk01,
    '/dev/raw/raw2' name disk02
  failgroup fg2 disk
    '/dev/raw/raw3' name disk03,
    '/dev/raw/raw4' name disk04;

create diskgroup dg2 external redundancy disk '/dev/raw/raw5','/dev/raw/raw6';

2-2. 刪除磁碟組
drop diskgroup dg1 including contents;

2-3. 增加/刪除磁碟
alter diskgroup dg1 add disk '/asmdisks/asm*1', '/asmdisks/asm*2';
alter diskgroup dg1 add disk '/asmdisks/asm[123]' rebalance wait;
alter diskgroup dg1 drop disk disk01 rebalance wait;
alter diskgroup dg1 undrop disks;

2-4. 改變磁碟大小
alter diskgroup dg1 resize disk disk01 size 100g;
alter diskgroup dg1 resize disks in failgroup fg1 size 100g;
alter diskgroup dg1 resize all size 100g;

2-5. rebalance 磁碟組
alter diskgroup dg1 rebalance power 5 [wait];

2-6. 檢視後臺正在進行的操作
select * from v$asm_operation;

2-7. 掛載/解除安裝磁碟組
alter diskgroup all dismount;
alter diskgroup all mount;
alter diskgroup dg1 dismount;
alter diskgroup dg1 mount;

2-8. 建立/修改/刪除模板
alter diskgroup dg1 add template template1 attributes (mirror fine);
alter diskgroup dg1 alter template template1 attributes (coarse);
alter diskgroup dg1 drop template template1;

unprotected 
mirror 
coarse 
fine 

2-9. 建立/重新命名/刪除目錄
alter diskgroup dg1 add directory '+dg1/dir1';
alter diskgroup dg1 rename directory '+dg1/dir1' to '+dg1/dir_2';
alter diskgroup dg1 drop directory '+dg1/dir_2' force;

2-10. 建立/重新命名/刪除別名
alter diskgroup dg1 add alias '+dg1/dir/file.dbf' for '+dg1/asmdb/datafile/ts.342.3';
alter diskgroup dg1 add alias '+dg1/dir/file.dbf' for '+dg1.342.3';
alter diskgroup dg1 rename alias '+dg1/dir/file.dbf' to '+dg1/dir/file2.dbf';
alter diskgroup dg1 delete alias '+dg1/dir/file.dbf';

2-11. 刪除檔案
alter diskgroup dg1 drop file '+dg1/dir/file.dbf';
alter diskgroup dg1 drop file '+dg1.342.3';
alter diskgroup dg1 drop file '+dg1/asmdb/datafile/ts.342.3';

2-12. 檢查後設資料
alter diskgroup dg1 check file '+dg1/dir/file.dbf'
alter diskgroup disk_group_1 check failgroup failure_group_1;
alter diskgroup dg1 check disk disk01;
alter diskgroup dg1 check all;

3. 相關檢視
select * from dict where table_name like 'V$ASM_%';

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