Oracle 10g RAC 的部署(二)

日期: 2008-07-17 作者:flightpat 来源:TechTarget中国 英文

  在一个节点上,为共享文件创建目录:


  (1)CRS文件(存放Oracle Cluster Registry和CRS voting disk)







#mkdir /u02/oracrs 
  #chown oracle:oinstall /u02/oracrs 
  #chmod 775 /u02/oracrs 

  (2)数据库文件







#mkdir /u02/oradata 
  #chown oracle:oinstall /u02/oradata 
  #chmod 775 /u02/oradata 

  至此OCFS系统准备完毕。


  提示1:


  配置O2CB驱动程序O2CB是一组集群服务,负责管理节点与集群文件系统之间的通信。下面是对各个服务的说明:


  NM:用于跟踪cluster.conf中的所有节点的节点管理器


  HB:当节点加入或离开集群时向上/向下发出通知的心跳服务


  TCP:处理节点之间的通信


  DLM:用于跟踪所有锁、这些锁的所有者以及状态的分布式锁管理器


  CONFIGFS:在/config中挂载的用户空间驱动的配置文件系统


  DLMFS:用户空间与内核空间DLM的接口


  在所有节点上执行下面的过程,将O2CB配置为在引导时启动。


  当系统提示您指定心跳死亡阈值时,您必须指定一个大于7的值,以防止节点由于较慢的IDE磁盘驱动器而崩溃。心跳死亡阈值是一个用于计算隔离时间的变量。


  Fence time (seconds) = (heartbeat dead threshold -1) * 2


  在我们的环境中,120秒的隔离时间很合适。两个节点上的心跳死亡阈值应该完全相同。


  以root用户身份执行






# /etc/init.d/o2cb unload 
  Stopping O2CB cluster ocfs2: OK 
  Unmounting ocfs2_dlmfs filesystem: OK 
  Unloading module “ocfs2_dlmfs”: OK 
  Unmounting configfs filesystem: OK 
  Unloading module “configfs”: OK 
  # /etc/init.d/o2cb configure 
  Configuring the O2CB driver. 
  This will configure the on-boot properties of the O2CB driver. 
  The following questions will determine whether the driver is loaded on 
  boot. The current values will be shown in brackets (’[]’). Hitting 
  without typing an answer will keep that current value. Ctrl-C 
  will abort. 
  Load O2CB driver on boot (y/n) [y]: y 
  Cluster to start on boot (Enter “none” to clear) [ocfs2]: 
  Specify heartbeat dead threshold (>=7) [7]: 61 
  Writing O2CB configuration: OK 
  Loading module “configfs”: OK 
  Mounting configfs filesystem at /config: OK 
  Loading module “ocfs2_nodemanager”: OK 
  Loading module “ocfs2_dlm”: OK 
  Loading module “ocfs2_dlmfs”: OK 
  Mounting ocfs2_dlmfs filesystem at /dlm: OK 
  Starting O2CB cluster ocfs2: OK 


  [Oracle自动存储管理器(ASM)]


  在Linux平台上,ASM可以使用原始设备或通过ASMLib接口管理的设备。出于易于使用和性能方面的原因,Oracle建议使用通过ASMLib接口管理的设备而非原始设备。


  ASMLib以一套共三个Linux程序包的形式提供:


  oracleasmlib — ASM库


  oracleasm-support —管理ASMLib所需的实用程序


  oracleasm —用于ASM库的内核模块


  获得ASM程序


  将您的Web浏览器指向http://otn.oracle.com/tech/linux/asmlib/index.html


  选择适用于您Linux版本的链接。


  下载适用于您Linux版本的oracleasmlib和oracleasm-support程序包。


  下载与您的内核相对应的oracleasm程序包。


  安装ASM (在每个节点上,以root身份) 







# rpm -Uvh   
  > oracleasm-2.4.9-e-smp-1.0.0-1.i686.rpm   
  > oracleasmlib-1.0.0-1.i386.rpm   
  > oracleasm-support-1.0.0-1.i386.rpm  
  Preparing… ########################################### [100%]  
  1:oracleasm-support ########################################### [ 33%]  
  2:oracleasm-2.4.9-e-smp ########################################### [ 66%]  
  Linking module oracleasm.o into the module path [ OK ]   
     3:oracleasmlib ########################################### [100%] 


  配置ASMLib (所有节点上)


  以root用户身份在每个集群主机上运行以下命令并回应提示.
 
  





# /etc/init.d/oracleasm configure 
  Configuring the Oracle ASM library driver 
  Default user to own the driver interface []:oracle 
  Default group to own the driver interface []:dba 
  Start Oracle ASM library driver on boot (y/n) [n]:y 
  Fix permissions of Oracle ASM disks on boot (y/n) [y]:y 
  Writing Oracle ASM library driver configuration [ OK ] 
  Creating /dev/oracleasm mount point [ OK ] 
  Loading module “oracleasm” [ OK ] 
  Mounting ASMlib driver filesystem [ OK ] 
  Scanning system for ASM disks [ OK ] 

  启用ASMLib驱动程序


  以root用户身份在每个集群主机上运行以下命令







