asm扩容流程_Oracle rac asm 扩容

环境介绍:

故事发生在Oracle 11.2.0.4 RAC/ Linux 6.8 的数据库集群服务器上。

DATA/ ARCH/ 磁盘组空间不足,进行扩容。

首先,如果要在线使用udev方式扩容asm,建议先备份两个节点所有在用网卡信息,避免bug误删除网卡信息。备份至/tmp目录下。(包括the ifcfg-eth0 (public), ifcfg-eth1 (private) and ifcfg-eth2 (backup)),注意11.2.0.3及以后在linux上的bug,见如下官网解释:

Network interface going down when dynamically adding disks to storage using udev in RHEL 6 (文档 ID 1569028.1)

Applies to:

Oracle Database - Enterprise Edition - Version 11.2.0.3 and later

Oracle Net Services - Version 11.2.0.4 to 11.2.0.4 [Release 11.2]

Linux x86-64

Symptoms

Dynamically added new disks to storage using udev rules(as per the docs note 414897.1, 1528148.1, 371814.1 etc).

During start_udev, udev has deleted the public network interface and this caused the listener to crash, and clusterware moved all services, scan listeners and the VIP on node 1 to node 2.

Changes

Trying to add disk to storage using udev

Cause

udev has deleted the public network interface.

Solution

As per RHEL you are advised to set HOTPLUG="no" for the network configuration scripts.

Add HOTPLUG="no" to the ifcfg-eth0 (public), ifcfg-eth1 (private) and ifcfg-eth2 (backup) network config files in /etc/sysconfig/network-scripts directory.

建议先做数据库备份

1.停止数据库及集群服务

su - grid

srvctl stop listener

srvctl stop database -d jyrac

rac1/rac2

su - root

/u01/11.2.0/grid/bin/crsctl stop crs

####################### rac1/rac2 begin ##############################

2.网卡信息修改

注意:如果是使用网卡绑定,比如绑定后的网卡为bond0,则要在bond0的配置文件里添加hotplug配置信息,在eth0里添加不起作用。(实战中所有在用网卡均添加)

备份所有网卡信息至/tmp 目录

rac1/rac2

cp ifcfg-eth0 /tmp/ifcfg-eth0bak

cp ifcfg-bond0 /tmp/ifcfg-bond0bak

cp ifcfg-eth1 /tmp/ifcfg-eth1bak

...

实际:

[root@jyrac1 network-scripts]# cp * /tmp/wkbak

[root@jyrac1 network-scripts]#

[root@jyrac2 network-scripts]# cp * /tmp/wkbak/

[root@jyrac2 network-scripts]#

修改网卡信息

HOTPLUG="no"

重启网络服务

service network restart

[root@jyrac1 network-scripts]# service network restart

Shutting down interface bond0: [ OK ]

Shutting down interface eth0: [ OK ]

Shutting down loopback interface: [ OK ]

Bringing up loopback interface: [ OK ]

Bringing up interface bond0: Determining if ip address 192.168.20.11 is already in use for device bond0...

[ OK ]

Bringing up interface eth0: Determining if ip address 187.187.2.61 is already in use for device eth0...

[ OK ]

[root@jyrac1 network-scripts]#

[root@jyrac2 network-scripts]# service network restart

Shutting down interface bond0: [ OK ]

Shutting down interface eth0: [ OK ]

Shutting down loopback interface: [ OK ]

Bringing up loopback interface: [ OK ]

Bringing up interface bond0: Determining if ip address 192.168.20.12 is already in use for device bond0...

[ OK ]

Bringing up interface eth0: Determining if ip address 187.187.2.62 is already in use for device eth0...

[ OK ]

[root@jyrac2 network-scripts]#

3.修改udev权限文件

备份udev文件至/tmp 目录

[root@jyrac1 network-scripts]# cp /etc/udev/rules.d/12-dm-permissions.rules /tmp/wkbak/

vi /etc/udev/rules.d/12-dm-permissions.rules

增加:

ENV{DM_NAME}=="arch4", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

ENV{DM_NAME}=="data3", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

4.加载配置文件

[root@rac-db1 /]# /sbin/udevadm control reload-rules

5.添加udev磁盘

(生产库千万别重启udev,否则vip会漂移,且网卡信息可能会被删除,甚至宕库,重启监听可解决)

udevadm trigger --subsystem-match=block --action=add

[root@jyrac1 network-scripts]# udevadm control reload-rules

unrecognized command

udevadm[27284]: unrecognized command

[root@jyrac1 network-scripts]#

[root@jyrac1 network-scripts]#

[root@jyrac1 network-scripts]#

[root@jyrac1 network-scripts]# /sbin/udevadm control reload-rules

unrecognized command

udevadm[27682]: unrecognized command

[root@jyrac1 network-scripts]# find / -name udevadm

