Oracle中的RAC技术是一门很高深的艺术,RAC是real application cluster的英文缩写,中文翻译为真实应用集群。oracle的集群为多个数据库实例对应一个数据库,因而需要使用到共享存储,也就是所谓的盘阵(一盘多机),在本文中使用ISCSI共享存储实现;RAC的安装是个繁琐的过程,需要一定的linux或者unix系统基础,因而笔者将会整理一个RAC在centos4.8的上安装系列教程,本节为教程的第一讲 ———— 安装前的环境准备。

本节总的内容包括以下几个要点:
1:安装linux操作系统,配置IP和主机名
2:调整系统参数
3:配置共享存储
4:配置raw设备
5:配置ASM

环境介绍:
操作系统:Centos4.8  64位(节点)
节点1主机名:rac1.766.com  
节点1IP地址:192.168.50.191/192.168.122.191 
节点2主机名:rac2.766.com
节点2IP地址:192.168.50.192/192.168.122.192

一:安装操作系统

  1. 1:这里采取PXE自动方式进行push安装,安装所有的软件包,可参考:http://ylw6006.blog.51cto.com/470441/587303
  2. 2:配置hosts文件,两个节点应当一致,rac1-vip所对应的ip可以不存在
  3. [root@rac1 ~]# cat /etc/hosts
  4. # Do not remove the following line, or various programs
  5. # that require network functionality will fail.
  6. 127.0.0.1               localhost.localdomain localhost
  7. 192.168.50.191          rac1.766.com          rac1
  8. 192.168.122.191         rac1-priv.766.com     rac1-priv
  9. 10.0.0.1                rac1-vip.766.com      rac1-vip
  10. 192.168.50.192          rac2.766.com          rac2
  11. 192.168.122.192         rac2-priv.766.com     rac2-priv
  12. 10.0.0.2                rac2-vip.766.com      rac2-vip
  13. 3:关闭selinux
  14. [root@rac1 ~]# getenforce
  15. Disabled
  16. 4:创建 Oracle 组和用户帐户,两个节点的oracle用户的uid,gid应当保持一致
  17. [root@rac1 ~]# groupadd  oinstall
  18. [root@rac1 ~]# groupadd  dba
  19. [root@rac1 ~]# useradd -g oinstall -G dba oracle
  20. [root@rac1 ~]# echo "oracle" |passwd --stdin oracle
  21. Changing password for user oracle.
  22. passwd: all authentication tokens updated successfully.
  23. [root@rac1 ~]# id oracle
  24. uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

