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

AIX之ASM存储扩容的更多相关文章

  1. ORA-15025 搭建DG环境,restore controlfile报错,提示oracle无法使用ASM存储

    环境说明: #主库RAC环境 #备库RAC环境,操作系统AIX 6.1 数据库版本11.2.0.3 报错说明: #主库备份控制文件,传输至备库,备库restore 报错 本篇文档,分为两大阶段:第一阶 ...

  2. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  3. oracle11gR2 手工创建基于asm存储的oracle实例

    http://www.cnblogs.com/beanbee/archive/2012/09/22/2697689.html使用命令行手工建立Oracle11gR2数据库 通过命令行建立一个数据库可以 ...

  4. 转://oracle 11gR2 oracle restart 单机使用asm存储 主机名发生更改处理过程

    oracle 11gR2 oracle restart 单机使用asm存储 主机名发生更改并且主机重启后处理过程: 以下为解决方案: 1. Remove Oracle Restart configur ...

  5. [工作相关] GS产品使用LInux下Oracle数据库以及ASM存储时的数据文件路径写法.

    1. 自从公司的GS5版本就已经支持Linux下的oracle数据库通过安装工具自动安装注册了, 只不过路径需要使用linux的命名规则, 如图: /home/oracle/ 注意 最后是有一个 斜线 ...

  6. Oracle DB 使用RMAN将数据库移植到ASM存储区

    1. 完全关闭数据库. 2. 关闭数据库并修改服务器参数文件,以使用Oracle Managed Files (OMF). 3. 编辑并执行以下RMAN 脚本: STARTUP NOMOUNT; RE ...

  7. 转载:利用UDEV服务解决RAC ASM存储设备名

    利用UDEV服务解决RAC ASM存储设备名 本文转载自Maclean Liu :http://www.askmaclean.com/archives/utilize-udev-resolve-11g ...

  8. 转:利用UDEV服务解决RAC ASM存储设备名

    利用UDEV服务解决RAC ASM存储设备名 好文转载,链接:http://www.askmaclean.com/archives/utilize-udev-resolve-11gr2-rac-asm ...

  9. AIX文件系统和存储部署(转)

    文件系统和存储部署 文件系统的管理是AIX存储结构中的最后一环.定义完lv后,可采用如下两种方式使用lv: a.作为裸设备(raw)使用,一般是数据库型的应用 b.在lv上定义文件系统,并提供文件和数 ...

随机推荐

  1. LESS 学习记录(简单入门)

    什么是 LESS LESS是一种动态样式语言,属于 CSS 预处理语言的一种.它使用类似 CSS 的语法,但是 赋予了动态语言的特性,比如变量.继承.运算.函数等,方便 CSS 的编写和维护. 使用 ...

  2. MongoEngine简易教程(转)

    原文:http://www.xefan.com/archives/84063.html Mongoengine教程(1)——概述 Mongoengine教程(2)——文档模式 Mongoengine教 ...

  3. 配置zabbix当内存剩余不足10%的时候触发报警

    配置zabbix当内存剩余不足10%的时候触发报警 zabbix默认的剩余内存报警: Average Lack of available memory on server {HOST.NAME}{Te ...

  4. KMP算法简明扼要的理解

    KMP算法也算是相当经典,但是对于初学者来说确实有点绕,大学时候弄明白过后来几年不看又忘记了,然后再弄明白过了两年又忘记了,好在之前理解到了关键点,看了一遍马上又能理解上来.关于这个算法的详解网上文章 ...

  5. 理解docker容器和镜像(layer,ufs)和docker命令解释

    博客好文1:http://blog.csdn.net/x931100537/article/details/49633107(理解docker容器和镜像,理解简单,从原理入手,什么是layer,什么是 ...

  6. 设置PATH变量

    一不小心把PATH变量清空了,所有的命令都执行不了了,提示“xxx: command not found”,解决办法:在命令行输入export PATH=/usr/local/sbin:/usr/lo ...

  7. python json学习之路2-认识python种的json模块

    1.从python原始类型向json类型的转化过程,具体的转化对照如下: 2.从json到python的类型转化对照如下: 3.json提供四个功能:dumps, dump, loads, load ...

  8. C# 使用Newtonsoft.Json.dll 格式化显示Json串

    private string ConvertJsonString(string str) { //格式化json字符串 JsonSerializer serializer = new JsonSeri ...

  9. 数据库记录转换成json格式 (2011-03-13 19:48:37) (转)

    http://blog.sina.com.cn/s/blog_621768f30100r6v7.html 数据库记录转换成json格式 (2011-03-13 19:48:37) 转载▼ 标签: 杂谈 ...

  10. E. Santa Claus and Tangerines 二分答案 + 记忆化搜索

    http://codeforces.com/contest/752/problem/E 首先有一个东西就是,如果我要检测5,那么14我们认为它能产生2个5. 14 = 7 + 7.但是按照平均分的话, ...