# /etc/init.d/oracleasm enable 
  Writing Oracle ASM library driver configuration [ OK ] 
  Scanning system for ASM disks [ OK ] 

  配置ASM磁盘(在其中的一个节点上)


  这些磁盘是不包含任何内容(甚至不包含分区)的空磁盘。也可以将磁盘分区用于ASM,但不建议这样做。


  以root用户身份运行以下命令






# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb //sdbàVOL1 
  Marking disk “/dev/sdb” as an ASM disk [ OK ] 
  # /etc/init.d/oracleasm createdisk VOL2 /dev/sdc //sdcàVOL2 
  Marking disk “/dev/sdc” as an ASM disk [ OK ] 


  提示:以大写字母输入DISK_NAME。当前版本中有一个错误,即如果使用小写字母,ASM实例将无法识别磁盘。






# /etc/init.d/oracleasm listdisks  
  VOL1 
  VOL2   


  其他节点识别配置的磁盘(所有其他节点)


  在所有其他集群主机上,以root用户身份运行以下命令,扫描所配置的ASMLib磁盘:







#/etc/init.d/oracleasm scandisks 
  # /etc/init.d/oracleasm listdisks 
  VOL1 
  VOL2 

  [原始分区]


  在集群文件系统和ASM可用之前,原始分区是为Oracle RAC配置共享磁盘存储的唯一选择。


  原始分区有很多缺点。主要是它们必须接受每个磁盘可使用15个分区的限制、Linux强制的255个原始设备的限制以及额外的管理任务和所需计划。对于单实例环境而言,逻辑卷管理器(LVM)可以减少管理工作并在存储布局方面提供更多灵活性。不幸的是,LVM不能识别集群,因此在RAC环境中不支持它的使用。


  在使用原始分区时,通常最好选择一组标准的分区大小,即某个基本大小的倍数。这就在存储布局方面提供了更大的灵活性,并且在需要重新调整I/O时便于将分区重新配给其他磁盘。


  划分原始分区(在其中一个节点上)







# fdisk /dev/sdb 
  The number of cylinders for this disk is set to 4427. 
  There is nothing wrong with that, but this is larger than 1024, 
  and could in certain setups cause problems with: 
  1) software that runs at boot time (e.g., old versions of LILO) 
  2) booting and partitioning software from other OSs 
  (e.g., DOS FDISK, OS/2 FDISK) 
  Command (m for help):p 
  Disk /dev/sdb:36.4 GB, 36420075008 bytes 
  255 heads, 63 sectors/track, 4427 cylinders 
  Units = cylinders of 16065 * 512 = 8225280 bytes 
  Device Boot Start End Blocks Id System 
  Command (m for help):n 
  Command action 
  e extended 
  p primary partition (1-4) 
  p 
  Partition number (1-4): 1 
  First cylinder (1-4427, default 1): 
  Using default value 1 
  Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):+50m 
  Command (m for help):n 
  Command action 
  e extended 
  p primary partition (1-4) 
  p 
  Partition number (1-4): 2 
  First cylinder (8-4427, default 8): 
  Using default value 8 
  Last cylinder or +size or +sizeM or +sizeK (8-4427, default 4427):+50m 
  Command (m for help):n 
  Command action 
  e extended 
  p primary partition (1-4) 
  p 
  Partition number (1-4): 3 
  First cylinder (15-4427, default 15): 
  Using default value 15 
  Last cylinder or +size or +sizeM or +sizeK (15-4427, default 4427):+200m 
  Command (m for help):n 
  Command action 
  e extended 
  p primary partition (1-4) 
  e 
  selected partition 4 
  First cylinder (40-4427, default 40): 
  Using default value 40 
  Last cylinder or +size or +sizeM or +sizeK (40-4427, default 4427): 
  Using default value 4427 
  Command (m for help):n 
  First cylinder (40-4427, default 40): 
  Using default value 40 
  Last cylinder or +size or +sizeM or +sizeK (40-4427, default 4427):+200m 
  . 
  .. 
  Command (m for help):p 
  Disk /dev/sdb:36.4 GB, 36420075008 bytes 
  255 heads, 63 sectors/track, 4427 cylinders 
  Units = cylinders of 16065 * 512 = 8225280 bytes 
  Device Boot Start End Blocks Id System 
  /dev/sdb1 1 7 56196 83 Linux 
  /dev/sdb2 8 14 56227+ 83 Linux 
  /dev/sdb3 15 39 200812+ 83 Linux 
  /dev/sdb4 40 4427 35246610 5 Extended 
  /dev/sdb5 40 64 200781 83 Linux 
  /dev/sdb6 65 89 200781 83 Linux 
  /dev/sdb7 90 114 200781 83 Linux 
  /dev/sdb8 115 139 200781 83 Linux 

      /dev/sdb9      140     164      200781      83      Linux


  /dev/sdb10    165     238     594373+     83     Linux


  /dev/sdb11    239    312      594373+     83     Linux


  /dev/sdb12    313    386      594373+     83     Linux


  /dev/sdb13    387     533     1180746     83     Linux


  /dev/sdb14    534     680     1180746     83     Linux







Command (m for help):w 
  The partition table has been altered! 
  Calling ioctl() to re-read partition table. 
  Syncing disks. 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