微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASM实例管理

1、启动和关闭

root账户下执行:/etc/init.d/init.ohasd run 

crs_start -all

crs_stop -all

查看实例的状态:crs_stat -t

2、相关的动态性能视图:

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文件的别名信息

3、查看数据文件

select * from v$datafile;

数据文件格式:

1)完全限定的名称

+group/dbname/file type/tag.file.incarnation 

group:磁盘组名;dbname是文件所属的数据库;file type是Oracle文件类型;

tag是文件类型特有的信息;file.incarnation对文件确保唯一性。

2)取别名:

alter diskgroup <diskgroup_name> add alias '<alias_name>' for '<asm_file>';   

修改别名:

alter diskgroup <diskgroup_name> add alias '<old_alias_name>' to '<new_alias_name>'; 

删除别名

alter diskgroup <diskgroup_name> delete alias '<alias_name>';

使用别名删除数据文件

alter diskgroup <diskgroup_name> drop file '<alias_name>';

使用全名删除数据文件

alter diskgroup <diskgroup_name> drop file '<asm_file>';

查看别名信息

select * from v$asm_alias; 

4、管理ASM磁盘组

创建新的diskgroup 

CREATE disKGROUP diskgroup_name

              [ { HIGH | norMAL | EXTERNAL } REDUNDANCY ]

              [ FAILGROUP failgroup_name ]

              disK [ NAME disk_name ] [ SIZE size_clause ] [ FORCE | NOFORCE ] ...; 

1)先创建磁盘,再分配磁盘组

/etc/init.d/oracleasm createdisk DATA4 /dev/sdc1

/etc/init.d/oracleasm createdisk DATA5 /dev/sdc2

/etc/init.d/oracleasm createdisk DATA6 /dev/sdc3

创建有两种方式:

2)使用SYSASM登陆:[不要使用SYSDBA登陆]

create diskgroup ASM1 normal redundancy

failgroup DATA4 disk '/dev/oracleasm/disks/DATA4' name DATA4

failgroup DATA5 disk '/dev/oracleasm/disks/DATA5' name DATA5; 

[会报ORA-15014、ORA-15031且使用“alter system set asm_diskstring”无法修改,报ORA-15014]

create diskgroup ASM1 normal redundancy

failgroup DATA4 disk 'ORCL:DATA4' name DATA4

failgroup DATA5 disk 'ORCL:DATA5' name DATA5;--测试中使用了第二种方法

删除diskgroup 

drop diskgroup <diskgroup_name>  [including contents] [force];

drop diskgroup ASM1 including contents; 

手动mount命令 

ALTER disKGROUP ALL dismoUNT;

ALTER disKGROUP ALL MOUNT;

ALTER disKGROUP <diskgroup_name> dismoUNT;

ALTER disKGROUP <diskgroup_name> MOUNT;

磁盘成员管理 

diskgroup增加disk

alter diskgroup DATA add disk '/dev/oracleasm/DATA4' name DATA4,'/dev/oracleasm/DATA5' name DATA5; 

alter diskgroup DATA add disk 'ORCL:DATA4' name DATA4,'ORCL:DATA5' name DATA5; --相当于增加了failgroup

diskgroup删除disk

alter diskgroup DATA drop disk DATA4; --删除之后,v$asm_disk中的state的状态是dropping,ASM后台会将DATA4中的信息挪到其他磁盘上,等到信息挪动完成之后,state字段会恢复正常。

取消删除disk的命令,只在上述命令没执行完成的时候有效

ALTER disKGROUP DATA UNDROP disKS; 

为DATA的个故障组各添加一个成员

alter diskgroup DATA

add failgroup DATA1 disk 'ORCL:DATA4'

add failgroup DATA2 disk 'ORCL:DATA5';

5、Rebalance

手动Rebalance

alter diskgroup DATA rebalance power 3 wait; 

为磁盘组增加目录

alter diskgroup DATA add directory '+DATA/datafile';    

动态平衡:

alter diskgroup DATA add disk 'ORCL:DATA4' rebalance power 11;

6、asmcmd

通过asmcmd命令,可以访问ASM磁盘组中的内容。在grid用户中的~/.bash_profile中添加实例的相关信息就可以使用asmcmd命令。

查看asmcmd命令可以使用help,具体的用法可以参考help [command].asmcmd中的命令功能用法与Linux中的命令相似。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