首页 > 数据库 > Oracle > 正文

Oracle rac安装过程详解(1)

2019-09-08 23:30:30
字体:
来源:转载
供稿:网友

  这是一篇关于rac的文章,由于是一个成功的案例,所以指导和参考价值非常大,有这方面兴趣和需要做这方面工作的人可以看看!
  
  安装过程中参考的文章: 
  http://chinaunix.net/jh/19/119236.html 
  在建立数据库以后,启动第二个实例时,参考了作者的做法,在此对作者表示感谢!  
  
  安装开始前,请先参考在. 
  http://www.itpub.net/showthread.php?threadid=171693 
  补丁包和环境变量的设置,请看此文. 
  
  1.安装 Oracle Cluster Manager 9.2.0
 
  安装环境和变量的设置请看其他相关文章. 
  
  注意: 
  如果以前没有打过补丁3006845,则需要打.如果已经打过了,则不需要再打. 
  
  首先生成一个Quorum Disk File.在多节点RAC中,需要是一个裸设备或是在OCFS文件系统上. 但因为我们是单机,因此可以随便指定一个文件.用命令来生成: 
  $ dd if=/dev/zero of=/u02/rac/RacFile bs=1024 count=1024 
  我看metalink上的文章说这个文件至少要4+(4*number_of_node)KB,我给了1M,足够了. 
  
  然后到Disk1下运行runInstaller.出现产品选择界面时,选择 'Oracle Cluster Manager 9.2.0.1.0' 
  
  出现'Public Node Information'时,填入本机的hostname. 就是hostname命令返回的值,注意,不要将后面的域也填进去了! 不能包含'.'字符. 
  因为是单机,所以只填一个 
  
  出现'Private Node Information'时,也填本机hostname. 
  
  出现watchdog 参数时,接受缺省值.在升级到9.2.0.4后,不会用watchdog. 
  
  出现Quorum Disk Information选项时,填刚才生成的文件名/u02/rac/RacFile 
  
  然后就可以安装了. 
  装完以后,退出安装界面,不要安装数据库软件.

  打补丁到 OCM 9.2.0.4 
  
  需要先打OCM的补丁.我第一次装的时候,先装了数据库软件,然后升级OCM,然后打数据库的补丁.但打数据库的补丁时,因为没有出现选择节点的画面,让我误认为OCM升级失败,只得将软件全部删掉重新装. 
  
  但先打OCM的补丁,打数据库软件的补丁时,也没有出现选择节点的画面,我硬着头皮装下去,结果能正确将补丁打上.不知道在多节点集群环境中,是不是也不出现选择节点的画面. 
  
  将补丁包解开,运行runInstaller,打补丁 OCM 9.2.0.4 . 
  过程跟安装OCM 9.2.0.1类似.

  配置RAC,并启动 
  
  OCM9.2.0.4使用hangcheck-timer来代替watchdog,因此手工修改配置文件和启动文件. 
  先检查模块是否已经安装,看这个文件是否存在: 
  /lib/modules/2.4.21-4.EL/kernel/drivers/char/hangcheck-timer.o 
  如果不存在,则需要安装. 
  
  因为我的系统中,有这个文件,我就没有去找这个文件到底在哪个包中,所以,我也不知道该装哪个包! 
  
  
  配置内核模块,使用hangcheck-timer代替watchdog: 
  # lsmod | grep watchdog 
  应该没有输出.否则使用 
  # rmmod 命令去掉这个模块. 
  
  然后加载hangcheck-timer模块 
  # insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 
  Using /lib/modules/2.4.21-4.EL/kernel/drivers/char/hangcheck-timer.o 
  
  确认模块已经加载: 
  # lsmod | grep hang 
  hangcheck-timer 2648 0 (unused) 
  
  使系统一启动就加载这个模块,需要在/etc/rc.local文件最后加入一行: 
  /sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 
  
  
  修改配置文件和启动文件: 
  
  $ORACLE_HOME/oracm/bin/ocmstart.sh 
  启动命令行.将所有有关watchdog的行全部注释掉.将这几行注释为以下的样子: 
  
  # watchdogd's default log file 
  # WATCHDOGD_LOG_FILE=$ORACLE_HOME/oracm/log/wdd.log 
  
  # watchdogd's default backup file 
  # WATCHDOGD_BAK_FILE=$ORACLE_HOME/oracm/log/wdd.log.bak 
  
  # Get arguments 
  # watchdogd_args=`grep '^watchdogd' $OCMARGS_FILE |/ 
  # sed -e 's+^watchdogd *++'` 
  
  # Check watchdogd's existance 
  # if watchdogd status | grep 'Watchdog daemon active' >/dev/null 
  # then 
  # echo 'ocmstart.sh: Error: watchdogd is already running' 
  # exit 1 
  # fi 
  
  # Backup the old watchdogd log 
  # if test -r $WATCHDOGD_LOG_FILE 
  # then 
  # mv $WATCHDOGD_LOG_FILE $WATCHDOGD_BAK_FILE 
  # fi 
  
  # Startup watchdogd 
  # echo watchdogd $watchdogd_args 
  # watchdogd $watchdogd_args 
  
  $ORACLE_HOME/oracm/admin/ocmargs.ora 
  参数文件,去掉或注释掉下面这行: 
  watchdogd 
  
  $ORACLE_HOME/oracm/admin/cmcfg.ora 
  配置文件.将cmcfg.ora.tmp拷贝为cmcfg.ora文件,并修改成以下样子: 
  
  HeartBeat=15000 
  ClusterName=Oracle Cluster Manager, version 9i 
  PollInterval=1000 
  MissCount=210 
  PrivateNodeNames=hostname 
  PublicNodeNames=hostname 
  ServicePort=9998 
  HostName=ao-040 
  CmDiskFile=/u02/rac/RacFile 
  KernelModuleName=hangcheck-timer 
  
  其中,PrivateNodeNames和PublicNodeNames要跟你安装OCM时填入的hostname相同. 
  CmDiskFile要跟你先前生成的Quorum Disk File一样. 
  最后一行确认使用hangcheck-timer模块. 
  
  
  启动OCM: 
  官方文档中,创建了一个启动脚本,因为是用来玩,就省略了这一步.用命令行来启动: 
  $ su 
  # cd $ORACLE_HOME/oracm/bin 
  # ./ocmstart.sh 
  oracm &1 >/u01/app/oracle/product/9.2.0.4.0/oracm/log/cm.out & 
  
  如果启动太频繁,可能会报错: 
  ocmstart.sh: Error: Restart is too frequent 
  ocmstart.sh: Info: Check the system configuration and fix the problem. 
  ocmstart.sh: Info: After you fixed the problem, remove the timestamp file 
  ocmstart.sh: Info: "/u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts" 
  
  这时,用 
  # killall oracm 
  # ps -ef | grep oracm 
  来确认OCM没有启动.再将/u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts文件删除了就可以启动了. 
  # rm -f /u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts 
  # ./ocmstart.sh 
  oracm &1 >/u01/app/oracle/product/9.2.0.4.0/oracm/log/cm.out &

Oracle

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表