/sbin/udevadm

^C

[root@jyrac1 network-scripts]#

[root@jyrac1 network-scripts]#

[root@jyrac1 network-scripts]#

[root@jyrac1 network-scripts]# cd

[root@jyrac1 ~]# /sbin/udevadm control reload-rules

unrecognized command

udevadm[27987]: unrecognized command

[root@jyrac1 ~]# ls -la /sbin/udevadm

-rwxr-xr-x. 1 root root 137256 Oct 17 2013 /sbin/udevadm

[root@jyrac1 ~]# /sbin/udevadm control reload-rules

unrecognized command

udevadm[28151]: unrecognized command

[root@jyrac1 ~]# /sbin/start_udev

Starting udev: [ OK ]

[root@jyrac1 ~]#

6.检查磁盘属性

ll -l /dev/dm*

如果有问题,可以考虑重启multipath 或者udev试试。

/sbin/start_udev

or

service multipathd restart

再次检查属性,确认没问题之后考虑启动集群服务。

[root@jyrac1 ~]# ll -l /dev/dm*

brw-rw----. 1 root disk 253, 0 Apr 11 18:23 /dev/dm-0

brw-rw----. 1 root disk 253, 1 Apr 11 18:23 /dev/dm-1

brw-rw----. 1 grid asmadmin 253, 10 Apr 11 18:23 /dev/dm-10

brw-rw----. 1 root disk 253, 11 Apr 11 18:23 /dev/dm-11

brw-rw----. 1 root disk 253, 12 Apr 11 18:23 /dev/dm-12

brw-rw----. 1 grid asmadmin 253, 13 Apr 11 18:23 /dev/dm-13

brw-rw----. 1 grid asmadmin 253, 14 Apr 11 18:23 /dev/dm-14

brw-rw----. 1 root disk 253, 2 Apr 11 18:23 /dev/dm-2

brw-rw----. 1 grid asmadmin 253, 3 Apr 11 18:23 /dev/dm-3

brw-rw----. 1 grid asmadmin 253, 4 Apr 11 18:23 /dev/dm-4

brw-rw----. 1 grid asmadmin 253, 5 Apr 11 18:23 /dev/dm-5

brw-rw----. 1 grid asmadmin 253, 6 Apr 11 18:23 /dev/dm-6

brw-rw----. 1 grid asmadmin 253, 7 Apr 11 18:23 /dev/dm-7

brw-rw----. 1 grid asmadmin 253, 8 Apr 11 18:23 /dev/dm-8

brw-rw----. 1 grid asmadmin 253, 9 Apr 11 18:23 /dev/dm-9

[root@jyrac1 ~]#

[root@jyrac2 ~]# ll -l /dev/dm*

brw-rw---- 1 root disk 253, 0 Apr 11 18:25 /dev/dm-0

brw-rw---- 1 root disk 253, 1 Apr 11 18:25 /dev/dm-1

brw-rw---- 1 grid asmadmin 253, 10 Apr 11 18:25 /dev/dm-10

brw-rw---- 1 root disk 253, 11 Apr 11 18:25 /dev/dm-11

brw-rw---- 1 root disk 253, 12 Apr 11 18:25 /dev/dm-12

brw-rw---- 1 grid asmadmin 253, 13 Apr 11 18:25 /dev/dm-13

brw-rw---- 1 grid asmadmin 253, 14 Apr 11 18:25 /dev/dm-14

brw-rw---- 1 root disk 253, 2 Apr 11 18:25 /dev/dm-2

brw-rw---- 1 grid asmadmin 253, 3 Apr 11 18:25 /dev/dm-3

brw-rw---- 1 grid asmadmin 253, 4 Apr 11 18:25 /dev/dm-4

brw-rw---- 1 grid asmadmin 253, 5 Apr 11 18:25 /dev/dm-5

brw-rw---- 1 grid asmadmin 253, 6 Apr 11 18:25 /dev/dm-6

brw-rw---- 1 grid asmadmin 253, 7 Apr 11 18:25 /dev/dm-7

brw-rw---- 1 grid asmadmin 253, 8 Apr 11 18:25 /dev/dm-8

brw-rw---- 1 grid asmadmin 253, 9 Apr 11 18:25 /dev/dm-9

[root@jyrac2 ~]#

7.启动crs集群服务

rac1/rac2

su - root

/u01/11.2.0/grid/bin/crsctl start crs

######################## rac1/rac2 end############################

8.检查crs服务

su - grid

crs_stat -t

crsctl stat res -t

9.启动数据库

srvctl start database -d jyrac

10.检查数据库状态

crsctl stat res -t

11.检查asm是否识别到未添加的磁盘

set linesize 300

col name for a20

select group_number,name,state,type,total_mb,free_mb,usable_file_mb,allocation_unit_size/1024/1024 unit_mb from v$asm_diskgroup order by 1;

