OS:RedHat EL6.0

Oracle:   Oracle 11gR2

在Oracle 11gR2,构建RAC时可以通过ASM创建asm disk,但是需要安装asmlib相关软件;对于RedHat EL6.0,Oracle的asm不能很好的支持,所以可以通过udev来创建asm disk,就不需要安装asmlib相关软件。

一、查看系统环境

内核版本:

[root@rac01 rules.d]# uname -a

Linux rac01 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

系统用户:

[root@rac01 rules.d]# id grid

uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall),1300(dba),1200(asmadmin),1201(asmdba),1202(asmoper)

二、创建共享磁盘

在Windows server 2012R2 服务器上启用iSCSI服务,并新建iSCSI共享磁盘

选择有足够容量的卷

给虚拟磁盘命名并划分大小,然后配置iSCSI目标

命名访问目标,添加访问程序,选择"IP地址类型",输入RAC 节点IP(将两个节点的IP都添加上)

继续下一步,不启用验证服务,确认创建,创建完成后会在管理页面显示出已经创建好的共享磁盘

三、配置共享存储

在节点1和节点2上分别安装iSCSI Initiator,以节点一为例,主要涉及以下命令

yum -y install iscsi-initiator-utils

chkconfig iscsid on

chkconfig iscsi on

最后发现并且挂载iscsi target

[root@rac01 rules.d]# iscsiadm -m discovery -t sendtargets -p 192.168.2.70

192.168.2.70:3260,1 iqn.1991-05.com.microsoft:win-ct207djdp08-max-002-target

192.168.2.70:3260,1 iqn.1991-05.com.microsoft:win-ct207djdp08-test1-target

[root@rac01 rules.d]# iscsiadm -m node -T iqn.1991-05.com.microsoft:win-ct207djdp08-max-002-target --login

成功后,用fdisk -l命令可以看到多出的共享磁盘,进行分区,分区结果如下图

四、建立UDEV规则文件

查看磁盘UUID:

[root@rac01 rules.d]# /sbin/scsi_id -g -u -d /dev/sdb

360003ff44dc75adca44127e408e97955

创建UDEV配置文件:

[root@rac01 rules.d]# cd /etc/udev/rules.d/

[root@rac01 rules.d]# vim 99-oracle-asmdisk.rules

KERNEL=="sdb5", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="360003ff44dc75adca44127e408e97955", NAME="asm_disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sdb6", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="360003ff44dc75adca44127e408e97955", NAME="asm_disk2", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sdb7", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="360003ff44dc75adca44127e408e97955", NAME="asm_disk3", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sdb8", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="360003ff44dc75adca44127e408e97955", NAME="asm_disk4", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sdb9", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="360003ff44dc75adca44127e408e97955", NAME="asm_disk5", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sdb10", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="360003ff44dc75adca44127e408e97955", NAME="asm_disk6", OWNER="grid", GROUP="asmadmin", MODE="0660"

五、启动UDEV service

载入配置文件:

[root@rac01 rules.d]# udevadm control --reload-rules

启动UDEV service:

[root@rac01 rules.d]# start_udev

查看asm disks:

[root@rac01 rules.d]# ls -l /dev/asm*

brw-rw---- 1 grid asmadmin 8, 21 Nov 25 11:22 /dev/asm_disk1

brw-rw---- 1 grid asmadmin 8, 22 Nov 25 11:22 /dev/asm_disk2

brw-rw---- 1 grid asmadmin 8, 23 Nov 25 11:22 /dev/asm_disk3

brw-rw---- 1 grid asmadmin 8, 24 Nov 25 11:22 /dev/asm_disk4

brw-rw---- 1 grid asmadmin 8, 25 Nov 25 11:22 /dev/asm_disk5

brw-rw---- 1 grid asmadmin 8, 26 Nov 25 11:22 /dev/asm_disk6

六、添加额外ASM磁盘

安装完RAC环境后,突然觉得之前配置的ASM磁盘不够用,于是打算再添加一块大容量的ASM磁盘;前面操作都无差异,这里补充后续操作。

查看asm disks:

[root@rac01 rules.d]# ls -l /dev/asm*