二:调整系统参数

  1. 1:修改内核和系统参数
  2. [root@rac2 ~]# id oracle
  3. uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
  4. [root@rac1 ~]# cat >> /etc/sysctl.conf <<EOF
  5. > kernel.shmall = 2097152
  6. > kernel.shmmax = 2147483648
  7. > kernel.shmmni = 4096
  8. > kernel.sem = 250 32000 100 128
  9. > fs.file‐max = 65536
  10. > net.ipv4.ip_local_port_range = 1024 65000
  11. > net.core.rmem_default = 262144
  12. > net.core.rmem_max = 262144
  13. > net.core.wmem_default = 262144
  14. > net.core.wmem_max = 262144
  15. > EOF
  16. [root@rac1 ~]# sysctl -p
  17. [root@rac1 ~]# cat >> /etc/security/limits.conf <<EOF
  18. > oracle soft nproc 2047
  19. > oracle hard nproc 16384
  20. > oracle soft nofile 1024
  21. > oracle hard nofile 65536
  22. > EOF
  23. [root@rac1 ~]# cat >> /etc/pam.d/login <<EOF
  24. > session required /lib/security/pam_limits.so
  25. > EOF
  26. [root@rac1 ~]# cat >> /etc/modprobe.conf <<EOF
  27. > options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
  28. > EOF
  29. [root@rac1 ~]# modprobe -v hangcheck-timer
  30. insmod /lib/modules/2.6.18-164.el5/kernel/drivers/char/hangcheck-timer.ko hangcheck_tick=30 hangcheck_margin=180
  31. 2:修改oracle用户环境变量,节点2的ORACLE_SID变量需要改成racdb2
  32. [root@rac1 ~]# su - oracle
  33. [oracle@rac1 ~]$ cat .bash_profile
  34. # .bash_profile
  35. # Get the aliases and functions
  36. if [ -f ~/.bashrc ]; then
  37. . ~/.bashrc
  38. fi
  39. # User specific environment and startup programs
  40. PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/root/bin
  41. export EDITOR=vim
  42. export ORACLE_SID=racdb1
  43. export ORACLE_BASE=/u01/app/oracle
  44. export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
  45. export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
  46. export LD_LIBRARY_PATH=/lib
  47. alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'
  48. alias rman='/usr/local/rlwrap/bin/rlwrap rman'
  49. export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
  50. export NLS_LANG=american_america.UTF8
  51. export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
  52. umask 022
  53. 3:创建相关目录
  54. [oracle@rac1 ~]$ mkdir -p $ORACLE_BASE/admin
  55. [oracle@rac1 ~]$ mkdir -p $ORACLE_HOME
  56. [oracle@rac1 ~]$ mkdir -p $ORA_CRS_HOME
  57. 4:配置oracle用户等效性
  58. [oracle@rac1 ~]$ ssh-keygen -t rsa
  59. Generating public/private rsa key pair.
  60. Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
  61. Created directory '/home/oracle/.ssh'.
  62. Enter passphrase (empty for no passphrase):
  63. Enter same passphrase again:
  64. Your identification has been saved in /home/oracle/.ssh/id_rsa.
  65. Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
  66. The key fingerprint is:
  67. 99:4c:75:0b:3a:81:11:6a:e8:71:74:9e:94:89:00:d4 oracle@rac1.766.com
  68. [oracle@rac1 ~]$ ssh-keygen -t dsa
  69. Generating public/private dsa key pair.
  70. Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
  71. Enter passphrase (empty for no passphrase):
  72. Enter same passphrase again:
  73. Your identification has been saved in /home/oracle/.ssh/id_dsa.
  74. Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
  75. The key fingerprint is:
  76. df:f6:c0:ab:7f:84:91:af:d8:d8:e0:fd:76:77:74:f2 oracle@rac1.766.com
  77. [oracle@rac1 ~]$ cat .ssh/id_dsa.pub  >> .ssh/authorized_keys
  78. [oracle@rac1 ~]$ cat .ssh/id_rsa.pub  >> .ssh/authorized_keys
  79. [oracle@rac1 ~]$ scp /home/oracle/.ssh/authorized_keys oracle@rac2.766.com:/home/oracle/.ssh/
  80. 验证:不需要密码登录
  81. 在rac1节点上面分别ssh rac1;ssh rac1.766.com ; ssh rac2; ssh rac2.766.com
  82. 在rac2节点上面分别ssh rac1;ssh rac1.766.com ; ssh rac2; ssh rac2.766.com