GROUP_NUMBER NAME STATE TYPE TOTAL_MB FREE_MB USABLE_FILE_MB UNIT_MB

------------ -------------------- ---------------------- ------------ ---------- ---------- -------------- ----------

1 ARCH MOUNTED EXTERN 614400 120548 120548 1

2 DATA MOUNTED EXTERN 409600 83773 83773 1

3 OCR MOUNTED NORMAL 15360 14434 4657 1

set linesize 300

col path for a50

select group_number,name,path,mount_status,state,redundancy,total_mb,free_mb,failgroup,create_date from v$asm_disk order by 1,2;

GROUP_NUMBER NAME PATH MOUNT_STATUS STATE REDUNDANCY TOTAL_MB FREE_MB FAILGROUP CREATE_DATE

------------ -------------------- -------------------------------------------------- -------------- ---------------- -------------- ---------- ---------- ------------------------------------------------------------ -----------------------

0 /dev/mapper/arch4 CLOSED NORMAL UNKNOWN 0 0

0 /dev/mapper/data3 CLOSED NORMAL UNKNOWN 0 0

1 ARCH_0000 /dev/mapper/arch1 CACHED NORMAL UNKNOWN 204800 40180 ARCH_0000 21-MAY-2015 11:00:32

1 ARCH_0001 /dev/mapper/arch2 CACHED NORMAL UNKNOWN 204800 40183 ARCH_0001 21-MAY-2015 11:00:32

1 ARCH_0002 /dev/mapper/arch3 CACHED NORMAL UNKNOWN 204800 40185 ARCH_0002 21-MAY-2015 11:00:32

2 DATA_0000 /dev/mapper/data1 CACHED NORMAL UNKNOWN 204800 41879 DATA_0000 21-MAY-2015 10:59:33

2 DATA_0001 /dev/mapper/data2 CACHED NORMAL UNKNOWN 204800 41894 DATA_0001 21-MAY-2015 10:59:33

3 OCR_0000 /dev/mapper/crs1 CACHED NORMAL UNKNOWN 5120 4812 OCR_0000 21-MAY-2015 10:16:24

3 OCR_0001 /dev/mapper/crs2 CACHED NORMAL UNKNOWN 5120 4810 OCR_0001 21-MAY-2015 10:16:24

3 OCR_0002 /dev/mapper/crs3 CACHED NORMAL UNKNOWN 5120 4812 OCR_0002 21-MAY-2015 10:16:24

10 rows selected.

12.ASM扩容

alter diskgroup DATA add disk '/dev/mapper/data3' rebalance power 8;

alter diskgroup ARCH add disk '/dev/mapper/arch4' rebalance power 8;

13.检查进度

SQL> select * from v$asm_operation;

GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES ERROR_CODE

------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- ----------- ----------------------------------------------------------------------------------------

1 REBAL WAIT 8

2 REBAL RUN 8 8 33914 108615 5606 13

SQL>

set linesize 300

col path for a50

select group_number,name,path,mount_status,state,redundancy,total_mb,free_mb,failgroup,create_date from v$asm_disk order by 1,2;

转自

邮箱:286397146@qq.com

昵称:A这货不是DBA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计分员计分程序

