设为首页 收藏本站
查看: 1163|回复: 0

[经验分享] ORACLE 10G RAC 安装

[复制链接]

尚未签到

发表于 2018-9-22 10:59:14 | 显示全部楼层 |阅读模式
  一.安装环境规划:
  1. 实验环境:
  a) 虚拟机:vmware server 2.0
  b) 操作系统:RHEL4 2.6.9-55
  c) ORACLE:10G R2
  d) 主机名:rac1与rac2
  2. IP规划:
  a) publicIP(nat):
  rac1:1.1.1.111
  rac2:1.1.1.222
  b) privIP(hostonly):
  rac1-priv:2.2.2.111
  rac2-priv:2.2.2.222
  c) VIP:
  rac1-vip:1.1.1.11
  rac1-vip:1.1.1.22
  3. 磁盘规划(添加四块磁盘):
  a) /dev/sdb1用裸设备做为OCR磁盘
  b) /dev/sdc1用裸设备做为表决磁盘
  c) /dev/sdd1、/dev/sde1做为ASM共享磁盘
  4. 很多安装文档上是使用先安装好一台机器再使用vmware克隆一个新的节点的方式,但是中心有一些细节比较容易出问题,为保证实验的效果和模拟真实环境下的配置操作,我直接采用安装两台全新虚拟机的方式来完成。
  二.CRS安装步骤
  1. 按平时的操作创建两台vmware的虚拟机,操作系统安装RHEL4,安装过程中最好把GCC能选上去,把防火墙和selinux关掉,这个很简单,不做过多介绍
  2. 安装rac前对rac1虚拟机的配置如下:
  a) 将rac1虚拟机init 0关机后对硬件做配置,保证机器上有两块分另属于不同通道的网卡
DSC0000.jpg

  b) 为虚拟机添加四块scsi磁盘,我直接加了四块1g的scsi磁盘,注意指定不同的scsi通道(scsi1:x)和我们本机使用的磁盘不要在同一通道上,依次添加四块磁盘,分别对应scsi1:0/scsi1:1/scsi1:2/scsi:3,我下面标红的三个地方请注意最好能调整过来
DSC0001.jpg

  c) 磁盘添加完成后,需要对vmware的.vmx配置文件做修改,取消对磁盘的锁定,使这四个磁盘成为共享磁盘,在虚拟机的vmx文件后添加如下语句:
  disk.locking = "false"
  diskLib.dataCacheMaxSize = "0"
  diskLib.dataCacheMaxReadAheadSize = "0"
  diskLib.DataCacheMinReadAheadSize = "0"
  diskLib.dataCachePageSize = "4096"
  diskLib.maxUnsyncedWrites = "0"
  scsi1:0.deviceType = "disk"
  scsi1:1.deviceType = "disk"
  scsi1:2.deviceType = "disk"
  scsi1:3.deviceType = "disk"
  配置完成后将rac1启动
  d) 创建rac的安装目录
  mkdir –p /u01/oracle/product/10.2/crs/
  mkdir –p /u01/oracle/product/10.2/db1/
  e) 创建相关组与用户并为用户设置密码
DSC0002.jpg

  f) 检查用户与组ID,两个rac节点的用户与组id必须一致