三:配置共享存储

  1. 服务器IP:192.168.50.4
  2. 操作系统:RHEL6 64位
  3. 1:服务器端,详细配置步骤可参考http://ylw6006.blog.51cto.com/470441/580568
  4. [root@rhel6 ~]# lvcreate -n sharedisk -L 80G VolGroup00
  5. Logical volume "sharedisk" created
  6. [root@rhel6 ~]# yum -y install scsi-target-utils.x86_64
  7. [root@rhel6 ~]# service tgtd start
  8. [root@rhel6 ~]# service tgtd restart
  9. Stopping SCSI target daemon: [  OK  ]
  10. Starting SCSI target daemon: [  OK  ]
  11. [root@rhel6 ~]# chkconfig --add tgtdrules
  12. [root@rhel6 ~]# service tgtdrules start
  13. Starting Tgtdrules Server:
  14. [root@rhel6 ~]# service tgtdrules status
  15. Target 1: iqn.2011-06-01.com.766.rac:shareddisk
  16. System information:
  17. Driver: iscsi
  18. State: ready
  19. I_T nexus information:
  20. LUN information:
  21. LUN: 0
  22. Type: controller
  23. SCSI ID: IET     00010000
  24. SCSI SN: beaf10
  25. Size: 0 MB
  26. Online: Yes
  27. Removable media: No
  28. Backing store type: rdwr
  29. Backing store path: None
  30. LUN: 1
  31. Type: disk
  32. SCSI ID: IET     00010001
  33. SCSI SN: beaf11
  34. Size: 85899 MB
  35. Online: Yes
  36. Removable media: No
  37. Backing store type: rdwr
  38. Backing store path: /dev/VolGroup00/sharedisk
  39. Account information:
  40. ACL information:
  41. 192.168.50.191
  42. 192.168.50.192
  43. 2:配置共享存储客户端,centos4和rhel5以及rhel6的配置略微有点不同
  44. [root@rac1 ~]# wget ftp://ftp.is.co.za/mirror/centos/4.8/os/x86_64/CentOS/RPMS/iscsi-initiator-utils-4.0.3.0-8.x86_64.rpm
  45. [root@rac1 ~]# rpm -ivh iscsi-initiator-utils-4.0.3.0-8.x86_64.rpm
  46. warning: iscsi-initiator-utils-4.0.3.0-8.x86_64.rpm: V3 DSA signature: NOKEY, key ID 443e1821
  47. Preparing...                ########################################### [100%]
  48. 1:iscsi-initiator-utils  ########################################### [100%]
  49. [root@rac1 ~]# grep -v '^#' /etc/iscsi.conf  |grep -v '^$'
  50. DiscoveryAddress=192.168.50.4
  51. TargetName=iqn.2011-06-01.com.766.rac:shareddisk
  52. Enabled=yes
  53. [root@rac1 ~]# service iscsi start
  54. Checking iscsi config:  [  OK  ]
  55. Loading iscsi driver:  [  OK  ]
  56. Starting iscsid: [  OK  ]
  57. [root@rac1 ~]# iscsi-ls
  58. *******************************************************************************
  59. SFNet iSCSI Driver Version ...4:0.1.11-7(14-Apr-2008)
  60. *******************************************************************************
  61. TARGET NAME             : iqn.2011-06-01.com.766.rac:shareddisk
  62. TARGET ALIAS            :
  63. HOST ID                 : 0
  64. BUS ID                  : 0
  65. TARGET ID               : 0
  66. TARGET ADDRESS          : 192.168.50.4:3260,1
  67. SESSION STATUS          : ESTABLISHED AT Sun Jun 19 07:23:36 CST 2011
  68. SESSION ID              : ISID 00023d000001 TSIH 100
  69. *******************************************************************************
  70. [root@rac1 ~]# fdisk -l
  71. Disk /dev/sda: 85.8 GB, 85899345920 bytes
  72. 255 heads, 63 sectors/track, 10443 cylinders
  73. Units = cylinders of 16065 * 512 = 8225280 bytes
  74. Disk /dev/sda doesn't contain a valid partition table

四:配置raw设备

  1. 1:将共享存储/dev/sda分成8个分区,前5个分区sda5-9分别为2G,sda10-12分别为20G
  2. [root@rac1 ~]# fdisk -l
  3. Disk /dev/sda: 85.8 GB, 85899345920 bytes
  4. 255 heads, 63 sectors/track, 10443 cylinders
  5. Units = cylinders of 16065 * 512 = 8225280 bytes
  6. Device Boot      Start         End      Blocks   Id  System
  7. /dev/sda1               1       10443    83883366    5  Extended
  8. /dev/sda5               1         244     1959867   83  Linux
  9. /dev/sda6             245         488     1959898+  83  Linux
  10. /dev/sda7             489         732     1959898+  83  Linux
  11. /dev/sda8             733         976     1959898+  83  Linux
  12. /dev/sda9             977        1220     1959898+  83  Linux
  13. /dev/sda10           1221        3653    19543041   83  Linux
  14. /dev/sda11           3654        6086    19543041   83  Linux
  15. /dev/sda12           6087        8519    19543041   83  Linux
  16. [root@rac1 ~]#
  17. 2:将sda5-9绑定为裸设备,节点2上需要做相同的配置
  18. [root@rac1 ~]# cat /etc/sysconfig/rawdevices
  19. # This file and interface are deprecated.
  20. # Applications needing raw device access should open regular
  21. # block devices with O_DIRECT.
  22. # raw device bindings
  23. # format:  <rawdev> <major> <minor>
  24. #          <rawdev> <blockdev>
  25. # example: /dev/raw/raw1 /dev/sda1
  26. #          /dev/raw/raw2 8 5
  27. /dev/raw/raw5    /dev/sda5
  28. /dev/raw/raw6    /dev/sda6
  29. /dev/raw/raw7    /dev/sda7
  30. /dev/raw/raw8    /dev/sda8
  31. /dev/raw/raw9    /dev/sda9
  32. [root@rac1 ~]# service rawdevices restart
  33. [root@rac1 ~]# raw -qa
  34. /dev/raw/raw5:  bound to major 8, minor 5
  35. /dev/raw/raw6:  bound to major 8, minor 6
  36. /dev/raw/raw7:  bound to major 8, minor 7
  37. /dev/raw/raw8:  bound to major 8, minor 8
  38. /dev/raw/raw9:  bound to major 8, minor 9
  39. [root@rac1 ~]# ll /dev/raw/raw*
  40. crw-rw----  1 oracle oinstall 162,  5 Jun 19 08:10 /dev/raw/raw5
  41. crw-rw----  1 oracle oinstall 162,  6 Jun 19 08:10 /dev/raw/raw6
  42. crw-rw----  1 oracle oinstall 162,  7 Jun 19 08:10 /dev/raw/raw7
  43. crw-rw----  1 oracle oinstall 162,  8 Jun 19 08:10 /dev/raw/raw8
  44. crw-rw----  1 oracle oinstall 162,  9 Jun 19 08:10 /dev/raw/raw9
  45. [root@rac1 ~]# chkconfig rawdevices on

