最近准备使用Oracle ACFS在RAC环境下搭建OGG-HA,于是在RedHat6.5 64位系统上搭建了一套Oracle11.2.0.4.0 RAC,发现ACFS无法使用。之后查找大量资料,发现11G ACFS并不支持RedHat6.5,11.2.0.4.0只支持到RedHat6.3。接下来介绍一下OracleACFS Support on Linux的信息。

不支持ACFS的描述[grid@redhat6.5 ~]$cat /etc/issue|sed –n ‘1p’

Red Hat Enterprise Linux Server release 6.5(Santiago)

[grid@redhat6.5 ~]$ lsmod | grep acfs                 #不支持的OS上

[grid@redhat6.2 ~]$cat /etc/issue|sed –n ‘1p’

Red Hat Enterprise Linux Server release 6.2(Santiago)

[grid@redhat6.2 ~]$lsmod| grep acfs                    #支持的OS上

oracleacfs          1670360  0

oracleoks             321904  2 oracleacfs,oracleadvm

从上可以看到对于不支持ACFS的OS Kernel模块上是没有ACFS相关信息的。接下来我们看看Cluster服务上的ACFS相关的服务[grid@redhat6.5 ~]$ crs_stat -t -vora.registry.acfs           #不支持的OS上

CRS-0210: Could not find resource ‘ora.registry.acfs’.

[grid@redhat6.2 ~]$ crs_stat -t -vora.registry.acfs            #支持的OS上

Name          Type     R/RA  F/FT   Target    State    Host

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

ora....ry.acfs    ora....fs.type 0/5    0/  ONLINE   ONLINE    note1

[grid@redhat6.2 ~]$crsctl status resora.drivers.acfs –init        #支持的OS上

NAME=ora.drivers.acfs

TYPE=ora.drivers.acfs.type

TARGET=ONLINE

STATE=ONLINE on note1

在安裝Grid Infrastructure执行root.sh脚本的时候创建ACFS注册表资源(ora.registry.acfs)。此过程会初始化集群内节点的ACFS加载注册表,若初始化成功,ora.registry.acfs资源状态为ONLINE,否则初始化失败。对于不支持的OS都会初始化失败。可以通过以下方法验证:[grid@redhat6.2 ~]$ acfsdriverstate -orahome$ORACLE_HOME supported

ACFS-9200: Supported

[grid@redhat6.5 ~]$ acfsdriverstate-orahome $ORACLE_HOME supported

ACFS-9459: ADVM/ACFS is not supported on this OSversion: ’unknown’

ACFS-9201:Not Supported

acfsdriverstate是一个shell脚本,通过调用$ORACLE_HOME/lib/acfstoolsdriver.sh脚本,之后由acfstoolsdriver.sh调用$ORACLE_HOME/lib/osds-*.pm脚本进行验证。其中osds-acfslib.pm的perl脚本就是用于验证支持的OSPlatforms及对应的版本。接下来我们来看看这个脚本(由于本人对perl不了解,也只是能看懂一点)# Testing for "oraclelinux_release", etcprevents us from dropping

# into the code below from other RH based distroslike CentOS, for example.

if ((defined($release)) &&               #Redhat or OEL if defined

(($release =~ /^redhat-release/) ||     # straight RH

($release =~ /^enterprise-release/) ||   # Oracle Enterprise Linux

($release =~ /^oraclelinux-release/)))    # Oracle Linux

这里提到基于RedHat的发行版,如CentOS,Oracle Linux等都是基于RedHat开源源码编译的OS是支持ACFS的,于是就有大神此基础上对脚本添加了对CentOS的支持如下:if ((defined($release)) &&                #Redhat or OEL if defined

(($release =~ /^redhat-release/) ||       # straight RH

($release=~ /^enterprise-release/) ||   # Oracle Enterprise Linux

($release =~ /^centos-release/)||      #Centos Linux

($release =~ /^oraclelinux-release/)))   # Oracle Linux

看到这里会不会有朋友灵感爆发,尝试去修改osds-acfslib.pm里支持内核版本的相关信息呢?对的,笔者就尝试过,但对于笔者这种菜鸟来说,肯定是以失败告终的。接下来再进一步分析失败的原因:[root@ redhat6.2 ~]#/u/app/11.2.0/grid/bin/acfsroot version_check   #支持的OS上