DSC0003.jpg

  g) 将oracle安装目录的所有者改为oracle用户和dba组
  [root@rac1 ~]# chown -R oracle:oinstall /u01/
  [root@rac1 ~]# chmod -R 775 /u01/
  h) 检查并安装RAC、oracle程序需要使用的包:
  binutils-2.15.92.0.2-18
  compat-libstdc++-33.2.3-47.3
  elfutils-libelf-0.97-5
  elfutils-libelf-devel-0.97-5
  glibc-2.3.9.4-2.19
  glibc-common-2.3.9.4-2.19
  glibc-devel-2.3.9.4-2.19
  gcc-3.4.5-2
  gcc-c++-3.4.5-2
  libaio-devel-0.3.105-2
  libaio-0.3.105-2
  libgcc-3.4.5
  libstdc++-3.4.5-2
  libstdc++-devel-3.4.5-2
  make-3.80-5
  sysstat-5.0.5
  unixODBC-2.2.11
  unixODBC-devel-2.2.11
  openmotif-2.2.3
  rsh-0.17-25.4
  rsh-server-0.17-25.4
  setarch-1.6-1
  i) 检查并安装ASM需要使用的包(ASM所使用的包需要到oracle官方网站上根据自己CPU及linux内核的对应版本去选择下载):
  oracleasm-support-2.1.4-1.el4.i386.rpm
  oracleasm-2.6.9-55.EL-2.0.3-1.i686.rpm
  oracleasmlib-2.0.4-1.el4.i386.rpm
  oracleasm-2.6.9-55.ELhugemem-2.0.3-1.i686.rpm
  oracleasm-2.6.9-55.ELsmp-2.0.3-1.i686.rpm
  oracleasm-2.6.9-55.ELxenU-2.0.3-1.i686.rpm
  j) 修改主机名,hosts文件,网络配置
  改主机名vi /etc/sysconfig/network
  改ip与主机名对应关系vi /etc/hosts,按之前的规划将ip与主机名映射进行编辑
  (在hosts文件中注意127.0.0.1对应localhost,不要对应主机名~~~)
  1.1.1.111 rac1
  2.2.2.111 rac1-priv
  1.1.1.11 rac1-vip
  1.1.1.222 rac2
  2.2.2.222 rac2-priv
  1.1.1.22 rac2-vip修改网卡配置
  vi /etc/sysconfig/network-scripts/ifcfg-eth0
  vi /etc/sysconfig/network-scripts/ifcfg-eth1
  修改rac1的内核参数文件vi /etc/sysctl.conf添加如下内容
  kernel.shmmax = 4294967295
  kernel.shmall = 2097152
  kernel.shmmni = 4096
  kernel.sem = 250 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000
  net.core.rmem_default = 4194304
  net.core.rmem_max = 4194304
  net.core.wmem_default = 262144
  net.core.wmem_max = 262144
  添加完后执行sysctl -p
  k) 修改etc/security/limits.conf,添加如下内容:
  oracle soft nproc 2047
  oracle hard nproc 16384
  oracle soft nofile 1024
  oracle hard nofile 65536
  l) Vi /etc/pam.d/login,添加如下内容(64位系统不需要):
  session required /lib/security/pam_limits.so
  session required pam_limits.so
  m) 修改/etc/profile,加入以下内容:
  if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
  ulimit -p 16384
  ulimit -n 65536
  else
  ulimit -u 16384 -n 65536
  fi
  fi
  n) 配置hangcheck:vi /etc/modprobe.conf
  添加options hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
  再执行modprobe -v hangcheck-timer
  vi /etc/grub.conf
  clock=pit nosmp noapic nolapic
  o) 开启sshd服务
  chkconfig sshd on
  service sshd start
  p) 使用oracle用户登录后修改修改~/.bash_profile添加如下环境变量:
  export ORACLE_SID=racdb
  export ORACLE_BASE=/u01/oracle/product
  export ORACLE_HOME=/u01/oracle/product/10.2/db1
  export ORA_CRS_HOME=/u01/oracle/product/10.2/crs
  export ORACLE_ADMIN=$ORACLE_BASE/admin
  export ORACLE_HOME_LISTNER=$ORACLE_HOME
  export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jlib
  export JAVA_HOME=$ORACLE_HOME/jdk
  export ORA_NLS10=$ORACLE_HOME/nls/data
  export PATH=$PATH:$ORACLE_HOME/bin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/lib:$JAVA_HOME/bin:$ORA_CRS_HOME/bin
  q) 依次为四块共享磁盘创建物理分区
DSC0004.jpg

  至此rac1的初期配置完成,后面开始rac2的配置
  3. 安装rac前对虚拟机rac2的配置过程如下:
  a) 在关机状态下为虚拟机rac2添加网卡(两块)与共享磁盘,因为之前rac1已经创建磁盘,所以在rac2上不用创建新磁盘,直接使用rac1上已经建好的四块共享磁盘即可,注意我打标记的地方
DSC0005.jpg