[root@rac01 rules.d]# ls -l /dev/asm*

brw-rw---- 1 grid asmadmin 8, 21 Nov 25 11:22 /dev/asm_disk1

brw-rw---- 1 grid asmadmin 8, 22 Nov 25 11:22 /dev/asm_disk2

brw-rw---- 1 grid asmadmin 8, 23 Nov 25 11:22 /dev/asm_disk3

brw-rw---- 1 grid asmadmin 8, 24 Nov 25 11:22 /dev/asm_disk4

brw-rw---- 1 grid asmadmin 8, 25 Nov 25 11:22 /dev/asm_disk5

brw-rw---- 1 grid asmadmin 8, 26 Nov 25 11:22 /dev/asm_disk6

brw-rw---- 1 grid asmadmin 8, 33 Nov 25 09:42 /dev/asm_disk7

在节点1中,使用grid用户运行asmca:

成功弹出ASM设置界面,选择Create

输入磁盘组名,选择External(外部冗余)(因为已经存在常规冗余磁盘组,为了省事儿这里选择外部冗余),选择磁盘:

点击OK

点击OK回到初始界面,点击右下角Exit,然后选择Yes保留操作并退出

使用oracle 账户登录数据库并查询ASM磁盘组信息:

[root@rac01 ~]# su - oracle

[oracle@rac01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Fri Nov 25 13:09:54 2016

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

SQL> select name,total_mb from v$asm_diskgroup;

NAME                                 TOTAL_MB

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

DATA_DB                          16378

DATA                                 6144

CY                                 102398

七、额外问题

完成上面的操作后,发现节点2出现了一些问题

[oracle@rac02 admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Fri Nov 25 13:13:45 2016

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to an idle instance.

SQL> select name,total_mb from v$asm_diskgroup;

select name,total_mb from v$asm_diskgroup

*

ERROR at line 1:

ORA-01034: ORACLE not available

Process ID: 0

Session ID: 0 Serial number: 0

实例似乎被关闭了,重启实例后,发现新加的ASM磁盘组挂载异常

SQL> startup

ORACLE instance started.

Total System Global Area 1603411968 bytes

Fixed Size                 2253664 bytes

Variable Size                 1056967840 bytes

Database Buffers         536870912 bytes

Redo Buffers                 7319552 bytes

Database mounted.

Database opened.

SQL> select name,total_mb from v$asm_diskgroup;

NAME                                 TOTAL_MB

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

DATA_DB                          16378

DATA                                 6144

CY                                        0

[grid@rac02 admin]$ ocrcheck

Status of Oracle Cluster Registry is as follows :

Version : 3

Total space (kbytes) : 262120

Used space (kbytes) : 3072

Available space (kbytes) : 259048

ID : 277519239

Device/File Name : +DATA

Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check bypassed due to non-privileged user

手动挂载:

[grid@rac02 admin]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Fri Nov 25 13:30:30 2016

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Real Application Clusters and Automatic Storage Management options

SQL> alter diskgroup CY mount;

Diskgroup altered.

SQL> select GROUP_NUMBER,NAME,TYPE,ALLOCATION_UNIT_SIZE,STATE from v$asm_diskgroup;

GROUP_NUMBER NAME                         TYPE ALLOCATION_UNIT_SIZE STATE

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

1 DATA_DB                         NORMAL                1048576 MOUNTED

2 DATA                         NORMAL                1048576 MOUNTED

3 CY                          EXTERN                1048576 MOUNTED

再次查询ASM磁盘组信息:

[oracle@rac02 admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Fri Nov 25 13:40:10 2016

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

SQL> select name,total_mb from v$asm_diskgroup;

NAME                                 TOTAL_MB

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

DATA_DB                          16378

DATA                                 6144

CY                                 102398

完成后发现CRS服务异常:

[grid@rac02 admin]$ crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4535: Cannot communicate with Cluster Ready Services

CRS-4529: Cluster Synchronization Services is online

CRS-4534: Cannot communicate with Event Manager

排查后发现是硬盘名称发生了变化,修改完相关配置文件(vim /etc/udev/rules.d/99-oracle-asmdisk.rules),CRS服务正常:

[grid@rac02 ~]$ crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

然后发现因为之前的异常操作,导致监听异常:

[grid@rac02 admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-NOV-2016 15:19:25

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))

STATUS of the LISTENER

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

Alias LISTENER

Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date 25-NOV-2016 15:11:22

Uptime 0 days 0 hr. 8 min. 2 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora

Listener Log File /u01/app/11.2.0/grid/log/diag/tnslsnr/rac02/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.209)(PORT=1521)))

