ITPub博客

oracle 11g数据库ASM磁盘组存储空间扩容实施

Oracle 作者:kunlunzhiying 时间:2017-01-25 13:49:00 0 删除 编辑
 

1.       任务概述

XX系统存放oracle数据文件的DATA磁盘组空间因为开发方新上线业务,造成原有数据库表空间较为紧张,应业务开发方要求,为了适应未来的数据增长要求,需要扩容。

此方案为数据库扩容常规标准步骤,无需专门测试,但是,在数据库存储扩容前,为防止变更操作带来的风险,需要对数据库数据作备份,以防万一出现问题时做回退恢复。

在实施存储扩容变更操作时,由于是底层磁盘阵列和操作系统的标准化操作,为了防止 操作失误,必须一人操作,另一人在旁监督检查,并且分步确认,步步把关,确保万无一失。

  

1.1.       实施任务

DATA磁盘组扩容:

DS5300存储RAID10组中划分新的2300GLUN并添加到DATA磁盘组给XX集群数据库使用,RAID10组剩余的空间可以留给以后扩容或其他用途使用。

1.2.       环境简介

系统名称:XX系统;主机:两台IBM P750小型机;操作系统:AIX 6.1

存储:1IBM DS5300;数据库:ORACLE RAC 11.2.0.3.0

1.3.       实施时间

201311月。

1.4.       实施人员

2.         实施方案

2.1.       实施内容

原有数据库需要作数据作RMAN备份;

连接到存储DS5300划分LUN,并加载到主机;

主机扫描识别,修改属性及权限;

ASM存储DATA磁盘组增加disk扩容;

检查数据库和应用。

2.2.       实施步骤

步骤

花费时间

备注

1.       数据库数据备份

60分钟

2.       连接到存储DS5300

3.       创建LUN

4.       LUN加载到主机

5.       主机扫描新划分的磁盘

6.       修改盘符属性

7.       修改磁盘所有者及权限

8.       查看当前ASM空间使用情况

9.       DATA磁盘组扩容

2.3.       实施风险控制

在数据库存储扩容前,为防止变更操作风险,需要对数据库数据作备份,以防万一。

在实施存储扩容变更操作时,由于是底层磁盘阵列和操作系统的标准化操作,为了防止 操作失误,必须一人操作,另一人在旁监督检查,并且分步确认,步步把关,确保万无一失。

3.             详细实施步骤

3.1.    RMAN备份

在数据库服务器节点2上通过RMAN对数据库做全备份,历时约60分钟。

具体步骤如下:

root用户创建备份用的目录,并更改所有者等;

#mkdir -p /backup/20131122

#chown -R oracle:dba /backup/

oracle用户创建rman备份用的脚本,并赋权限:

#su - oracle

$cd /backup/20131122

$vi rmanbackup.sh  

$chmod 744 rmanbackup.sh

RMAN全备份脚本rmanbackup.sh内容:

run{

allocate channel ch1 device type disk;

allocate channel ch2 device type disk;

allocate channel ch3 device type disk;

backup as compressed backupset full database format '/backup/20131122/db_%U_%d' tag="full" spfile include current controlfile;

sql 'alter system archive log current';

change archivelog all crosscheck;

backup as compressed backupset archivelog all format '/backup/20131122/arch_%t_%s'  tag="archivelog";

release channel ch1;

release channel ch2;

release channel ch3;

}

使用脚本做RMAN备份,通过参数cmdfile指定命令文件,使用log指定日志文件:

nohup rman target / cmdfile=/backup/20131122/rmanbackup.sh log=/backup/20131122/rmanbackup.log &

3.2.    连接到存储

将本机设置为192.168.128.XX(不要跟存储控制器的管理ip有冲突),通过集线器,连接到IBM DS5300存储的两个控制器的管理口,SPA192.168.128.101)和SPB192.168.128.102),在本机ping两个管理口地址,是否能ping通。

如果两个控制器管理IP均可以ping通,然后使用IBMstorage manager客户端连接到存储。

3.3.    创建LUN

        参照目前DS5300存储划分给DATA磁盘组的LUN大小,为了保证数据库存储层面的性能稳定性,这次扩容在DS5300存储RAID10组中新创建2300GLUNDATA_0005- DATA_0013

        点击RAID10组(array2),查看此raid组剩余空间为1.5TB,右键点击RAID10组的free capacity,选择create logical drive,创建一个LUN;等到上一个创建完成后,继续创建下一个。

