当前位置:数据库 > Oracle >>

Oracle ASM操作管理

Oracle ASM操作管理
 
查看ASM磁盘情况
SQL> select group_number,disk_number,mount_status,header_status,mode_status,state,failgroup,total_mb,free_mb,name,path from v$asm_disk;
查看ASM磁盘组情况
SQL> select group_number,block_size,name,allocation_unit_size,state,type,total_mb,free_mb,offline_disks from v$asm_diskgroup;
创建ASM磁盘
[root@b1 redhat 5.4-64]#/usr/sbin/oracleasm createdisk disk1 /dev/sdb1

[root@b1 redhat 5.4-64]#/usr/sbin/oracleasm createdisk disk2 /dev/sdb2

[root@b1 redhat 5.4-64]#/usr/sbin/oracleasm querydisk /dev/sdb*
Device "/dev/sdb" is not marked as an ASM disk
Device "/dev/sdb1" is marked an ASM disk with the label "DISK1"
Device "/dev/sdb2" is marked an ASM disk with the label "DISK2"

[root@b1 redhat 5.4-64]#/usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@b1 redhat 5.4-64]#/usr/sbin/oracleasm listdisks
DISK1
DISK2 

删除ASM磁盘
[root@b1 ~]#/usr/sbin/oracleasm deletedisk disk4
Clearing disk header: done
创建ASM磁盘组
     a、创建外包冗余磁盘组
         create diskgroup dg1 external redundancy  disk 'ORCL:disk3','ORCL:disk4';
     b、创建普通冗余磁盘组(至少两块磁盘)
          create diskgroup dg1 normal redundancy failgroup fg1 disk 'ORCL:disk3'  failgroup fg2 disk 'ORCL:disk4';
      c、创建高冗余磁盘组(至少三块磁盘)
           create diskgroup dg1 high redundancy
           failgroup fg1 disk 'ORCL:disk3' name dg1_a
           failgroup fg2 disk 'ORCL:disk4' name dg1_b
           failgroup fg3 disk 'ORCL:disk5' name dg1_c; 
删除ASM磁盘组
drop diskgroup dg1;
drop diskgroup dg1 including contents; 

向ASM磁盘组中增加磁盘 
a、向高冗余磁盘组中添加磁盘成员
alter diskgroup dg1
add failgroup fg1 disk 'ORCL:diskd1'
add failgroup fg2 disk 'ORCL:diskd2'
add failgroup fg3 disk 'ORCL:diskd3';
b、向外部冗余磁盘组中添加磁盘成员
alter diskgroup dg2 add disk 'ORCL:diske2';

从ASM磁盘组中删除磁盘
 alter diskgroup dg1 drop disk diskd1,diskd2,diskd3;    --删除的时候注意冗余模式,视情况而删除
 alter diskgroup dg2 drop disk diske2 add disk 'ORCL:DISKE3';  --删除磁盘时同时添加磁盘,可减少重平衡次数
删除故障组(即删除故障组中的所有磁盘)
alter diskgroup dg1 drop disks in failgroup fg3;
添加故障组
alter diskgroup dg1 add failgroup fg3 disk 'ORCL:disk5';
删除磁盘时同时添加故障组
alter diskgroup dg1 drop disks in failgroup fg3 add failgroup fg4 disk 'ORCL:disk6';
停止磁盘从一个磁盘组中删除‘
ALTER DISKGROUP dgroup_01 UNDROP DISKS;
 平衡磁盘数据
 alter diskgroup dg1 rebalance;
alter diskgroup dg1 rebalance wait; --wait即等到数据平衡结束才在命令行提示结束
 alter diskgroup dg1 rebalance power 11;
停止平衡磁盘数据
alter diskgroup dg1 rebalance power 0;

挂载和卸载磁盘组
alter diskgroup dg1 mount;
alter diskgroup dg1 dismount;
alter diskgroup dg1 dismount force;
 重置磁盘大小
ALTER DISKGROUP dg1 RESIZE ALL SIZE 512M; --把dg1中所有磁盘置为512M
ALTER DISKGROUP dg1 RESIZE disk diskd4 SIZE 564M;
检测磁盘组一致性
ALTER DISKGROUP dg1 CHECK ALL;
ALTER DISKGROUP dg1 CHECK ALL REPAIR;--检测一致性,并修复错误
ASM目录管理
增加目录
SQL> alter diskgroup DG2 add directory '+DG2/datafile'; 
 重命名目录
SQL> alter diskgroup DG2 rename directory '+DG2/datafile' to '+DG2/datafiles'; 
删除目录
SQL> alter diskgroup DG2 drop directory '+DG2/datafiles'; 

ASM别名管理
 asm文件添加别名
SQL> alter diskgroup data add alias  '+data/c1/datafile/system01.dbf' for  '+data/c1/datafile/SYSTEM.260.803945885';
Diskgroup  altered.
asm文件修改别名
alter diskgroup data rename alias  '+data/c1/datafile/system01.dbf' to '+data/c1/datafile/system02.dbf';
asm文件删除别名
alter diskgroup DG1 drop alias '+data/c1/datafile/system02.dbf';

ASM模板管理
查看默认asm模板的冗余级别和条带化
select * from v$asm_template;
查看以使用的模板
select name,redundancy,striped
from v$asm_alias a,v$asm_file b
where a.file_number=b.file_number
and a.group_number=b.group_number
order by a.file_number;
创建asm模板的语法
ALTER DISKGROUP disk_group_name ADD TEMPLATE template_name
ATTRIBUTES ([{MIRROR|HIGH|UNPROTECTED}] [{FINE|COARSE}]);
--attributes:第一列指冗余,第二列指条带
创建模板
alter diskgroup dg1 add template template1 attributes (high fine);
alter diskgroup dg1 add template template2 attributes (unprotected coarse);
修改模板
alter diskgroup dg1 alter template template1 attributes (coarse);
删除模板
alter diskgroup dg1 drop template template1;
使用模板
create tablespace test datafile '+DG1(template1)' size 50M;

 


Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,