Services Summary...

Service "+ASM" has 1 instance(s).

Instance "+ASM2", status READY, has 1 handler(s) for this service...

Service "rac" has 1 instance(s).

Instance "rac2", status READY, has 1 handler(s) for this service...

Service "racXDB" has 1 instance(s).

Instance "rac2", status READY, has 1 handler(s) for this service...

The command completed successfully

以节点1为例

修改两个节点的监听文件:

[root@rac01 ~]# su - grid

[grid@rac01 ~]$ cd /u01/app/11.2.0/grid/network/admin

[grid@rac01 admin]$ ls

endpoints_listener.ora listener.ora shrept.lst

endpoints_listener.ora.bak.rac01 listener.ora.bak.rac01 sqlnet.ora

listener16112111AM0504.bak samples

[grid@rac01 admin]$ vim endpoints_listener.ora

#将HOST参数改为本机IP

LISTENER_RAC01=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac01-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.206)(PORT=1521)(IP=FIRST))))

修改TNS配置文件:

[oracle@rac01 ~]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin

[oracle@rac01 admin]$ ls

samples shrept.lst tnsnames.ora

[oracle@rac01 admin]$ vim tnsnames.ora

RAC =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = max-cluster)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = rac)

)

)

RAC1 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = max-cluster)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = rac)

)

)

修改hosts文件:

[root@rac01 ~]# vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost.localdomain localhost6 localhost6.localdomain6

#eth0 public ip

192.168.2.206 rac01

192.168.2.207 rac02

#eth1 private ip

192.168.3.206 rac01-priv

192.168.3.207 rac02-priv

#virtual ip

192.168.2.208 rac01-vip

192.168.2.209 rac02-vip

#scan ip

192.168.2.210 max-cluster

修改网卡信息:

