千家信息网

ASM实例管理

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,1、启动和关闭root账户下执行:/etc/init.d/init.ohasd runcrs_start -allcrs_stop -all查看实例的状态:crs_stat -t2、相关的动态性能视图
千家信息网最后更新 2025年02月01日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 add alias '' for '';

修改别名:

alter diskgroup add alias '' to '';

删除别名

alter diskgroup delete alias '';

使用别名删除数据文件

alter diskgroup drop file '';

使用全名删除数据文件

alter diskgroup drop 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 [including contents] [force];

drop diskgroup ASM1 including contents;


手动mount命令

ALTER DISKGROUP ALL DISMOUNT;

ALTER DISKGROUP ALL MOUNT;

ALTER DISKGROUP DISMOUNT;

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







0