AIX之ASM存储扩容
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存储扩容的更多相关文章
- ORA-15025 搭建DG环境,restore controlfile报错,提示oracle无法使用ASM存储
环境说明: #主库RAC环境 #备库RAC环境,操作系统AIX 6.1 数据库版本11.2.0.3 报错说明: #主库备份控制文件,传输至备库,备库restore 报错 本篇文档,分为两大阶段:第一阶 ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- oracle11gR2 手工创建基于asm存储的oracle实例
http://www.cnblogs.com/beanbee/archive/2012/09/22/2697689.html使用命令行手工建立Oracle11gR2数据库 通过命令行建立一个数据库可以 ...
- 转://oracle 11gR2 oracle restart 单机使用asm存储 主机名发生更改处理过程
oracle 11gR2 oracle restart 单机使用asm存储 主机名发生更改并且主机重启后处理过程: 以下为解决方案: 1. Remove Oracle Restart configur ...
- [工作相关] GS产品使用LInux下Oracle数据库以及ASM存储时的数据文件路径写法.
1. 自从公司的GS5版本就已经支持Linux下的oracle数据库通过安装工具自动安装注册了, 只不过路径需要使用linux的命名规则, 如图: /home/oracle/ 注意 最后是有一个 斜线 ...
- Oracle DB 使用RMAN将数据库移植到ASM存储区
1. 完全关闭数据库. 2. 关闭数据库并修改服务器参数文件,以使用Oracle Managed Files (OMF). 3. 编辑并执行以下RMAN 脚本: STARTUP NOMOUNT; RE ...
- 转载:利用UDEV服务解决RAC ASM存储设备名
利用UDEV服务解决RAC ASM存储设备名 本文转载自Maclean Liu :http://www.askmaclean.com/archives/utilize-udev-resolve-11g ...
- 转:利用UDEV服务解决RAC ASM存储设备名
利用UDEV服务解决RAC ASM存储设备名 好文转载,链接:http://www.askmaclean.com/archives/utilize-udev-resolve-11gr2-rac-asm ...
- AIX文件系统和存储部署(转)
文件系统和存储部署 文件系统的管理是AIX存储结构中的最后一环.定义完lv后,可采用如下两种方式使用lv: a.作为裸设备(raw)使用,一般是数据库型的应用 b.在lv上定义文件系统,并提供文件和数 ...
随机推荐
- 【转】用C#调用Windows API向指定窗口发送
一.调用Windows API. C#下调用Windows API方法如下: 1.引入命名空间:using System.Runtime.InteropServices; 2.引用需要使用的方法,格式 ...
- Microsoft source-code annotation language (SAL) 相关
More info see: https://msdn.microsoft.com/en-us/library/hh916383.aspx Simply stated, SAL is an inexp ...
- c# winform 打包部署 自定义界面 或设置开机启动
添加安装部署项目后,鼠标右键安装项目->视图->注册表, 要使软件在开机就运行,可以在HKEY_CURRENT_USER\Software\Microsoft\Windows\Curren ...
- 第五百八十一天 how can I 坚持
也是醉了,现在买个手机都特么搞饥饿营销,吹牛B就要付出吹牛B的代价,哎,好伤感. 晚上学习也没学好.感觉人和人之间的信任怎么都没了呢..但愿是我想多了,其实就是我想多了,以后说话还是要多注意. 睡觉吧 ...
- Python 前端之JS
JavaScript由浏览器编译运行 JS的导入方式有两种,一种直接定义,第二种通过src引入:可以存放在<head>头部,但是强烈建议放在<body>的最下面,因为如果你引入 ...
- C++中的预处理
一.预处理的由来: 在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个.C++从C语言那里把C语言预处理器继承过来(C语言预处理器,被Bjarn ...
- linux获取系统启动时间
1.前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同.linux内核里面用一个名为jiffes的常量来计算时间戳.应用层有time.getdaytime等函数.今天需要 ...
- eclipse构建及运行maven web项目
1:环境 eclipse indigo, JDK1.6, maven 3.2.1, tomcat7.0.42 2:安装eclipse maven插件 m2eclipse 第一种方法:从网上下载m2ec ...
- 一个简单的SNTP客户端
借鉴于python网络编程攻略 #/usr/local/bin/python3.5 #coding:utf-8 import socket, struct, time NTP_server = &qu ...
- 彻底了解android中的内部存储与外部存储
我们先来考虑这样一个问题: 打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的 ...