[root@rac01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

NM_CONTROLLED="yes"

ONBOOT=yes

HWADDR=00:0C:29:8F:C2:C6

BOOTPROTO=static

IPADDR=192.168.2.206

NETMASK=255.255.255.0

GATEWAY=192.168.2.1

DNS1=192.168.2.1

[root@rac01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"

NM_CONTROLLED="yes"

ONBOOT=yes

HWADDR=00:0C:29:8F:C2:D0

BOOTPROTO=static

IPADDR=192.168.3.206

NETMASK=255.255.255.0

转://通过udev创建ASM共享磁盘(RAC)的更多相关文章

  1. 通过udev创建ASM共享磁盘(RAC)

    OS:RedHat EL6.0 Oracle:   Oracle 11gR2 在Oracle 11gR2,构建RAC时可以通过ASM创建asm disk,但是需要安装asmlib相关软件:对于RedH ...

  2. 安装grid时找不到ASM共享磁盘

    1.安装ORACLE数据库集群软件grid时找不到共享磁盘,如下图: 2.网上找过有各种说法,但此处小编的解决方案是:通过重新安装软件:oracleasmlib-2.0.4-1.el6.x86_64. ...

  3. RAC DBCA 找不到共享磁盘

    (一)  前言:  通过vmware workstation 走iscsi协议.安装RAC 集群架构,DBCA 时不能识别ASM 共享存储(按理来说这一版都是权限的问题).同一时候,本想通过RMAN ...

  4. Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

    在Oracle Rac环境中,数据文件都是要存放在ASM共享存储上的,这样两个节点才能同时访问.而当你在某一节点下把数据文件创建在本地磁盘的时候,那么在另一节点上要访问该数据文件的时候就会报错,因为找 ...

  5. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.5.安装Grid,创建ASM磁盘组空间不足

    因之前分区时,分区的Last cylinder的值选了“1”,导致创建磁盘组空间不足.解决办法是先删除分区,重新创建分区并删除ASM磁盘,然后重建ASM磁盘 1. 先删除分区,重新创建分区: 1)查询 ...

  6. RAC的搭建(二)--创建ASM磁盘

     1. 规划 表决磁盘: 1Gx3(3节点以下,建议都采用这种配置,三个磁盘加起来要大于1.8G,否则会报错) 数据磁盘: 10Gx1 闪回磁盘: 5Gx1 2. 创建共享磁盘 virtualBox上 ...

  7. 【RAC】 RAC For W2K8R2 安装--创建ASM磁盘组(六)

    [RAC] RAC For W2K8R2 安装--创建ASM磁盘组(六) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以 ...

  8. Linux下搭建Oracle11g RAC(8)----创建ASM磁盘组

    以grid用户创建ASM磁盘组,创建的ASM磁盘组为下一步创建数据库提供存储. ① grid用户登录图形界面,执行asmca命令来创建磁盘组: ② 进入ASMCA配置界面后,单击Create,创建新的 ...

  9. 99-oracle-asmdevices.rules(udev方式创建asm磁盘)

    一.创建asm磁盘的几种方式 创建asm方式很多主要有以下几种 1.Faking方式 2.裸设备方式 3.udev方式(它下面有两种方式) 3.1 uuid方式. 3.2 raw方式(裸设备方式) 4 ...

随机推荐

  1. 【Linux】nginx常用命令

    相关内容链接 Centos之安装Nginx及注意事项 [nginx]详细配置说明 nginx常用命令 [重新加载配置]sudo nginx -s reload [打开nginx配置]sudo vim ...

  2. 兼容发布&小流量概述

    背景 re消息limit上线之前有这样的问题: 1.存量用户,会感知到新功能: 2.后端.前端上线间隔期间,如果没做兼容,涉及到接口数据格式变更,会导致C端拉取数据报错: 3.改模板配置,会导致老信息 ...

  3. 设计模式—模板方法的C++实现

    这是Bwar在2009年写的设计模式C++实现,代码均可编译可运行,一直存在自己的电脑里,曾经在团队技术分享中分享过,现搬到线上来. 1. 模板方法简述 1.1 目的 定义一个操作中的算法骨架,而将一 ...

  4. 事件处理程序 (DOM0级)

    DOM0事件处理程序 每个元素都有自己的事件处理程序属性,那么直接获取对象,然后在对象上设置事件处理程序属性. 1:获取节点对象引用 2:在事件成员上设置处理函数,这时函数内部this指向节点对象. ...

  5. 04-HTML-图片标签

    <html> <head>  <title>图片标签学习</title>  <meta charset="utf-8"/> ...

  6. 「Android」单例的五种写法

    单例 发现博客园可以很好的设置自己的博客文章的展示,很开心,然后特此发一篇 其实这几种写法大家应该都会的,就权当拿来记录一下吧,以后复习巩固也比较方便. 这篇文章中的代码,来自一篇视频(我想找视频贴上 ...

  7. Java虚拟机(四)垃圾收集算法

    前言 在本系列上一篇文章中我讲到了垃圾标记算法,垃圾被标记后,GC就会对垃圾进行收集,垃圾收集有很多种算法,这篇文章就来介绍常用的垃圾收集算法的思想. 1.标记-清除算法 标记-清除算法(Mark-S ...

  8. 服务端如何获取客户端请求IP地址

    服务端获取客户端请求IP地址,常见的包括:x-forwarded-for.client-ip等请求头,以及remote_addr参数. 一.remote_addr.x-forwarded-for.cl ...

  9. MySQL 查看用户授予的权限

      在MySQL中,如何查看一个用户被授予了那些权限呢? 授予用户的权限可能分全局层级权限.数据库层级权限.表层级别权限.列层级别权限.子程序层级权限.具体分类如下: 全局层级 全局权限适用于一个给定 ...

  10. [20190329]探究sql语句相关mutexes补充2.txt

    [20190329]探究sql语句相关mutexes补充2.txt --//昨天测试sql语句相关mutexes,看看如果出现多个子光标的情况. 1.环境:SCOTT@book> @ ver1P ...