ACFS-9316: Valid ADVM/ACFS distribution mediadetected at: '

/u/app/11.2.0/grid/install/usm/EL6/x86_64/2.6.32-220/2.6.32-220.el6-x86_64/bin'

[root@ redhat6.5 ~]#/u/app/11.2.0/grid/bin/acfsroot version_check    #不支持的OS上

ACFS-9459: ADVM/ACFS is not supported on this OSversion: ’unknown’

ACFS-9319:Unknown OS kernel version ’26.32-431.el6.x86_64’detected

ACFS-9320:Missing file: ’oracleoks.ko’

ACFS-9320:Missing file: ’oracleacfs.ko’

ACFS-9317: No ADVM/ACFS distribution media detectedat location: '

/u/app/11.2.0/grid/install/usm'

到这里原因应该很清楚了,/u/app/11.2.0/grid/install/usm目录下会有相应的内核支持目录,这是安装GridInfrastructure时建立的,详情请查看grep “acfs”/u/app/oraInventory/logs/installActions*.log的相关信息,对于不支持的OS Platforms及内核版本是不会建立的,里面包含了ACFS驱动模块(oracleoks.ko,oracleadvm.ko oracleacfs.ko)。因此我们可以通过/u/app/11.2.0/grid/install/usm目录查看ACFS支持的Linux操作系统不同的内核类型(这里我列举2个Oracle版本的):

11.2.0.3.0版本:

/u/app/11.2.0/grid/install/usm目录下有(cmds,EL5,EL6,SLES10 ,SLES11)五个子目录[root@ redhat6.2 usm]# tree -L 3 EL5 EL6

EL5

|-- i386

|   `--2.6.18-8

|       |--2.6.18-8.el5-i686

|       |--2.6.18-8.el5PAE-i686

|       `--2.6.18-8.el5xen-i686

`-- x86_64

|--2.6.18-8

|   |-- 2.6.18-8.el5-x86_64

|   `-- 2.6.18-8.el5xen-x86_64

|--2.6.32-100

|   `-- 2.6.32-100-x86_64

`--2.6.32-200

`--2.6.32-200-x86_64

EL6

`-- x86_64

|--2.6.32-100

|   `-- 2.6.32-100-x86_64

|--2.6.32-200

|   `-- 2.6.32-200-x86_64

`--2.6.32-71

`--2.6.32-71.el6-x86_64

11.2.0.4.0版本:

/u/app/11.2.0/grid/install/usm目录下有(cmds,Novell,Oracle)三个子目录[root@note1 usm]# tree -L 3 Oracle Novell

Oracle

├── EL5

│   └── x86_64

│      └── 2.6.18-8

├── EL5UEK

│   └── x86_64

│      ├── 2.6.32-100

│      ├── 2.6.32-200

│      ├── 2.6.32-300

│      ├── 2.6.32-400

│      ├── 2.6.39-100

│      ├── 2.6.39-200

│      ├── 2.6.39-300

│      └── 2.6.39-400

├── EL6

│   └── x86_64

│      ├── 2.6.32-220

│      ├── 2.6.32-279 #RedHat 6.3

│      └── 2.6.32-71

└── EL6UEK

└──x86_64

├──2.6.32-100

├──2.6.32-200

├──2.6.32-300

├──2.6.32-400

├──2.6.39-100

├──2.6.39-200

├──2.6.39-300

└──2.6.39-400

Novell

├── SLES10

│   └── x86_64

│      └── 2.6.16.21-0.8

└── SLES11

└──x86_64

├──2.6.27.19-5

├──2.6.32.12-0.7

├──3.0.13-0.27

└──3.0.61-0.9

然后通过命令uname –r (RedHat 6)、uname –r –i (RedHat5)确认OS是否支持ACFS。

对于以上总结:

1、若需要使用ACFS时,先规划选取可用该功能OS,避免重装,可以使用CentOS,但内核版本是必须满足支持ACFS的内核。

2、也可以使用UEK(UnbreakableEnterprise Kernel)进行更换内核。

3、要使用ACFS需要将asm的兼容性设置为11.2(alterdiskgroup data set attribute 'COMPATIBLE.ASM'='11.2';)

请参考:

