ASM Instances管理

2017-10-19 Oracle 宅必备

这个专题讲ASM相关的内容

内容主要来自官方文档,加上一些自己的理解及实践

这节将ASM实例的一些参数,这节讲如何管理ASM实例

1. 使用Server Control Utility (SRVCTL)管理ASM

可以使用SRVCTL做如下操作:

srvctl add asm -n node_name -i +asm_instance_name -o oracle_home

具体可参见如下链接:

官方网站

2. 启动ASM实例

启动ASM实例不同于Oracle数据库的启动那样mount和open数据文件,它会首先启动实例然后挂在磁盘组

当上面列表中没有磁盘组时,ASM实例会启动起来,但不会挂载任何磁盘组

之后可以通过命令ALTER DISKGROUP…MOUNT来挂载

mount force

当normal,high级别的磁盘组中有磁盘损坏的话,ASM 提供 mount force命令来强制mount磁盘组

前提是磁盘组中有至少一份完整的数据文件拷贝

注意:如果磁盘组中的磁盘都是好的,这时使用mount force,会导致命令失败

2.1 startup 参数

我们使用startup命令来启动ASM实例

和Oracle数据库启动一样,startup有一些参数可以使用

FORCE

在启动ASM之前先执行 shutdown abort命令

MOUNT or OPEN

开启ASM实例并mount磁盘组,这是默认参数

NOMOUNT

开启ASM实例但是不mount磁盘组

RESTRICT

开启ASM实例并只允许具有 CREATE SESSION 和 RESTRICTED SESSION 系统权限的用户登入

可以用在 mount,nomount,open参数后面

下图为一个开启ASM实例的例子

Alt text

2.2 RESTRICT模式

当ASM以RESTRICT模式启动时,磁盘组是以RESTRICT模式挂载的,这种情况下数据库无法访问ASM磁盘组,便于维护

startup mount RESTRICT 

维护结束后需要dismout然后重新mount磁盘组

2.3 Cluster Synchronization Services(CSS)服务

该服务进程为ASM提供集群服务,ASM和数据库实例间的通信以及其他的一些服务,在ASM启动前需确保其开启状态

检查CSS是否启动

crsctl check cssd

Alt text

开启CSS服务

使用root 用户登录并确保$ORACLE_HOME/bin 在环境变量中

localconfig add

3. 关闭ASM实例

ASM实例的关闭包括dismount磁盘组和关闭实例两步

关闭ASM前需要先关闭相关的数据库实例

我们使用shutdown命令来关闭ASM实例,它有如下参数:

NORMAL

ASM 等待现有SQL执行完成后才会dismount磁盘组,然后需要等到所有用户断开连接才会关闭实例

如果有数据库实例连接到ASM实例,则该命令失败,ASM实力仍为running状态

这是默认的参数

IMMEDIATE 或TRANSACTIONAL

ASM 等待现有SQL执行完成后才会dismount磁盘组,然后不需要等到所有用户断开连接才会关闭实例

如果有数据库实例连接到ASM实例,则该命令失败,ASM实力仍为running状态

ABORT

ASM实例立刻关闭而不需要dismount磁盘组

下次启动时会进行ASM实例恢复

如有数据库实例连接在ASM实例,则数据库也会关闭

4. ASM后台进程

ASM后台进程主要有下面几个

RBAL进程运行在数据库端负责打开ASM磁盘,运行在ASM端负责重新平衡磁盘组

另外还有一些通用的进程,如DBWn ,LGWR ,PMON ,SMON

还有一些为完成特别任务才有的进程,如 Snnn