1.估计这个任务需要多长时间:两星期 2.需求分析: 作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员、教练员及时掌握比赛状况。(满意条件:每一次比分的改变,都要形成一…

蓝牙入门基础知识(一)

蓝牙起源 1995年5月20日,在美国华盛顿州,索尼爱立信、IBM、英特尔、诺基亚、东芝成立了蓝牙技术联盟(Bluetooth Special Interest Group,SIG)。SIG是一个制定蓝牙规范,推送蓝牙技术发展的国际组织。SIG授权…

用python将图片写入ppt_用python做ppt服务用于导入图片

项目需要做WINFORM程序与powerpoint交互,把winform生成的图片自动拷贝到ppt中。目前使用python做了一个简单的服务解决。由于要求是32位程序,所以下面全都是32位的版本。第一步,安装python2.7 32位。第二部,安装py2exe 32位。第三…

C#语言入门详解---委托(刘铁猛)

委托:函数指针的升级版,可以类比C语言中的函数指针进行理解 变量的本质就是以变量名所对应的内存地址为起点的一段内存,这段内存中存储的就是变量的数据,这段内存的大小由变量的数据类型决定。 函数代表算法,函数的本…

【LintCode题集】Q6、Q64

最近开始刷LintCode上的题目,先从标签为容易的开始刷。今天刷的这两题目差不多为同一类型的题目,都是为按照一定的规则合并两个已经有序的数组。 [Q6] 描述: 合并两个排序的整数数组A和B变成一个新的数组。 样例: 给出A[1,2,3,4]&…

input标签的值只能两位小数_解决input只能输入金额类型的方案(金额输入框只能输入2位小数)...

欢迎加我技术交流QQ群 :811956471前言:最近在用uni-app框架,写一个项目(支付宝和微信小程序)遇到一个需求,要求金额输入框只能输入2位小数,且第一位数不能是 ".",只能是数字。发现用 input事件监…

C# winform中判断控件类型

C# winform中对控件类型的判断: public void UpdataControl(Control control, string data) {if (control is TextBox){doSomething1();}if (control is Label){doSomething1();}if (control is Button){doSomething1();}}

单元测试原来是这样的呼

我们要先创建一个界面: 显示的界面是这样的: 接下来我们来写java代码, 在输入框里的内容,点击button,将数据显示到上面的textview. 后面写测试用例,但我不知道哪里出错了,不知道是不是创建就出错…

python生成表达式_说说 Python 的生成器表达式

列表推导与生成器表达式都可以用于初始化元组、数组或其他类型的序列。但列表推导需要先建立一个完整的列表,然后再把这个列表传递到某个构造函数。而生成器表达式会逐个产出元素,这样显然能够节省内存。列表推导写法:codes [ord(symbol) fo…

C#中宏定义#define、预处理#if #else #endif的使用

C#中预处理的使用: 预处理指令并不会被编译为执行代码中的指令,但使用预处理指令可以选择编译程序中的哪部分代码。一般在调试代码时或在发布不同功能等级的软件版本中使用。 需要特别注意的是,宏定义必须在C#的.cs源文件最开头的位置定义&am…

华硕vm510l装固态硬盘_华硕VM510L拆机换固态硬盘

首先看下需要准备的东西,一台华硕笔记本,螺丝刀,固态硬盘。微信图片_201910051157221.jpg1.先把背面的螺丝全部卸掉。微信图片_20191005115722.jpg2.反过来,暴力拆键盘,从边缘部分开始撬。注意键盘下面有排线&#xff…

C# 串口接收1次数据会进入2次串口接收事件serialPort1_DataReceived,第2次进入时串口缓冲区为空

在C#中使用串口接收数据时发现,在完整的接收完一次数据后,还会再次进入串口接收事件。 在网上搜索资料发现其他开发者也有遇到该问题: [1] c#串口事件接受一次数据莫名其妙会触发两次 原文链接:https://www.52pojie.cn/threa…

js里的面向对象分析-(创建实例化对象)

ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP)。面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但是,ECMAScript 没有类的概念,因此它的对象…

swift 隐藏状态栏_如何在Swift iOS应用中隐藏状态栏?

我想删除屏幕顶部的状态栏。这不起作用:func application(application: UIApplication,didFinishLaunchingWithOptions launchOptions: NSDictionary?)-> Bool{application.statusBarHidden truereturn true}我也尝试过:func application(applicati…

C#控件跨线程内容更新

在使用C#开发winform应用程序时,经常会碰到对控件跨线程访问造成的异常。在winform中UI线程和工作线程是分开的,但在实际使用中经常会需要在工作线程更新UI线程中创建的控件。 方法1:禁用跨线程访问控件检测 .NET默认开启了禁止跨线程控件访…

document.addeventlistener方法不执行_JUnit 5 测试方法的执行优先级

前言使用单元测试有时对方法的执行顺序有要求,而默认情况下测试方法的执行并非按照编写顺序,这就导致测试用例因执行顺序而导致的不通过。这里我使用的JUnit版本是5.6.2,下面讲述如何自定义测试方法的执行优先级。TestMethodOrder这个注解标注…

2异常处理_Java处理异常2种机制关键字区别解析

在异常处理的过程中,throws和throw的区别是?throws:是在方法上对一个方法进行声明,而不进行处理,而是向上传,谁调用谁处理.throw:是在具体的抛出一个异常类型.throws的栗子:throws的话,就是这个方法有可能会产生异常,而我只是将它声明出去,我自己不处理,如果有人调用的时候,可…

Scrapy——1

python3安装scrapy:http://www.cnblogs.com/Wananbo/p/6093969.html 运行scrapy时,弹出win32错误,然后用pip install pywin32 不行,实际上是缺少了pypiwin32转载于:https://www.cnblogs.com/tangbinghaochi/p/6593543.html

TL431的用法

TL431是可控精密稳压源。它的输出电压用两个电阻就可以设置从Vref(2.5V)到36V范围内的任何值。该器件的典型动态阻抗为0.2Ω,在很多应用中用它代替稳压二极管,例如,数字电压表,运放电路,可调压电…

个人作业2——英语学习APP的案例分析

产品:必应词典Android客户端 第一部分 调研, 评测 1、第一印象 一款app给人带来的第一印象,一是图标二是界面。微软必应词典的图标好似一本书,好看简洁又与词典相呼应,好评。二来其界面打开也很清爽,每日一…