linux el5 el6 区别,Oracle ACFS Support on Linux詳解相关推荐

  1. redhat linux ls ls,Linux(3)RedHat7 基本命令二-ls命令詳解

    導語 本文將講述關於ls命令的詳細解析. ls命令 用法 ls [選項]... [文件]... ls [-aAdfFhilnrRSt] 目錄名稱 ls [–color={never,auto,alwa ...

  2. Linux/Unix shell 监控Oracle告警日志(monitor alter log file)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...

  3. 什么是Linux ,Unix和Linux有什么区别

    目录 什么是Linux 类Unix系统: POSIX: UNIX: 什么是 Linux 内核? Unix和Linux有什么区别? cpu: 什么是Linux Linux是一套免费使用和自由传播的类Un ...

  4. linux和unix区别_Unix vs Linux – Unix和Linux之间的区别

    linux和unix区别 Here you will learn about difference between unix and linux i.e. unix vs linux. 在这里,您将了 ...

  5. Oracle ACFS、ADVM

    Oracle ACFS.ADVM 配置Oracle ACFS集群文件系统 首先来看下,神马是ACFS,请看oracle官方给出的定义: Oracle Automatic Storage Managem ...

  6. oracle linux 5.8安装oracle 11g rac环境之grid安装

    安装环境: 操作系统:oracle linux 5.8 64位 集群软件:linux.x64_11gR2_grid.zip 数据库:linux.x64_11gR2_database_1of1.zip, ...

  7. Oracle(21)—— Linux环境部署Oracle11g数据库

    1.环境准备,需要Oracle官网下载Linux版本的Oracle11g安装包,如下截图: 具体安装参照如下: http://werewolftj.blog.51cto.com/1606482/159 ...

  8. 【Linux】手把手教你在 Linux 环境下部署 Oracle 数据库!

    来源:公众号[杰哥的IT之旅] 作者:三笠 相信大家第一次接触 Oracle 数据库时,大多数是在 windows 环境下安装,方便快捷,基本上可以说是一直下一步就能顺利安装成功.然而企业级的数据库, ...

  9. oracle11g和12c安装区别,Oracle下载与Oracle安装图解(Oracle19c,Oracle18c,Oracle12c,Oracle11g)...

    oracle下载与oracle安装图解(oracle19c,oracle18c,oracle12c,oracle11g) 1.oracle下载(oracle11g) oracle下载方法,请根据以下步 ...

最新文章

  1. 基于SSM实现在线聊天系统
  2. UA PHYS515 电磁理论I 麦克斯韦方程组基础4 介质中的麦克斯韦方程
  3. matlab 添加环境变量,CentOS 添加环境变量的三种方法
  4. Restful framework【第七篇】权限组件
  5. Mina集成Spring --- 在配置文件中配置sessionconfig
  6. 串口 多个activity 安卓_Android-EasySerialPort
  7. 如何从rpm包中提取文件
  8. 如何用matlab分析代谢,代谢流分析工具-CellNetAnalyzer
  9. pwm波程序如何实现_【优秀成果】如何做好算法与程序实现教学的知识储备
  10. 关于Vue.js的v-for,key的顺序改变,影响过渡动画表现
  11. 微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)
  12. 公务员从事计算机网络工作,干程序员好,还是从事公务员更有前途?网友:要是我就当公务员!...
  13. 基于WF4的新平台-流程格式转换架构
  14. C语言SM2算法实现(基于GMSSL)
  15. 无法打开xlsx文件_什么是XLSX文件(以及如何打开一个文件)?
  16. linux常见faq,Linux--FAQ 常见的问题与解答
  17. 考研英语 - word-list-25
  18. 数字图像处理成长之路17:linux下训练样本并识别车牌实验
  19. 主板启动提示USB设备出现电涌,15秒后关闭以保护系统问题
  20. HDU4745 Two Rabbits(区间dp)

热门文章

  1. 人工智能写的散文之白色月光下
  2. 精确分割和筛选音频从长的音频中
  3. 六层感知神经网络系统
  4. 如何用node命令和webpack命令传递参数 转载
  5. 如何最小化云API升级造成的中断?
  6. android源码分析-深入MessageQueue
  7. LVS的DR模型的实现
  8. 不能ssh连接ubuntu linux 服务器 secureCRT不能ssh连接服务器 不能远程ssh连接虚拟机的ubuntu linux...
  9. JavaScript判断是否是手机mobile登录
  10. MVC中,视图的Layout使用