DSC0006.jpg

  b) 四块磁盘加完后,在rac2虚拟机的vmx文件中添加以下内容后开机:
  disk.locking = "false"
  diskLib.dataCacheMaxSize = "0"
  diskLib.dataCacheMaxReadAheadSize = "0"
  diskLib.DataCacheMinReadAheadSize = "0"
  diskLib.dataCachePageSize = "4096"
  diskLib.maxUnsyncedWrites = "0"
  scsi1:0.deviceType = "disk"
  scsi1:1.deviceType = "disk"
  scsi1:2.deviceType = "disk"
  scsi1:3.deviceType = "disk"
  c) Rac2的操作请重复rac1前面所做的操作,完全一样,最后一步创建分区可以不用做,在rac1上创建好分区后,rac2上可以用fdisk –l直接看到所有已经创建好的磁盘分区
  4. 为rac1与rac2配置时间同步:
  a) 在rac1上执行以下命令开启时间服务
  [root@rac1 ~]# chkconfig ntpd on
  [root@rac1 ~]# service ntpd status
  ntpd is stopped
  [root@rac1 ~]# service ntpd start
  Starting ntpd: [ OK ]
  [root@rac1 ~]#
  b) 在rac2上输入system-config-date配置,输入rac1的ip后选择add,ok
DSC0007.jpg

  c) 再vi /etc/rc.local
  输入以下内容:
  while [ 1 ];do ntpdate rac1 1>/dev/null 2>&1; sleep 2;done&
  时间同步配置完成
  5. 配置SSH
  a) 切换为oracle用户,在rac1与rac2上的用户根目录下分别创建.ssh目录并给与指定权限:
  mkdir ~/.ssh/
  chmod 700 ~/.ssh
  b) 在rac1上分别使用ssh-keygen命令生成rsa与dsa的非对称密钥。
  ssh-keygen –t rsa
  ssh-keygen –t dsa
  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
  cat ~/.ssh/authorized_keys >> rac1.authorized_keys
  c) 在rac2上分别使用ssh-keygen命令生成rsa与dsa的非对称密钥。
  ssh-keygen –t rsa
  ssh-keygen –t dsa
  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
  cat ~/.ssh/authorized_keys >> rac2.authorized_keys
  d) 将rac1与rac2的密钥文件进行交换
  在rac1上:
DSC0008.jpg

  在rac2上:
DSC0009.jpg

  e) 将rac2的密钥文件合并到rac1的密钥文件中:
  在rac1上执行
  cat rac2.authorized_keys >>authorized_keys
  f) 将rac1的密钥文件合并到rac2的密钥文件中:
  在rac2上执行:
  cat rac1.authorized_keys >>authorized_keys
  g) Chmod 700 authorized_keys(必须要配置,否则会需要密码)
  h) 检测ssh配置是否成功:
  ssh rac1 date
  ssh rac2 date
  ssh rac1-priv date
  ssh rac2-priv date
  如果执行以上命令不需要输入密码则ssh配置成功
  6. 在rac1及rac2上配置裸设备与ASM磁盘:
  a) 在rac1和rac2上配置裸设备(将/dev/sdb1与/dev/sdc1配置为ocr磁盘与表决磁盘)
  Vi /etc/sysconfig/rawdevices
  在其中增加两行代码:
  /dev/raw/raw1 /dev/sdb1
  /dev/raw/raw2 /dev/sdc1
  然后vi /etc/udev/permissions.d/50-udev.permissions,将与raw有关的权限选项进行修改
  # raw devices
  ram*:root:disk:0660
  #raw/*:root:disk:0660
  raw/*:oracle:dba:0660
  再执行检查配置是否成功:
  chkconfig --list rawdevices
  service rawdevices restart
DSC00010.jpg

  b) 在rac1与rac2上配置ASM磁盘(确保前面在两台机器上已经安装了asm的相关包)
  使用root用户登录:
  i. 执行以下命令:/etc/init.d/oracleasm configure
DSC00011.jpg

  ii. 使用/etc/init.d/oracleasm createdisk vol1 /dev/sdd1创建asm磁盘
DSC00012.jpg 在rac1与rac2分别进行如上配置后,磁盘配置完成:

  7. 执行如下命令,检查安装环境是否匹配安装要求:
  /u01/cluster/cluvfy/runcluvfy.sh stage -pre crsinst -n rac1,rac2
  8. 在rac1上执行安装程序:
  . /u01/cluster/runInstall
  9. 指定crs的安装目录:
DSC00013.jpg

  10. 在群集节点中添加rac2的相关信息
DSC00014.jpg

  11. 指定两个网卡的连接类型,将eth0设置为public,eth1设置为private
DSC00015.jpg

  12. 将事先配置好的裸设备/dev/raw/raw1与/dev/raw/raw2分别指定为ocr磁盘与表决磁盘后开始执行安装.
DSC00016.jpg

DSC00017.jpg

  13. 使用集群软件在两个节点进行安装,安装完成后按要求分别在rac1与rac2上执行指定脚本:
  . /u01/oracle/product/oraInventory/orainstRoot.sh
  . /u01/oracle/product/10.2/crs/root.sh
DSC00018.jpg

  rac1:
DSC00019.jpg

  rac2:
DSC00020.jpg

  15. 在两个节运行完脚本后,修改两个配置文件:
  修改vipca文件(需要在两个节点上操作)
  [oracle@rac2 bin]$ cp /home/oracle/app/crs/bin/vipca /home/oracle/app/crs/bin/vipca.bak
  [oracle@rac2 bin]$ gedit /home/oracle/app/crs/bin/vipca
  找到如下内容:
  Remove this workaround when the bug 3937317 is fixed
  arch=`uname -m`
  if [ "$arch" = "i686" -o "$arch" = "ia64" ]
  then
  LD_ASSUME_KERNEL=2.4.19
  export LD_ASSUME_KERNEL
  fi
  #End workaround
  在fi后新添加一行:
  unset LD_ASSUME_KERNEL
  以及srvctl文件 (需要在两个节点上操作)
  [oracle@rac2 bin]$ cp /home/oracle/app/crs/bin/srvctl /home/oracle/app/crs/bin/srvctl.bak
  [oracle@rac2 bin]$ gedit /home/oracle/app/crs/bin/srvctl
  找到如下内容:
  LD_ASSUME_KERNEL=2.4.19
  export LD_ASSUME_KERNEL
  同样在其后新增加一行:
  unset LD_ASSUME_KERNEL
  16. 使用root用户登录在rac2上执行:
  /u01/oracle/product/10.2/crs/bin/vipca
  选择public网卡点next
DSC00021.jpg 对vip与别名进行相应设置

DSC00022.jpg 如果在/u01/oracle/product/oraInventory/logs/installActions2011-03-21_11-23-35文件中

  报WARNING: RAC2:6200 already configured.WARNING: RAC1:6200 already configured.的错误
  请执行
  $cd /home/oracle/app/crs/bin
  /u01/oracle/product/10.2/crs/bin/racgons remove_config rac1:6200
  /u01/oracle/product/10.2/crs/bin/racgons remove_config rac2:6200
  17. 在rac2上执行完netca后,在rac1上点击ok,crs安装完成
DSC00023.jpg

  18. 检查群集资源是否正常启动
DSC00024.jpg

  三.群集数据库安装
  1. 将oracle10g安装软件复制到rac1并进行解压
  2. 运行. /u01/database/runInstal选择安装企业版
DSC00025.jpg 选择安装目录

DSC00026.jpg

  3. 选择两个节点进行数据库安装
DSC00027.jpg

  4. 选择只安装数据库软件
DSC00028.jpg

  5. 安装完成后执行指定脚本后退出,数据库软件安装完成
DSC00029.jpg

  6. 安装数据库并配置ASM:
  在rac1上执行dbca安装群集数据库:
DSC00030.jpg

DSC00031.jpg

  7. 选择在两个节点上安装数据库
DSC00032.jpg

  8. 选择安装自定义的数据库
DSC00033.jpg

  9. 指定数据库的实例名
DSC00034.jpg

  10. 配置em
DSC00035.jpg

  11. 选择使用ASM管理共享存储
DSC00036.jpg

  12. 输入asm的管理密码及创建参数文件
DSC00037.jpg

  13. 点击ok后会提示没有创建监听,直接yes让oracle自动配置监听程序,并开始配置Asm实例
DSC00038.jpg

  14. 进入ASM磁盘设置,选择create new
DSC00039.jpg

  15. 选择事先配置好的asm磁盘--ok
DSC00040.jpg

DSC00041.jpg

DSC00042.jpg

  16. 使用ASM管理磁盘
DSC00043.jpg

  17. 是否配置闪回与归档模式
DSC00044.jpg

  18. 数据库参数配置
DSC00045.jpg

  19. 配置数据库服务,这里不用设置,直接next
DSC00046.jpg

  20. 会报一个最小内存要求的信息,不管,直接ok,再next
DSC00047.jpg

DSC00048.jpg

  21. 选择创建数据库
DSC00049.jpg

DSC00050.jpg

  22. 完成安装
DSC00051.jpg

  23. 检查所有资源的状态, 安装完成!
DSC00052.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-599846-1-1.html 上篇帖子: 部署Oracle 11.2.0.3 RAC (二) 下篇帖子: oracle中decode和case的使用例子
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表