五:配置ASM

  1. 1:从oracle网站下载并安装相应的包,节点2上需要做相同的配置
  2. [root@rac1 ~]# cat down.txt
  3. http://oss.oracle.com/projects/oracleasm-support/dist/files/RPMS/rhel4/amd64/2.1.3/oracleasm-support-2.1.3-1.el4.x86_64.rpm
  4. http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el4.x86_64.rpm
  5. http://oss.oracle.com/projects/oracleasm/dist/files/RPMS/rhel4/amd64/2.0.5/2.6.9-89.EL/oracleasm-2.6.9-89.EL-debuginfo-2.0.5-1.el4.x86_64.rpm
  6. http://oss.oracle.com/projects/oracleasm/dist/files/RPMS/rhel4/amd64/2.0.5/2.6.9-89.EL/oracleasm-2.6.9-89.EL-2.0.5-1.el4.x86_64.rpm
  7. [root@rac1 ~]# wget -i down.txt
  8. [root@rac1 ~]# rpm -ivh *.rpm
  9. warning: oracleasm-2.6.9-89.EL-2.0.5-1.el4.x86_64.rpm: V3 DSA signature: NOKEY, key ID b38a8516
  10. Preparing...                ########################################### [100%]
  11. 1:oracleasm-support      ########################################### [ 25%]
  12. 2:oracleasm-2.6.9-89.EL  ########################################### [ 50%]
  13. 3:oracleasm-2.6.9-89.EL-d########################################### [ 75%]
  14. 4:oracleasmlib           ########################################### [100%]
  15. 2:配置asm,节点2上需要做相同的配置
  16. [root@rac1 ~]# /etc/init.d/oracleasm configure
  17. Configuring the Oracle ASM library driver.
  18. This will configure the on-boot properties of the Oracle ASM library
  19. driver.  The following questions will determine whether the driver is
  20. loaded on boot and what permissions it will have.  The current values
  21. will be shown in brackets ('[]').  Hitting <ENTER> without typing an
  22. answer will keep that current value.  Ctrl-C will abort.
  23. Default user to own the driver interface []: oracle
  24. Default group to own the driver interface []: oinstall
  25. Start Oracle ASM library driver on boot (y/n) [n]: y
  26. Scan for Oracle ASM disks on boot (y/n) [y]: y
  27. Writing Oracle ASM library driver configuration: done
  28. Initializing the Oracle ASMLib driver: [  OK  ]
  29. Scanning the system for Oracle ASMLib disks: [  OK  ]
  30. 3:创建ASM磁盘
  31. [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sda10
  32. Marking disk "VOL1" as an ASM disk: [  OK  ]
  33. [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sda11
  34. Marking disk "VOL2" as an ASM disk: [  OK  ]
  35. [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sda12
  36. Marking disk "VOL3" as an ASM disk: [  OK  ]
  37. [root@rac1 ~]# /etc/init.d/oracleasm listdisks
  38. VOL1
  39. VOL2
  40. VOL3
  41. 3:在节点2上应该可以看到同样的结果
  42. [root@rac2 ~]# /etc/init.d/oracleasm  enable
  43. Writing Oracle ASM library driver configuration: done
  44. Initializing the Oracle ASMLib driver: [  OK  ]
  45. Scanning the system for Oracle ASMLib disks: [  OK  ]
  46. [root@rac2 ~]# /etc/init.d/oracleasm listdisks
  47. VOL1
  48. VOL2
  49. VOL3

RAC安装之一 安装前准备相关推荐

  1. 【RAC】 RAC For W2K8R2 安装--共享磁盘的配置(三)

    [RAC] RAC For W2K8R2 安装--共享磁盘的配置(三) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学 ...

  2. 【RAC】 RAC For W2K8R2 安装--总体规划 (一)

    [RAC] RAC For W2K8R2 安装--总体规划 (一) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一 ...

  3. 先装vs还是先装sql_锅炉给水泵的止回阀到底安装在出口阀前还是阀后?

    今天我们来讨论一下锅炉给水泵止回阀安装位置.那么止回阀的安装位置如何确定呢?泵前安装与泵后安装止回阀有何区别,泵前安装适用于哪些地方?止回阀通常要配合其他阀门一起使用,那么跟其他阀门配合使用时,止回阀 ...

  4. 资源放送丨《Oracle RAC 集群安装部署》PPT视频

    点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 邦德 老师分享了<Oracle RAC 集群安装部署>,在这里我们将课件PPT和实况录像分 ...

  5. 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

  6. 本周四直播预告(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

  7. Oracle 11g R2+RAC+ASM+redhat安装详解1

    Oracle RAC是Oracle Real Application Cluster的简写,官方中文文档一般翻译为"真正应用集群",它一般有两台或者两台以上同构计算机及共享存储设备 ...

  8. 金仓KFS for Oracle RAC one node安装部署

    KFS for Oracle RAC one node安装部署 Oracle RAC one node是运行在Oracle RAC集群上的单实例数据库,当实例所在的节点出现问题后,实例可以自动转移到其 ...

  9. 一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)

    一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之安装rac出现的问题 (六) 本章主要是搜集了一些安装rac的过程中出现的问题 ...

  10. 【RAC】 RAC For W2K8R2 安装--grid的安装(四)

    [RAC] RAC For W2K8R2 安装--grid的安装(四) [RAC] RAC For W2K8R2 安装--grid的安装(四) 一.1  BLOG文档结构图 一.2  前言部分 一.2 ...

最新文章

  1. Microsoft Exchange Server 2010测试四成员DAG
  2. 2017-07-19 前端日报
  3. 工业物联网时代,这五大职业跻身新热门
  4. python telnet模块 more_[宜配屋]听图阁 - python 处理telnet返回的More,以及get想要的那个参数方法...
  5. 【收藏】k8s: pod has unbound PersistentVolumeClaims问题解决
  6. vue-cli css文件图片路径写法
  7. mysql 指定账户已存在_安装mysql时告诉我指定的账户已存在?
  8. 购物车的功能——CSS源码
  9. 0基础必看:如何轻松成为C语言高手
  10. PS-tenday-强大的画笔工具(手绘)
  11. 框架使用 - 收藏集 - 掘金
  12. 阅读界面怎么用html做,如何在A4纸页面中制作HTML页面?
  13. javascript 动态设置样式style
  14. 数学符号及读法大全(超经典)
  15. TCP/IP协议及配置
  16. 阿里又开始裁员了,这次是...
  17. (10) 代理服务器CCProxy的应用
  18. 太原城市职业技术学院引入USB Server助力实训系统实现虚拟化
  19. 实验3 路由器的基本配置和远程登录
  20. mvn 打包特殊配置

热门文章

  1. python全栈脱产第20天------常用模块---re模块和subprocess模块
  2. Axios插件和loading的实现
  3. mysql查看锁表锁进程
  4. Metadata Lock原理5
  5. ios7 获取UITablleViewCell
  6. 吴裕雄--天生自然 JAVASCRIPT开发学习:HTML DOM 集合(Collection)
  7. SVN提交文件冲突怎么办?
  8. Linux 下安装python3
  9. 把数组变换成字符串(8)
  10. eclipse中的ctrl+H使用中的问题