注意:在新建LUN时,选择自定义,选择将LUN分配给数据库使用,其他使用默认设置。

3.4.    LUN加载到主机

将刚刚创建的几个LUN加载到数据库的主机组里,映射,后台同步。

3.5.    主机扫描

root用户执行操作,主机扫描新划分的磁盘:

1)登录数据库服务器节点1,使用cfgmgr命令,扫描一下新盘,然后通过lspv命令,查看扫描到的硬盘:

# lspv

# cfgmgr

# lspv

hdisk18         none                                None                               

hdisk19         none                                None                               

2)登录数据库服务器节点2,使用cfgmgr命令,扫描一下新盘,然后通过lspv命令,查看扫描到的硬盘:

# lspv          

# cfgmgr

# lspv

hdisk18         none                                None                               

hdisk19         none                                None                               

注意:要确保数据库的两个节点扫描到的盘符一致

          

3.6.    修改盘符属性

root用户登录数据库服务器节点1,修改盘符属性:

# chdev -l hdisk18 -a reserve_policy=no_reserve

# chdev -l hdisk19 -a reserve_policy=no_reserve

root用户登录数据库服务器节点2,修改盘符属性:

# chdev -l hdisk18 -a reserve_policy=no_reserve

# chdev -l hdisk19 -a reserve_policy=no_reserve

3.7.    修改磁盘所有者及权限

root用户登录数据库服务器节点1,修改磁盘所有者及权限:

#cd /dev

#ls -l rhdisk*

#chown grid:dba  /dev/rhdisk18

#chown grid:dba  /dev/rhdisk19

#chmod 660  /dev/rhdisk18

#chmod 660  /dev/rhdisk19

#ls -l rhdisk*

root用户登录数据库服务器节点2,修改磁盘所有者及权限:

#cd /dev

#ls -l rhdisk*

#chown grid:dba  /dev/rhdisk18

#chown grid:dba  /dev/rhdisk19

#chmod 660  /dev/rhdisk18

#chmod 660  /dev/rhdisk19

#ls -l rhdisk*

================================================================

说明:以下步骤(3.8-3.9)只在节点1上操作即可:

3.8.    查看ASM空间情况

登录到数据库服务器节点1,以grid用户查看ASM磁盘组空间情况:

#su - grid

$ asmcmd

ASMCMD> lsdg

3.9.    DATA磁盘组扩容

登录到数据库服务器节点1,查看asm_power_limit参数值,并调大为10,以加快后台ASM动态平衡速度:

说明:

以下如无特殊说明,均由grid用户操作;

此步骤调整asm_power_limit参数值必须是ASM类型实例下操作,否则报错ORA-15021

su - grid

sqlplus  / as sysdba

show parameter asm_power_limit

alter system set asm_power_limit=10 sid= '*' scope=both;

show parameter asm_power_limit

查看磁盘组使用情况及磁盘名称和路径:

select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;

select name,path from v$asm_disk;

将新增加的磁盘依次添加到DATA磁盘组:

说明:此处必须以sysasm身份操作,否则报错ORA-15032和ORA-15260,这是oracle 11G ASM磁盘管理上的一个改进。
(参考) 

http://www.oracle.com/technetwork/cn/articles/sql/11g-asm-094058-zhs.html


sqlplus / as sysasm

alter diskgroup DATA  add disk '/dev/rhdisk18';

alter diskgroup DATA  add disk '/dev/rhdisk19';

col name for a10

col path for a30

select name,path from v$asm_disk;

将当前的diskgroup组的rebalance速度修改为10

alter diskgroup DATA  rebalance power  10;

查看重新平衡需要的时间:

 select operation,est_minutes from v$asm_operation;

select name,path from v$asm_disk;

select operation,est_minutes from v$asm_operation;

添加完毕并且重新平衡完成后,恢复到平衡速率为1,并调整参数为1

alter diskgroup DATA rebalance power 1;

alter system set asm_power_limit=1 sid=’*’ scope=both;

查看ASM磁盘组空间情况:

SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;

================================================================

3.10. 检查数据库和应用

检查集群数据库和应用是否正常。

1)检查集群数据库是否正常:

检查集群状态(grid用户):

crs_stat -t

crsctl check crs

ocrcheck

检查数据库集群两个节点告警日志是否有报错

检查结果:正常

2)开发方人员检查检查应用是否正常

检查结果:正常

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28211342/viewspace-2132900/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-07-28

  • 博文量
    669
  • 访问量
    235275