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

[经验分享] 虚拟机安装oracle RAC

[复制链接]

尚未签到

发表于 2018-9-6 11:10:43 | 显示全部楼层 |阅读模式
  虚拟机安装oracle RAC
  Oracle rac安装的前提是必须要有一个共享存储器。两台电脑上只安装oracle实例,数据库创建在共享存储上,两个实例都可以访问数据库。因此由于没有存储设备,所以用虚拟机虚拟几个硬盘作为共享存储。
  环境如下:

  Linux操作系统:Oracle Linux Server>  VMware version:Workstation 10 build-703057
  Oracle版本:11G R2 oracle 64位 11.2.0.1.0 for linux
  安装包如下:
  Linux: V37084-01.iso (oracle官网下载)
  Oracle: linux.x64_11gR2_database_1of2.zip(oracle官网下载)
  linux.x64_11gR2_database_2of2.zip(oracle官网下载)
  oracleasmlib-2.0.12-1.el6.x86_64.rpm(oracle官网下载)
  注意:ASM是oracle用来管理共享存储里面的磁盘的,后面文档中有提供下载地址
  linux.x64_11gR2_grid.zip(oracle官网下载)
  注意:grid是oracle集群工具
  步骤规划:
  1,安装Linux操作系统,配置虚拟机共享磁盘
  2,配置系统相关的网络,用户相关信息
  3,配置ASM
  4,安装Oracle grid
  5,安装Oracle database
  6,创建ASM磁盘组
  7,建立数据库实例
  1,配置虚拟机、安装Linux操作系统
  1.1  新建虚拟机:NEWSDB01 和NEWSDB02,并安装系统

  下载Oracle Linux Server>  1.2   配置Share Disks
  新建共享硬盘,在DOS 切换到VM安装目录下执行:要注意要有F盘,没有F盘就得改后面的路径
  开始--运行---CMD 进入DOS
  cd  F:/Software/vm10/(就是你vm的安装路径)
  vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\ocr.vmdk
  vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\ocr2.vmdk
  vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\votingdisk.vmdk
  vmware-vdiskmanager.exe -c -s 20000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\data.vmdk
  vmware-vdiskmanager.exe -c -s 10000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\backup.vmdk
  配置虚拟机newsdb01 newsdb02目录下的vmx虚拟机配置文件,在行最后添加如下:
  scsi1.present = "TRUE"
  scsi1.virtualDev = "lsilogic"
  scsi1.sharedBus = "virtual"
  scsi1:1.present = "TRUE"
  scsi1:1.mode = "independent-persistent"
  scsi1:1.filename = "F:\VMDisk\Sharedisk\ocr.vmdk"
  scsi1:1.deviceType = "plainDisk"
  scsi1:2.present = "TRUE"
  scsi1:2.mode = "independent-persistent"
  scsi1:2.filename = "F:\VMDisk\Sharedisk\votingdisk.vmdk"
  scsi1:2.deviceType = "plainDisk"
  scsi1:3.present = "TRUE"
  scsi1:3.mode = "independent-persistent"
  scsi1:3.filename = "F:\VMDisk\Sharedisk\data.vmdk"
  scsi1:3.deviceType = "plainDisk"
  scsi1:4.present = "TRUE"
  scsi1:4.mode = "independent-persistent"
  scsi1:4.filename = "F:\VMDisk\Sharedisk\backup.vmdk"
  scsi1:4.deviceType = "plainDisk"
  scsi1:5.present = "TRUE"
  scsi1:5.mode = "independent-persistent"
  scsi1:5.filename = "F:\VMDisk\Sharedisk\ocr2.vmdk"
  scsi1:5.deviceType = "plainDisk"
  disk.locking = "false"
  diskLib.dataCacheMaxSize = "0"
  diskLib.dataCacheMaxReadAheadSize = "0"
  diskLib.DataCacheMinReadAheadSize = "0"
  diskLib.dataCachePageSize = "4096"
  diskLib.maxUnsyncedWrites = "0"
  保存退出。
  再次提醒注意内存、硬盘和网卡配置。
  配置虚拟机、安装Linux操作系统完成。
  2,配置OS
  这种颜色的需要在两个节点都配置需要同时在两个节点执行。
  2.1 关闭防火墙、selinux(考虑到后面安装时会碰到一些情况,所以需要执行这步骤)
  关闭selinux
  setenforce 0
  [root@newsdb01  ~]# vim /etc/selinux/config
  SELINUX=disabled
  关闭防火墙
  service iptables stop
  chkconfig iptables off
  2.2 配置网络
  host文件,两个节点都配置
  vim /etc/hosts
  192.168.0.5 newsdb01
  192.168.0.6 newsdb02
  192.168.0.7 newsdb01-vip
  192.168.0.8 newsdb02-vip
  10.10.10.10 newsdb01-priv
  10.10.10.11 newsdb02-priv
  192.168.0.100 scan-ip
  保存退出。
  配置完之后互相ping看看是否连通。
  2.3 停止NTP服务和删除配置
  service ntpd stop
  chkconfig ntpd off
  rm -rf /etc/ntpd.conf
  rm -rf /var/run/ntpd.pid
  配置SSH互通
  就是两台服务器直接SSH访问是不需要密码:比如  ssh newsdb02 就直接连接到newsdb02上了。在oracle 11g r2 之前的版本需要手动配置,oracle 11g r2 中不需要手动配置。
  注意:
  在grid安装时会提供配置步骤,所以不需要手工配置。
  在安装grid和oracle的时候都需要创建SSH互通,该步骤的主要目的是使两台主机之间访问不需要输入密码,安装grid和oracle都只需要在一台机器上运行,因为安装过程中安装程序会自动把node1的数据copy到node2.
  2.4 配置Oracle软件安装用户、组、环境变量、安装目录
  #组
  groupadd -g 1300 dba
  groupadd -g 1301 oper
  groupadd -g 1000 oinstall
  groupadd -g 1200 asmadmin
  groupadd -g 1201 asmdba
  groupadd -g 1202 asmoper
  #用户
  useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -s /bin/bash grid
  useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -s /bin/bash oracle
  #用户环境变量修改home下的
  vim  .bash_profile
  ORACLE用户
  export TMP=/tmp
  export TMPDIR=$TMP
  export ORACLE_SID=netdb1  # newsdb01(节点一)
  export ORACLE_SID=netdb2  # newsdb02(节点二)
  export ORACLE_BASE=/u01/app/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  export TNS_ADMIN=$ORACLE_HOME/network/admin
  export PATH=/usr/sbin:$PATH
  export PATH=$ORACLE_HOME/bin:$PATH
  export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

  export>  umask 022
  GRID用户
  export TMP=/tmp
  export TMPDIR=$TMP
  export ORACLE_SID=+ASM1  # newsdb01(节点一)
  export ORACLE_SID=+ASM2  # newsdb02(节点二)
  export ORACLE_BASE=/u01/app/grid
  export ORACLE_HOME=/u01/app/11.2.0/grid
  export PATH=/usr/sbin:$PATH
  export PATH=$ORACLE_HOME/bin:$PATH
  export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

  export>  umask 022
  配置目录
  mkdir -p  /u01/app/11.2.0/grid
  mkdir -p /u01/app/grid
  mkdir -p /u01/app/oracle
  chown grid:oinstall /u01/app/11.2.0/grid
  chown grid:oinstall /u01/app/grid
  chown oracle:oinstall /u01/app/oracle
  chmod -R 775 /u01/
  chown -R grid:oinstall /u01
  2.5 配置系统文件
  配置oracle、grid用户的shell限制
  vim /etc/security/limits.conf
  添加
  grid soft nproc 2047
  grid hard nproc 16384
  grid soft nofile 1024
  grid hard nofile 65536
  oracle soft nproc 2047
  oracle hard nproc 16384
  oracle soft nofile 1024
  oracle hard nofile 65536
  修改/etc/pam.d/login配置文件
  vim  /etc/pam.d/login
  添加 session    required     pam_limits.so
  修改内核配置文件/etc/sysctl.conf
  fs.aio-max-nr = 1048576
  fs.file-max = 6815744
  kernel.shmall = 2097152
  kernel.shmmax = 1054472192
  kernel.shmmni = 4096
  kernel.sem = 250 32000 100 128
  net.ipv4.ip_local_port_range = 9000 65500
  net.core.rmem_default = 262144
  net.core.rmem_max = 4194304
  net.core.wmem_default = 262144
  net.core.wmem_max = 1048586
  net.ipv4.tcp_wmem = 262144 262144 262144
  net.ipv4.tcp_rmem = 4194304 4194304 4194304
  保存退出后执行 sysctl -p 立即生效。
  2.6 配置共享磁盘 (由于是共享存储,在一个节点执行即可。另一个节点自然就有了)
  查看分区
  ls /dev/sd*
  使用fdisk进行分区,其他区按照自己的规划划分就可以了,例:
  fdisk /dev/sdb
  [root@newsdb01  ~]# fdisk /dev/sdb
  Command (m for help): n
  Command action
  e   extended
  p   primary partition (1-4)
  p
  Partition number (1-4): 1
  First cylinder (1-1000, default 1):
  Using default value 1
  Last cylinder, +cylinders or +size{K,M,G} (1-1000, default 1000): +500M
  Command (m for help): n
  Command action
  e   extended
  p   primary partition (1-4)
  p
  Partition number (1-4): 2
  First cylinder (502-1000, default 502):
  Using default value 502
  Last cylinder, +cylinders or +size{K,M,G} (502-1000, default 1000):
  Using default value 1000
  Command (m for help): w

  The partition table has been>  最后配置完后查看分区
  fidks -l
  [root@newsdb01  ~]# ls /dev/sd*(应该有如下对应的7个分区)
  /dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd  /dev/sdd1  /dev/sdd2  /dev/sde  /dev/sde1  /dev/sde2  /dev/sdf  /dev/sdf1
  2.7 安装Oracle grid等需要的包(这个包在安装检查安装环境的时候会提示哪些包没有,没有的就再装一遍,如果确认已经安装过了就直接下一步,因为你安装的版本可能和系统要求的不一致所以提示未安装,这些包在系统盘里面就有。可以把系统盘挂载到文件系统中,
  mount /dev/cdrom /mnt/
  cd /mnt/Packages )
  这些包在系统盘里面就有。可以把系统盘挂载在上
  rpm -ivh libgcc-4.4.7-3.el6.i686.rpm
  rpm -ivh libgcc-4.4.7-3.el6.x86_64.rpm
  rpm -ivh libstdc++-4.4.7-3.el6.i686.rpm
  rpm -ivh libstdc++-4.4.7-3.el6.x86_64.rpm
  rpm -ivh libstdc++-devel-4.4.7-3.el6.x86_64.rpm
  rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
  rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
  rpm -ivh make-3.81-20.el6.x86_64.rpm
  rpm -ivh sysstat-9.0.4-20.el6.x86_64.rpm
  rpm -ivh ksh-20100621-19.el6.x86_64.rpm
  rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
  rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm
  rpm -ivh gcc-4.4.7-3.el6.x86_64.rpm
  rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm
  rpm -ivh binutils-2.20.51.0.2-5.36.el6.x86_64.rpm
  rpm -ivh compat-libcap1-1.10-1.x86_64.rpm
  rpm -ivh binutils-2.20.51.0.2-5.36.el6.x86_64.rpm
  rpm -ivh binutils-2.20.51.0.2-5.36.el6.x86_64.rpm
  rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
  rpm -ivh glibc-2.12-1.107.el6.x86_64.rpm
  rpm -ivh glibc-2.12-1.107.el6.i686.rpm
  rpm -ivh glibc-2.12-1.107.el6.x86_64.rpm
  rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
  rpm -ivh elfutils-libelf-devel-0.152-1.el6.x86_64.rpm
  rpm -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
  rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
  rpm -ivh libgcc-4.4.7-3.el6.x86_64.rpm
  rpm -ivh libstdc++-4.4.7-3.el6.x86_64.rpm
  rpm -ivh libaio-0.3.107-10.el6.i686.rpm
  rpm -ivh glibc-2.12-1.107.el6.x86_64.rpm
  rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
  rpm -ivh libaio-devel-0.3.107-10.el6.i686.rpm
  rpm -ivh libgcc-4.4.7-3.el6.i686.rpm
  rpm -ivh  libstdc++-4.4.7-3.el6.x86_64.rpm
  rpm -ivh  unixODBC-2.2.14-12.el6_3.x86_64.rpm
  rpm -ivh  unixODBC-devel-2.2.14-12.el6_3.x86_64.rpm
  yum -y install pdksh
  3,配置ASM
  3.1 查看操作系统内核版本对应下载
  uname -a
  下载oracleasm
  http://www.oracle.com/technetwork/server-storage/linux/asmlib/ol6-1709075.html
  安装
  yum -y install kmod-oracleasm.x86_64
  rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm(官网下载)
  rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm(光盘中有)
  3.2 配置ASM磁盘
  在两个节点上执行
  [root@newsdb01  oracle]# /etc/init.d/oracleasm configure
  Configuring the Oracle ASM library driver.
  This will configure the on-boot properties of the Oracle ASM library
  driver.  The following questions will determine whether the driver is
  loaded on boot and what permissions it will have.  The current values
  will be shown in brackets ('[]').  Hitting  without typing an
  answer will keep that current value.  Ctrl-C will abort.
  Default user to own the driver interface []: grid
  Default group to own the driver interface []: asmdba
  Start Oracle ASM library driver on boot (y/n) [n]: y
  Scan for Oracle ASM disks on boot (y/n) [y]:
  Writing Oracle ASM library driver configuration: done
  Initializing the Oracle ASMLib driver:                     [  OK  ]
  Scanning the system for Oracle ASMLib disks:               [  OK  ]
  创建并扫描ASM磁盘(只需要一个节点上创建,另一个节点上直接scandisks)
  [root@newsdb01  oracle]# /etc/init.d/oracleasm createdisk  VOL1  /dev/sdb1
  [root@newsdb01  oracle]# /etc/init.d/oracleasm createdisk  VOL2  /dev/sdc1
  [root@newsdb01  oracle]# /etc/init.d/oracleasm createdisk  VOL3  /dev/sdd1
  [root@newsdb01  oracle]# /etc/init.d/oracleasm createdisk  VOL4  /dev/sdd2
  [root@newsdb01  oracle]# /etc/init.d/oracleasm createdisk  VOL5  /dev/sde1
  [root@newsdb01  oracle]# /etc/init.d/oracleasm createdisk  VOL6  /dev/sde2
  [root@newsdb01  oracle]# /etc/init.d/oracleasm createdisk  VOL7  /dev/sdf1
  [root@newsdb01  oracle]# /etc/init.d/oracleasm scandisks
  Scanning the system for Oracle ASMLib disks:               [  OK  ]
  [root@newsdb01  ~]# /etc/init.d/oracleasm listdisks
  VOL1
  VOL2
  VOL3
  VOL4
  VOL5
  VOL6
  VOL7
  4,安装Oracle grid
  将grid 安装包传到服务器上 。
  4.1将grid程序包拷贝到服务器节点1的/u01目录下解压,unzip linux.x64_11gR2_grid.zip
  在root下执行 xhost +
  su - grid
  export DISPLAY=:0.0
  export LANG=en_US.UTF-8
  进入解压开的目录中执行
  ./runinstaller 打开安装图像界面,开始安装。
  安装完成后会产生两个shell文件,分别在两个节点执行。
  如果出错则执行
  先执行/u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
  然后执行root.sh的同时执行/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
  5,安装Oracle database软件
  需要用oracle用户安装
  在root下执行 xhost +
  su - oracle
  export DISPLAY=:0.0
  export LANG=en_US.UTF-8
  ./runInstaller
  仅安装数据库软件即可,这里就根据图形界面的提示安装就可以了,最后按照提示执行相关脚本。
  6,创建ASM磁盘组
  需要新建其他磁盘组来安装数据文件等
  su - grid
  asmca
  根据界面提示创建磁盘组。
  7,建立数据库实例
  su - oracle
  ./runInstaller
  根据图形界面步骤提示选择rac选项新建数据库实例即可。


运维网声明 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-563984-1-1.html 上篇帖子: oracle查看被锁的表和解锁 下篇帖子: oracle sql 进行遍历查询
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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