<返回更多

LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

2019-08-13    
加入收藏

概述

最近工作需要,需对AIX系统上的Oracle RAC数据库做扩容,计划扩容200G,下面是环境说明:

LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


1、扩容前准备

1.1. 提供设备清单

将设备的大小和个数给系统和存储工程师,要求在节点上增加新的磁盘,其中 RAC 需要共享磁盘。

1.2. 对数据库进行备份

rman target /
backup full database;

1.3. 检查备份及可恢复性

rman target / 
list backup summary;  --概述可用的备份
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

说明:B表示backup,F表示FULL,A表示archive log,0 1表示incremental backup,S说明备份状态(A AVAILABLE X EXPIRED )

1.4. 备份ASM磁盘头(grid用户)

当前系统所有 asm 已使用的 pv 磁盘头均需进行备份

kfed read /dev/rhdisk1 >/home/grid/rhdisk1bak.txt 
kfed read /dev/rhdisk4 >/home/grid/rhdisk4bak.txt 
kfed read /dev/rhdisk6 >/home/grid/rhdisk6bak.txt 
kfed read /dev/rhdisk8 >/home/grid/rhdisk8bak.txt 
kfed read /dev/rhdisk10 >/home/grid/rhdisk10bak.txt 
kfed read /dev/rhdisk11 >/home/grid/rhdisk11bak.txt 
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


2、新设备调整(两个节点都需要执行)

2.1 主机扫描新划的磁盘

cfgmgr
--确认新盘
lspv
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

2.2. 权限调整(root)

# chmod 660 /dev/rhdisk12
# chown grid:dba /dev/rhdisk12
# ls -l /dev/rhdisk*
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

节点 2 也需要调整确认

2.3. 确认没有PVID(root)

# lspv |grep hdisk
--都是NONE就对了

说明:PVID 全称 physical volume identifier,它非常重要,相当于软序列号,当把一个磁盘变成 PV 时, 就生成了 PVID , PVID 是由机器序列号 (uname -m的前

8位 ) 和它生成的时间组成,这种机制保证了 PVID 的唯一性。当系统启动时,磁盘配置程序会寻找磁 盘上的 PVID ,并把它跟 ODM 库中的 PVID 信息进行比对,如果在 ODM 中找到匹配的条目,则把和这个 PVID 相对应的 hdisk 号赋予这个 PV ,如果没有匹配 的条目,则赋予这个 PVID 新的 hdisk 号。

LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

 

--如果存在 pvid ,需要清空(一定要慎重执行)
/usr/sbin/chdev -l hdisk<X> -a pv=clear 

2.4. 调整RESERVE_POLICY(两个节点执行)

如果是为 RAC 数据库添加新磁盘,还需要调整新磁盘的 reserve_policy 应为 no_reserve 或者 reserve_lock 应为no

# lsattr -El hdisk12 | grep -E "reserve_policy|reserve_lock"
# chdev -l hdisk12 -a reserve_policy=no_reserve
# lsattr -El hdisk12 | grep -E "reserve_policy|reserve_lock"
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


3、 扩容

3.1. 扩容前ASM检查

$sqlplus / as sysasm
set linesize 1000 pagesize 1000
col state for a20
col path for a50
col name for a3
select path,name,state from v$asm_disk where path like '/dev/rhdisk%' order by 1;
select NAME,STATE,TYPE,TOTAL_MB,FREE_MB from v$asm_diskgroup;
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

3.2. 加入新磁盘到磁盘组

sqlplus / as sysasm
alter diskgroup DATA add disk '/dev/rhdisk12' rebalance power 8;
--其中 power n 区间[0,11],n 越大 REBAL 越快,IO 压力也就越大。
--如果磁盘组是 NOMAL 冗余需要指定 FAILGROUP,如:
--alter diskgroup dgname add failgroup fgname1 disk '/dev/rhdiskpower453’ add failgroup fgname2 disk
'/dev/rhdiskpower454' [ rebalance power n] ;
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

3.3、监控REBAL进度

sqlplus / as sysasm
SQL> set linesize 1000
--无记录表示 REBAL 完成
SQL> select * from gv$asm_operation;
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

3.4、监控告警日志

tail -200f alert_otmdb1.log

LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


4、扩容后检查

4.1. 扩容后ASM检查

SQL> select NAME,STATE,TYPE,TOTAL_MB,FREE_MB from v$asm_diskgroup;
SQL> select path,name,state from v$asm_disk where path like '/dev/rhdisk%' order by 1;
LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

4.2. 备份新增加的设备

kfed read /dev/rhdisk12 >/home/grid/rhdisk12bak.txt

LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 

4.3、检查监听

LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

 


LINUX 11G RAC ASM磁盘组在线增加磁盘扩容
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>