温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ASM实例管理

发布时间:2020-08-27 03:42:11 来源:网络 阅读:522 作者:三国冷 栏目:关系型数据库

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中的命令相似。







向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI