Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1200893
  • 博文数量: 350
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5668
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-23 17:53
文章分类

全部博文(350)

文章存档

2013年(350)

分类: Oracle

2013-04-27 09:56:00

自"手把手教你用VMware在下安装oracle10g RAC"一文发布以来,俺个人的虚荣心再一次得到了极大满足,因为持续不断的有朋友对俺持续不断地表达感谢(就是没几个表示请俺吃饭的,5555,这帮口惠心不实的家伙`~~),说俺这篇文档写的好是写的妙,不光步骤清晰又明了,还有图片做参照。

  不过,这其中也有不少朋友与我联系,说是过程中遇到问题,其中大多数 问题 均是 出在 节点2执行oracleasm listdisks时检测不到共享的磁盘。

  对于vmware下配置数据库,出现这一问题的原因通常有两个方面,下面分别描述 。

1、VMWARE中添加磁盘共享参数

  使用VMWARE 配置RAC数据库,一定要选择的VMWARE(VMWARE分为server和workstation两种类型),这一点 三思在文档中专门强调了,有些朋友可能仍未注意 ;再一个就是 各个 vmware 节点的*.vmx配置文件中,添加相关的磁盘共享参数, 否则也有可能导致 无法正常识别共享的磁盘。

  下面举一下三思配置环境时,vmx文件中关于磁盘共享参数的示例,如下:

    disk.locking = "false" 

    diskLib.dataCacheMaxSize = "0" 

    diskLib.dataCacheMaxReadAheadSize = "0" 

    diskLib.DataCacheMinReadAheadSize = "0" 

    diskLib.dataCachePageSize = "4096" 

    diskLib.maxUnsyncedWrites = "0"

    scsi1.sharedBus = "virtual" 

2、共享磁盘不共享

  第2个原因就更加BT了,不过这种问题导致磁盘无法共享的例子也不鲜见,出现这种问题 主要是对于 RAC 架构的理解不深入导致的。

  在阐述主题之前,俺首先想明确一个相关概念:究竟何为共享存储。所谓 共享存储,顾名思义,也就是 磁盘空间应由相关的节点共享访问,更直白的讲就是节点访问的是同一个(或几个)磁盘, 对于虚机 环境 的话,就是访问相同的磁盘文件。

  ORACLE 是由实例+数据库组成,实例是由一组操作系统进程+操作系统的一块内存区域组成;数据库则是一堆各种类型的特性文件的合集(比如数据文件、临时文件,重做日志文件、控制文件等),RAC环境的ORACLE数据库,实际上是多个实例(每个实例分别运行在不同的节点上----一般情况下,你要让它运行于同一个节点应该也是可行的)访问和读写一份数据库。数据库是放在哪呢,就是放在共享存储上,也就是说RAC的几个实例 访问的文件应该在 相 同的磁盘上 。

  Ok,回到主题,有些朋友在创建第二个节点,为该节点添加用于voting disk,ocr以asm用的磁盘时,并不是选择第一个节点中创建的文件 (Use an existing virtual disk) ,而是又重新创建了 新的磁盘文件(Create a new virtual disk), 这种情况完全没有共享的概念,自然也就不可能实现磁盘的共享存储了。

阅读(2694) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

zhangshengdong2013-04-28 14:35:09

来北京,我请吃饭!~