AIX下RAC共享存储扩容 下载本文

对ASM dgdata磁盘组增加disk实施步骤

1. 背景描述

1解决以下几种出现的问题: A、 数据库提示归档日志空间不足

B、 数据库提示表空间不足,而磁盘又没有足够的空间

如oracle 11G 的某个表空间使用率达98%,需要扩大表空间,查看ASM dgdata磁盘组大小,只剩下500Mb,需要增加disk。 环境:

操作系统:AIX 6.1 数据库:oracle11g 存储:EMC NS480

2. 在ASM磁盘组增加disk步骤: 2.1. 检查已有的系统磁盘

查看系统磁盘空间和pv名及状态 1) # df –k ; 2)# lspv;

2.2. 查看ASM资源组目前状态及总大小与剩余大 1)# su – ora11g注:ora11g为aix系统的oracle数据库系统管理员账户,要在此账户下执行。 2)先查看ASM名称用命令ps -ef|greppmon即可查看,比如为+ASM2 3)$ export ORACLE_SID=+ASM2

4)# su– grid 在AIX系统管理员下切换到grid用户下,这样就不需要知道grid用户的登录密码

5)$asmcmd

6)asm>lsdg查到只剩下500Mb

2.3. 查看ASM资源组目前状态及总大小与剩余大

2.3.1. 首先看一下用户grid下有没有没被使用的磁盘,如果有,可以直接跳过2.4,从2.5

执行.

1)# su – grid

2)$export ORACLE_SID=+ASM 2 3)$sqlplus “/as sysasm” 4)>col name for a20 5)>col path for a30

6)>select name,path from v$asm_disk;---查看原有ASM 磁盘,比如有磁rhdiskpower10,rhdiskpower11,rhdiskpower12没有使用 namepath *group…..

/dev/rhdiskpower10 /dev/rhdiskpower11 /dev/rhdiskpower12 *

namepath

DGDATA_0000 /dev/rhdiskpower0

DGDATA_0001 /dev/rhdiskpower1 DGDATA_0002 /dev/rhdiskpower2 DGDATA_0003 /dev/rhdiskpower3 DGDATA_0004 /dev/rhdiskpower4 DGRECOVER_0000 /dev/rhdiskpower5 winddata_0001 /dev/rhdiskpower20

2.3.2. 如果有没有被使用的磁盘,必须执行2.4

2.4. 在EMC存储上划分lun 100G(客户划分3个100G lun)

注意客户那EMC-NS480已经规划异地容灾,所以划lun时要注意创建mirror 2.4.1. 主机扫描新划的磁盘 # cfgmgr

2.4.2. 确认新盘 # lspv

# powermt display dev=all |more 2.4.3. 对新加磁盘赋予权限和属性 # cd /dev

# ls –l *hdiskpower10

# chown ora10g:dba /dev/rhdiskpower10 # chmod 660 /dev/rhdiskpower10 # ls –l *hdiskpower10

# chown ora10g:dba /dev/rhdiskpower11 # chown ora10g:dba /dev/rhdiskpower12 # chmod 660 /dev/rhdiskpower11 # chmod 660 /dev/rhdiskpower12 # ls –l rhdiskpower1*

2.5. dgdata磁盘组增加disk # su–grid ---切换到grid用户 # export ORACLE_SID=+ASM2 # sqlplus “/as sysasm” >col name for a20 >col path for a30

>select name,path from v$asm_disk;--查看原有ASM 磁盘,比如有磁盘组名称为DGDATA DGDATA_0000 /dev/rhdiskpower0 DGDATA_0001 /dev/rhdiskpower1 DGDATA_0002 /dev/rhdiskpower2 DGDATA_0003 /dev/rhdiskpower3 DGDATA_0004 /dev/rhdiskpower4 DGRECOVER_0000 /dev/rhdiskpower5 winddata_0001 /dev/rhdiskpower20 winddata_0002 /dev/rhdiskpower21 winddata_0003 /dev/rhdiskpower22

注:下面的rebalance power 10;为磁盘平衡参数,其中power 10的值可为power 0~11,0:

表示不进行rebalance,值越大, rebalance速度越快(此参数值需要磁盘组中的磁

盘大小一致,否则会报错,如果大小不一致,可设置为rebalance power 0)

----增加rhdiskpower10

>alter diskgroupdgdata add disk '/dev/rhdiskpower10' rebalance power 10; ----增加rhdiskpower11

>alter diskgroupdgdata add disk '/dev/rhdiskpower11' rebalance power 10; ----增加rhdiskpower12

>alter diskgroupdgdata add disk '/dev/rhdiskpower12' rebalance power 10; ----查看新加asm磁盘

>select name,path from v$asm_disk; NAME PATH

-------------------- ------------------------------ DGDATA_0000 /dev/rhdiskpower0 DGDATA_0001 /dev/rhdiskpower1 DGDATA_0002 /dev/rhdiskpower2 DGDATA_0003 /dev/rhdiskpower3 DGDATA_0004 /dev/rhdiskpower4 DGRECOVER_0000 /dev/rhdiskpower5 DGDATA_0005 /dev/rhdiskpower10 DGDATA_0006 /dev/rhdiskpower11 DGDATA_0007 /dev/rhdiskpower12 winddata_0001 /dev/rhdiskpower20 winddata _0002 /dev/rhdiskpower21 winddata _0003 /dev/rhdiskpower22

以下可不操作

2.6. 监控asm磁盘组平衡速度(可不做平衡) # su–grid ---切换到grid用户 # export ORACLE_SID=+ASM2 # sqlplus “ / as sysasm”

>select * from v$asm_operation;

直到出现以下信息表示磁盘组平衡完成。 no rows selected

这次加300G,磁盘平衡时间用了1个30小时左右。 2.7. 备份磁盘头信息 su - oracle

cd /ora/app/oracle/diskheader

kfed read /dev/rhdiskpower10 >hdisk10header.txt kfed read /dev/rhdiskpower11 >hdisk11header.txt kfed read /dev/rhdiskpower12 >hdisk12header.txt