ASM存储扩容操作其实很简单,无非就是向DiskGroup(简称DG)里添加物理磁盘,增加DG的存储空间。说来简单,其实操作过程中有很多小细节要注意,否则,带来的后果是灾难性的。

ASM扩容操作步骤(以AIX操作系统为例):

(1)扫盘

cfgmgr -v 命令执行操作系统扫盘操作,需要在每个节点上都要执行此命令,扫描出机器中新增的物理磁盘。扫描到新的物理磁盘后,执行以下命名:
     chdev -l hdiskX -a pv=yes 给新的磁盘一个唯一编号id

(2)查看磁盘配置信息

lscfg -vpl hdiskX 命令来查看hdiskX磁盘的配置信息,确保这块磁盘是来自于同一块存储,以防存储问题。

(3)查看新磁盘的盘符信息

lsattr -El hdiskX 命令查看hdiskX磁盘的盘符信息。注意需要在每个节点上执行以下命令以修改reserve_policy属性。

chdev -l hdiskX -a reserve_policy=no_reserve

(4)修改磁盘的权限

想让ASM识别出新增的物理磁盘,需要将新增的磁盘设备的权限修改为ASM用户可以访问的权限才可以。注意需要在每个节点上都要执行以下操作:

切换到/dev路径下执行以下命令:

chown oracle:dba /dev/rhdiskX --注意这个是rhdisk

chmod 660 /dev/rhdiskX

关于rdiskX与hdiks的区别在于一个是字符设备,一个是块设备。

(5)向DG里添加磁盘

SQL>Alter diskgroup datadg add disk '/dev/rhdiskX';

(6)查看数据Rebalancing情况

在往ASM的DG中新增物理磁盘时,DiskGroup会在后台自动做reblance操作,将数据均摊到每一块磁盘上。

1)V$ASM_OPERATION

此视图可以查看DiskGroup后台Reblance的速度以及好视情况。

2)V$ASM_DISK_STAT

此视图可以查看磁盘和其使用度量信息,查看磁盘状态

注意:Reblancing的速度与asm_power_limit参数有关,默认值为1。

官方解释为

ASM_POWER_LIMIT specifies the maximum power on an Automatic
Storage Management instance for disk rebalancing. The higher the limit,
the faster rebalancing will complete. Lower values will take longer, but
consume fewer processing and I/O resources.If the POWER clause of a
rebalance operation is not specified, then the default power will be the
value of ASM_POWER_LIMIT.

修改ASM_POWER_LIMIT方法,其取值范围为0~11。

(1)ALTER SESSION SET ASM_POWER_LIMIT=2;

(2)ALTER SYSTEM SET ASM_POWER_LIMIT=2;

(7)最关键的一步也是最容易出问题的

执行往DG中添加磁盘命令之后,一定要在每个节点上检查SID_ALERT.log日志,这一步很关键,也是最容易出问题的。一般以为,添加磁盘的命令执行成功了,就大功告成了,有时间就是一丁点的粗心大意,就酿造了一场事故。做DBA一定要万分谨慎并具有缜密的思维。

在ALERT日志中可以看到数据库的报警信息以及警告信息,如果ALERT日志一切正常,表名之前操作无误,便可以回家睡觉了。

总结:

DBA需要缜密的思维以及过硬的功底,数据库良好的备份是基础。做事要万分小心,一时的误操作可能带来灾难性的后果。

最新文章

  1. c/c++ long long 和__64int区别
  2. win10 下oracle tns通过IP无法访问的解决办法
  3. Google云平台对于2014世界杯半决赛的预测,德国阿根廷胜!
  4. jQuery---EasyUI小案列
  5. 分享git的常用命令
  6. BZOJ1075 : [SCOI2007]最优驾车drive
  7. Dirichlet's Theorem on Arithmetic Progressions 分类: POJ 2015-06-12 21:07 7人阅读 评论(0) 收藏
  8. NDK xxxxx could not be resolved解决方法
  9. 网关协议学习:CGI、FastCGI、WSGI、uWSGI
  10. OpenCV学习 1:OpenCV安装与第一个图像显示程序
  11. Swift 2.0 自定义cell和不同风格的cell
  12. 发布.NET MVC网站 到Azure
  13. 聊一聊Redis的数据结构
  14. LRUCache原理分析
  15. 关于embed的一些使用兼容
  16. linux:你不知道的echo
  17. python安装包API文档
  18. 三星S4 i9508 4.4.2 root 教程
  19. java HMAC_SHA1加密算法
  20. 1 php protocolbuffers安装

热门文章

  1. java学习第三天
  2. MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例
  3. 第五百七十八、九天 how can I 坚持
  4. windows下Redis编译安装
  5. CSS背景图拉伸自适应尺寸,全浏览器兼容
  6. 如何在A用户下建立视图,这个视图是A的表与B的表进行关联的?
  7. IOC和AOP使用扩展 多种方式实现依赖注入
  8. Spring MVC Web框架
  9. win8.1 vs2010 C++环境下 编译Android Adb.exe
  10. vim global命令