护工级Oracle 11g RAC集群实战安装教程

2024年 7月 30日 71.8k 0

一、基础环境准备

1、下载所需的操作系统镜像包和数据库安装包

护工级Oracle 11g RAC集群实战安装教程-1

  1. 链接: https://pan.baidu.com/s/1QM9lLCJhZ6La8zD7ngBRpw 提取码: n8vs

护工级Oracle 11g RAC集群实战安装教程-2

2、安装操作系统

本次安装以两节点 RAC 为例,需要两台虚机,参考配置内存 8g、CPU 4 核、用于存储数据的磁盘 40G,至少 2 个网卡,且网卡名称一致,两张网卡配置 IP 分别为 Public IP 地址、Private IP 地址,VIP 地址、SCAN IP 地址不需要配置在网卡上。

节点 操作系统版本 数据库版本 内存 磁盘 网卡
节点1 Oracle linux 7.5 11.2.0.4 4g 40G 双网卡
节点2 Oracle linux 7.5 11.2.0.4 4g 40G 双网卡

以下步骤均需两个节点都操作。
下图为第二块网卡添加
护工级Oracle 11g RAC集群实战安装教程-3
选择加载下载的镜像包
护工级Oracle 11g RAC集群实战安装教程-4
点击开启虚拟机进行操作系统安装
护工级Oracle 11g RAC集群实战安装教程-5
选择第一行
护工级Oracle 11g RAC集群实战安装教程-6
点击enter,选择英文继续continue
护工级Oracle 11g RAC集群实战安装教程-7
护工级Oracle 11g RAC集群实战安装教程-8
选择时区上海
护工级Oracle 11g RAC集群实战安装教程-9
护工级Oracle 11g RAC集群实战安装教程-10
磁盘分区选择默认即可
护工级Oracle 11g RAC集群实战安装教程-11
选择安装方式,这里我们选择带桌面
护工级Oracle 11g RAC集群实战安装教程-12
护工级Oracle 11g RAC集群实战安装教程-13
开启双网卡
护工级Oracle 11g RAC集群实战安装教程-14
护工级Oracle 11g RAC集群实战安装教程-15
点击Begin Installation进行安装
护工级Oracle 11g RAC集群实战安装教程-16
设置管理员的密码
护工级Oracle 11g RAC集群实战安装教程-17
护工级Oracle 11g RAC集群实战安装教程-18
护工级Oracle 11g RAC集群实战安装教程-19
点击reboot,然后进行lincense授权,最后点击FINISH CONFIGURATION,至此安装完成
护工级Oracle 11g RAC集群实战安装教程-20
护工级Oracle 11g RAC集群实战安装教程-21
护工级Oracle 11g RAC集群实战安装教程-22

3、集群IP规划

RAC集群至少需要规划7个IP地址,两台虚机分别作为RAC 节点 1、节点 2,参考IP规划如下:

主机名 rac1 rac2
Public IP 地址 192.168.59.243 192.168.59.243
VIP 地址 192.168.59.250 192.168.59.251
Private IP 地址 192.168.1.1 192.168.1.2
SCAN IP 地址 192.168.59.100

4、配置yum源(两个节点都执行)

  1. [root@localhost network-scripts]# mount /dev/cdrom /mnt

  2. [root@localhost network-scripts]# cat /etc/yum.repos.d/local.repo

  3. > [local]

  4. > name=local

  5. > baseurl=file:///mnt

  6. > gpgcheck=0

  7. > enabled=1

  8. > EOF

  1. [root@localhost yum.repos.d]# cd /etc/yum.repos.d

  2. [root@localhost yum.repos.d]# rm -rf public-yum-ol7.repo

  3. [root@localhost yum.repos.d]# yum list all|wc -l

  4. [root@localhost yum.repos.d]# yum makecache

护工级Oracle 11g RAC集群实战安装教程-23

5、安装依赖包(两个节点都执行)

  1. yum install -y readline* binutils compat-libstdc++ compat-libstdc++ elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc glibc-common glibc-devel glibc-headers libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC unixODBC-devel unixODBC-devel binutils libaio-devel libaio elfutils-libelf-devel compat-libstdc++-33 libgcc gcc gcc-c++ glibc sysstat libstdc++ libstdc++-devel unixODBC-devel unixODBC

  2. yum install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat unixODBC-devel unixODBC -y

护工级Oracle 11g RAC集群实战安装教程-24

6、配置 IP 等相关服务

修改主机名

节点1:

  1. [root@localhost ~]# hostnamectl set-hostname rac1

护工级Oracle 11g RAC集群实战安装教程-25
节点2:

  1. [root@localhost ~]# hostnamectl set-hostname rac2

护工级Oracle 11g RAC集群实战安装教程-26

配置host文件(两台机器都执行)

  1. cat /etc/hosts

  2. #Public IP

  3. 192.168.59.243 rac1

  4. 192.168.59.244 rac2

  5. #Private IP

  6. 192.168.1.1 rac1-priv

  7. 192.168.1.2 rac2-priv

  8. #Vip IP

  9. 192.168.59.250 rac1-vip

  10. 192.168.59.251 rac2-vip

  11. #Scan IP

  12. 192.168.59.100 rac-scan

  13. EOF

护工级Oracle 11g RAC集群实战安装教程-27
节点1:

  1. ##配置Public IP

  2. nmcli connection modify ens33 ipv4.addresses 192.168.59.243/24 ipv4.gateway 192.168.59.1 ipv4.method manual autoconnect yes

  3. ##配置Private IP

  4. nmcli connection modify ens33 ipv4.addresses 192.168.1.1/24 ipv4.method manual autoconnect yes

  5. ##生效

  6. nmcli connection up ens33

  7. nmcli connection up ens34

护工级Oracle 11g RAC集群实战安装教程-28
节点2:

  1. ##配置Public IP

  2. nmcli connection modify ens33 ipv4.addresses 192.168.59.244/24 ipv4.gateway 192.168.59.1 ipv4.method manual autoconnect yes

  3. ##配置Private IP

  4. nmcli connection modify ens34 ipv4.addresses 192.168.1.2/24 ipv4.method manual autoconnect yes

  5. ##生效

  6. nmcli connection up ens33

  7. nmcli connection up ens34

护工级Oracle 11g RAC集群实战安装教程-29

7、关闭防火墙(两个节点都执行)

  1. [root@localhost network-scripts]# systemctl stop firewalld

  2. [root@localhost network-scripts]# systemctl disable firewalld

  3. [root@localhost network-scripts]# systemctl status firewalld

护工级Oracle 11g RAC集群实战安装教程-30

8、关闭selinux(两个节点都执行)

  1. [root@localhost network-scripts]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

  2. [root@localhost network-scripts]# setenforce 0 #selinux 配置需要重启生效!

9、设置共享存储(两个节点都执行)

本例使用VM虚修改vmk文件使用udev。
在VMvare虚拟机上添加共享存储。本例OCR 盘采用 normal 冗余,数据文件盘采用 external 冗余,故需要3 块 20G 且没有挂载的 SATA 可共享磁盘作为 OCR,1 块 50G 且没有挂载的SATA 可共享磁盘作为数据文件存储。
节点1机器:
护工级Oracle 11g RAC集群实战安装教程-31
护工级Oracle 11g RAC集群实战安装教程-32
护工级Oracle 11g RAC集群实战安装教程-33
护工级Oracle 11g RAC集群实战安装教程-34
护工级Oracle 11g RAC集群实战安装教程-35
护工级Oracle 11g RAC集群实战安装教程-36
护工级Oracle 11g RAC集群实战安装教程-37
节点2机器:
护工级Oracle 11g RAC集群实战安装教程-38
护工级Oracle 11g RAC集群实战安装教程-39
护工级Oracle 11g RAC集群实战安装教程-40
在浏览中找到第一台添加好的硬盘
护工级Oracle 11g RAC集群实战安装教程-41
护工级Oracle 11g RAC集群实战安装教程-42
护工级Oracle 11g RAC集群实战安装教程-43
打开两个虚拟机的安装目录,在vmx文件最后添加(scsi1指定总线为1的所有盘):

  1. scsi1.sharedBus = "virtual"

  2. disk.locking = "false"

  3. diskLib.dataCacheMaxSize = "0"

  4. diskLib.dataCacheMaxReadAheadSize = "0"

  5. diskLib.dataCacheMinReadAheadSize = "0"

  6. diskLib.dataCachePageSize = "4096"

  7. diskLib.maxUnsyncedWrites = "0"

  8. disk.EnableUUID = "TRUE"

护工级Oracle 11g RAC集群实战安装教程-44

节点1:

  1. [root@rac1 ~]# lsblk

护工级Oracle 11g RAC集群实战安装教程-45
节点2:

  1. [root@rac2 ~]# lsblk

护工级Oracle 11g RAC集群实战安装教程-46

  1. **两个节点都执行**:

  2. [root@rac1 ~]# udevadm info -q all -n /dev/sdb|grep 'S: disk/by-id/scsi'

  3. [root@rac1 ~]# udevadm info -q all -n /dev/sdc|grep 'S: disk/by-id/scsi'

  4. [root@rac1 ~]# udevadm info -q all -n /dev/sdd|grep 'S: disk/by-id/scsi'

  5. [root@rac1 ~]# udevadm info -q all -n /dev/sde|grep 'S: disk/by-id/scsi'

新建规则文件(两个节点都执行)

  1. [root@rac1 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

  2. KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29b726c700e3ad7a03c15281158", RUN+="/bin/sh -c 'mknod dev/asm-ocr1 b $major $minor; chown grid:asmadmin dev/asm-ocr1; chmod 0660 dev/asm-ocr1'"

  3. KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2939804eef0627fec6584ac1965", RUN+="/bin/sh -c 'mknod dev/asm-ocr2 b $major $minor; chown grid:asmadmin dev/asm-ocr2; chmod 0660 dev/asm-ocr2'"

  4. KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2959a11c65fe9051d08e5b5ae09", RUN+="/bin/sh -c 'mknod dev/asm-ocr3 b $major $minor; chown grid:asmadmin dev/asm-ocr3; chmod 0660 dev/asm-ocr3'"

  5. KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2928974e5221143335907c14053", RUN+="/bin/sh -c 'mknod dev/asm-ocr4 b $major $minor; chown grid:asmadmin dev/asm-ocr4; chmod 0660 dev/asm-ocr4'"

重载udev(两个节点都执行)

  1. [root@rac1 ~]# udevadm control --reload-rules

  2. [root@rac1 ~]# udevadm trigger --type=devices --action=change

  3. [root@rac1 ~]# ll /dev/asm*

护工级Oracle 11g RAC集群实战安装教程-47

10、关闭透明大页和 NUMA(两个节点都执行)

  1. [root@rac1 ~]# sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub

  2. [root@rac1 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

11、avahi-daemon 配置(两个节点都执行)

  1. yum install -y avahi*

  2. systemctl stop avahi-daemon.socket

  3. systemctl stop avahi-daemon.service

  4. pgrep -f avahi-daemon | awk '{print "kill -9 "$2}'

  5. 配置 NOZEROCONF:

  6. cat /etc/sysconfig/network

  7. NOZEROCONF=yes

  8. EOF

护工级Oracle 11g RAC集群实战安装教程-48

二、操作系统参数配置

1、配置系统参数(两个节点都执行)

  1. cat /etc/sysctl.conf

  2. #ORACLE SETTING

  3. #可以拥有的异步IO请求数

  4. fs.aio-max-nr = 1048576

  5. #允许文件句柄的最大数目

  6. fs.file-max = 6815744

  7. #信号参数

  8. kernel.sem = 250 32000 100 128

  9. #IP V4的端口范围

  10. net.ipv4.ip_local_port_range = 9000 65500

  11. #缓存区的缺省值

  12. net.core.rmem_default = 262144

  13. #缓存区的最大值

  14. net.core.rmem_max = 4194304

  15. #发送缓存区的缺省值

  16. net.core.wmem_default = 262144

  17. #发送缓存区的最大值

  18. net.core.wmem_max = 1048586

  19. #当系统检测到oops时,重新启动系统,以便系统能够重新初始化恢复正常工作

  20. kernel.panic_on_oops = 1

  21. #单个共享内存段最大值,让数据库在一个共享段里面的可以容纳整个SGA

  22. #最大值:比物理内存小1字节

  23. #(kernel.shmmax = 物理内存*1024*1024*1024-1)

  24. kernel.shmmax = 2684354560

  25. #控制共享内存页数(kernel.shmall = shmmax/4096)

  26. kernel.shmall = 655360

  27. #共享内存的最大数量

  28. kernel.shmmni = 4096

  29. #当系统内存使用90%的时候开始使用交换页面

  30. vm.swappiness=10

  31. #默认是100,增大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大。越容易回收。

  32. vm.vfs_cache_pressure=200

  33. EOF

生效

  1. sysctl -p

2、配置系统资源限制(两个节点都执行)

配置limits.conf

  1. cat /etc/security/limits.conf

  2. #ORACLE SETTING

  3. #打开文件描述符大小

  4. grid soft nproc 16384

  5. grid hard nproc 16384

  6. oracle soft nproc 16384

  7. oracle hard nproc 16384

  8. #单个用户可用的进程数

  9. grid soft nofile 65536

  10. grid hard nofile 65536

  11. oracle soft nofile 65536

  12. oracle hard nofile 65536

  13. #进程堆栈段的大小

  14. grid soft stack 32768

  15. grid hard stack 32768

  16. oracle soft stack 32768

  17. oracle hard stack 32768

  18. EOF

配置pam.d/login

  1. cat /etc/pam.d/login

  2. session required pam_limits.so

  3. session required /lib64/security/pam_limits.so

  4. EOF

三、创建用户及组、目录(两个节点都执行)

  1. ##组创建

  2. /usr/sbin/groupadd -g 54321 oinstall

  3. /usr/sbin/groupadd -g 54322 dba

  4. /usr/sbin/groupadd -g 54323 oper

  5. /usr/sbin/groupadd -g 54324 backupdba

  6. /usr/sbin/groupadd -g 54325 dgdba

  7. /usr/sbin/groupadd -g 54326 kmdba

  8. /usr/sbin/groupadd -g 54327 asmdba

  9. /usr/sbin/groupadd -g 54328 asmoper

  10. /usr/sbin/groupadd -g 54329 asmadmin

  11. /usr/sbin/groupadd -g 54330 racdba

  12. #### 用户创建

  13. /usr/sbin/useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba,oper grid

  14. /usr/sbin/useradd -u 54321 -g oinstall -G asmdba,dba,backupdba,dgdba,kmdba,racdba,oper oracle

  15. #### 修改用户密码为oracle

  16. echo "oracle" |passwd oracle --stdin

  17. echo "oracle" |passwd grid --stdin

  18. #### 创建软件目录

  19. mkdir -p /u01/app/11.2.0/grid

  20. mkdir -p /u01/app/grid

  21. mkdir -p /u01/app/oracle/product/11.2.0/db

  22. mkdir -p /u01/app/oraInventory

  23. mkdir -p /backup

  24. mkdir -p /home/oracle/scripts

  25. chown -R oracle:oinstall /backup

  26. chown -R oracle:oinstall /home/oracle/scripts

  27. chown -R grid:oinstall /u01

  28. chown -R grid:oinstall /u01/app/grid

  29. chown -R grid:oinstall /u01/app/11.2.0/grid

  30. chown -R grid:oinstall /u01/app/oraInventory

  31. chown -R oracle:oinstall /u01/app/oracle

  32. chmod -R 775 /u01

护工级Oracle 11g RAC集群实战安装教程-49

四、配置环境变量(两个节点都执行)

grid 用户:

  1. cat /home/grid/.bash_profile

  2. ################OracleBegin#########################

  3. umask 022

  4. export TMP=/tmp

  5. export TMPDIR=\$TMP

  6. export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

  7. export ORACLE_BASE=/u01/app/grid

  8. export ORACLE_HOME=/u01/app/11.2.0/grid

  9. export ORACLE_TERM=xterm

  10. export TNS_ADMIN=\$ORACLE_HOME/network/admin

  11. export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

  12. export ORACLE_SID=+ASM1

  13. export PATH=/usr/sbin:\$PATH

  14. export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

  15. alias sas='sqlplus as sysasm'

  16. export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '

  17. EOF

  18. [grid@rac1 ~]$ source /home/grid/.bash_profile

护工级Oracle 11g RAC集群实战安装教程-50

  1. ```shell

  2. cat /home/grid/.bash_profile

  3. ################OracleBegin#########################

  4. umask 022

  5. export TMP=/tmp

  6. export TMPDIR=\$TMP

  7. export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

  8. export ORACLE_BASE=/u01/app/grid

  9. export ORACLE_HOME=/u01/app/11.2.0/grid

  10. export ORACLE_TERM=xterm

  11. export TNS_ADMIN=\$ORACLE_HOME/network/admin

  12. export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

  13. export ORACLE_SID=+ASM2

  14. export PATH=/usr/sbin:\$PATH

  15. export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

  16. alias sas='sqlplus as sysasm'

  17. export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '

  18. EOF

  19. [grid@rac2 ~]$ source home/grid/.bash_profile

  1. ![](https://admin.pgfans.cn/upload/editormd/20240714/0e9f625388218fdb107ab0261f91c794.png)

  2. **oracle 用户**:

  3. ```shell

  4. cat /home/oracle/.bash_profile

  5. ################OracleBegin#########################

  6. umask 022

  7. export TMP=/tmp

  8. export TMPDIR=\$TMP

  9. export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

  10. export ORACLE_BASE=/u01/app/oracle

  11. export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db

  12. export ORACLE_HOSTNAME=rac1

  13. export ORACLE_TERM=xterm

  14. export TNS_ADMIN=\$ORACLE_HOME/network/admin

  15. export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

  16. export ORACLE_SID=orcl1

  17. export PATH=/usr/sbin:\$PATH

  18. export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

  19. alias sas='sqlplus as sysdba'

  20. export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '

  21. ################OracleEnd#########################

  22. EOF

  23. [oracle@rac1 ~]$ source home/oracle/.bash_profile

护工级Oracle 11g RAC集群实战安装教程-51

  1. cat /home/oracle/.bash_profile

  2. ################OracleBegin#########################

  3. umask 022

  4. export TMP=/tmp

  5. export TMPDIR=\$TMP

  6. export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

  7. export ORACLE_BASE=/u01/app/oracle

  8. export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db

  9. export ORACLE_HOSTNAME=rac2

  10. export ORACLE_TERM=xterm

  11. export TNS_ADMIN=\$ORACLE_HOME/network/admin

  12. export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

  13. export ORACLE_SID=orcl2

  14. export PATH=/usr/sbin:\$PATH

  15. export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

  16. alias sas='sqlplus as sysdba'

  17. export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '

  18. ################OracleEnd#########################

  19. EOF

  20. [oracle@rac2 ~]$ source /home/oracle/.bash_profile

护工级Oracle 11g RAC集群实战安装教程-52

五、安装数据库

1、安装介质上传解压(节点1)

  1. [root@rac1 ~]# mkdir /soft

将下载的三个包上传至/soft路径下
护工级Oracle 11g RAC集群实战安装教程-53

  1. [root@rac1 ~]# cd /soft/

  2. [root@rac1 soft]#unzip -q p13390677_112040_Linux-x86-64_1of7.zip

  3. [root@rac1 soft]#unzip -q p13390677_112040_Linux-x86-64_2of7.zip

  4. [root@rac1 soft]#unzip -q p13390677_112040_Linux-x86-64_3of7.zip

授权目录

  1. chown -R oracle:oinstall /soft/database

  2. chown -R grid:oinstall /soft/grid

root用户下,cvuqdisk安装(两个节点都执行)

  1. cd /soft/grid/rpm

  2. rpm -ivh cvuqdisk-1.0.9-1.rpm

传输到节点二安装

  1. scp cvuqdisk-1.0.9-1.rpm rac2:/tmp

  2. yum install -y smartmontools

  3. rpm -ivh /tmp/cvuqdisk-1.0.9-1.rpm

护工级Oracle 11g RAC集群实战安装教程-54

六、安装 Grid 软件(节点1)

(一)安装VNC软件

1、安装VNC

  1. [root@rac1 rpm]#su - root

  2. [root@rac1 rpm]#sudo yum install tigervnc tigervnc-server -y

2、 修改配置

  1. [root@rac1 rpm]# vim /etc/sysconfig/vncservers

  1. 添加以下内容:

  2. # THIS FILE HAS BEEN REPLACED BY lib/systemd/system/vncserver@.service

  3. # VNCSERVERS="桌面号:系统用户 桌面号:系统用户"

  4. VNCSERVERS="1:grid 2:root"

  5. # VNCSERVERARGS[桌面号]="-geometry 分辨率 -alwaysshared[允许多个客户端同时连接] -depth [色深,值有8,16,24,32]"

  6. VNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared -depth 24"

  7. VNCSERVERARGS[2]="-geometry 1024x768 -alwaysshared -depth 24"

3、设置密码

  1. [root@rac1 rpm]#vncpasswd

护工级Oracle 11g RAC集群实战安装教程-55
4、 启动服务

  1. [root@rac1 rpm]# vncserver

护工级Oracle 11g RAC集群实战安装教程-56
5、grid用户下执行vncpasswd和 vncserver

  1. [grid@rac1:/home/grid]$ vncpasswd

  2. [grid@rac1:/home/grid]$ vncserver

护工级Oracle 11g RAC集群实战安装教程-57
6、oracle用户下执行vncpasswd和 vncserver

  1. [oracle@rac1:/home/oracle]$ vncpasswd

  2. [oracle@rac1:/home/oracle]$ vncserver

护工级Oracle 11g RAC集群实战安装教程-58

(二)开始安装grid软件

在vnc客户端界面输入192.168.56.243:1,输入刚才输入的密码即可连接。

  1. [grid@rac2~]$source ~/.bash_profile

进入安装目录

  1. [grid@rac2~]$cd /soft/grid

执行安装程序开始安装,加上jar包防止弹窗不显示问题

  1. [grid@rac2~]$./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

护工级Oracle 11g RAC集群实战安装教程-59

选择集群模式安装

护工级Oracle 11g RAC集群实战安装教程-60

自定义模式安装

护工级Oracle 11g RAC集群实战安装教程-61

选择语言

护工级Oracle 11g RAC集群实战安装教程-62

修改集群名称和 scan 名称

护工级Oracle 11g RAC集群实战安装教程-63

配置 grid 用户节点间互信

护工级Oracle 11g RAC集群实战安装教程-64
护工级Oracle 11g RAC集群实战安装教程-65
护工级Oracle 11g RAC集群实战安装教程-66
护工级Oracle 11g RAC集群实战安装教程-67

确认网络信息是否正确

护工级Oracle 11g RAC集群实战安装教程-68

选择ASM模式安装

护工级Oracle 11g RAC集群实战安装教程-69
填写 OCR 裁决盘信息,OCR 裁决盘这里冗余模式 External,Normal,High 对应磁盘数量为 1,3,5,这里我们选择Normal。也就是需要三块盘。
护工级Oracle 11g RAC集群实战安装教程-70
选择三块一样的磁盘
护工级Oracle 11g RAC集群实战安装教程-71

填写 ASM 实例 SYS 用户密码为 oracle

护工级Oracle 11g RAC集群实战安装教程-72

不使用IPMI

护工级Oracle 11g RAC集群实战安装教程-73

选择用户组

护工级Oracle 11g RAC集群实战安装教程-74

选择grid安装目录

护工级Oracle 11g RAC集群实战安装教程-75
护工级Oracle 11g RAC集群实战安装教程-76

安装前预检查

护工级Oracle 11g RAC集群实战安装教程-77
护工级Oracle 11g RAC集群实战安装教程-78

选择忽略即可

护工级Oracle 11g RAC集群实战安装教程-79
护工级Oracle 11g RAC集群实战安装教程-80

执行安装

护工级Oracle 11g RAC集群实战安装教程-81
护工级Oracle 11g RAC集群实战安装教程-82
护工级Oracle 11g RAC集群实战安装教程-83
护工级Oracle 11g RAC集群实战安装教程-84

  1. yum install libXp.so.6 -y

护工级Oracle 11g RAC集群实战安装教程-85

执行 root 脚本(两个节点都执行)

护工级Oracle 11g RAC集群实战安装教程-86

  1. [root@rac1 ~]# /u01/app/oraInventory/orainstRoot.sh

  2. [root@rac1 ~]# /u01/app/11.2.0/grid/root.sh

护工级Oracle 11g RAC集群实战安装教程-87

没有打补丁的话,会报错

护工级Oracle 11g RAC集群实战安装教程-88
进行补丁的安装(两个节点都执行)

补丁安装

这里我们安装18370031补丁包
护工级Oracle 11g RAC集群实战安装教程-89

  1. 链接: https://pan.baidu.com/s/1_MOJ4eFwL3MCYTy3_OAvvA

  2. 提取码: hdi8

上传p18370031_112040_Linux-x86-64.zip补丁包

  1. cd /soft

护工级Oracle 11g RAC集群实战安装教程-90

  1. [root@rac1 soft]#unzip -q p18370031_112040_Linux-x86-64.zip

补丁包赋权

  1. [root@rac1 soft]#chown -R grid:oinstall /soft/18370031

  2. [root@rac1 soft]#chown -R grid:oinstall /u01

  3. [root@rac1 soft]#chown -R grid:oinstall /u01/app/grid

  4. [root@rac1 soft]#chown -R grid:oinstall /u01/app/11.2.0/grid

  5. [root@rac1 soft]#chown -R grid:oinstall /u01/app/oraInventory

  6. [root@rac1 soft]#chown -R oracle:oinstall /u01/app/oracle

开始安装18370031补丁(两个节点都需要执行)

  1. opatch napply -oh $ORACLE_HOME -local /soft/18370031

护工级Oracle 11g RAC集群实战安装教程-91
护工级Oracle 11g RAC集群实战安装教程-92
护工级Oracle 11g RAC集群实战安装教程-93
护工级Oracle 11g RAC集群实战安装教程-94

节点2会报错,没有加载对应的java环境,我们手动去添加

  1. [grid@rac2:/u01/app/11.2.0/grid/oui/bin]$ ./attachHome.sh -jreLoc /tmp/jdk

然后再执行补丁命令

  1. [grid@rac2:/u01/app/11.2.0/grid/oui/bin]$opatch napply -oh $ORACLE_HOME -local /soft/18370031

护工级Oracle 11g RAC集群实战安装教程-95
护工级Oracle 11g RAC集群实战安装教程-96

安装过程中会报错,直接skip,不用管

Cause?-The plug-in failed in its perform method Action?-Refer to the logs or contact Oracle Support Services. Log File Location
/u01/app/oraInventory/logs/installActions2024-07-27_05-27-10PM.log

这个报错也直接skip

护工级Oracle 11g RAC集群实战安装教程-97

护工级Oracle 11g RAC集群实战安装教程-98

  1. [grid@rac1:/home/grid]$ crs_stat -t

护工级Oracle 11g RAC集群实战安装教程-99

  1. [grid@rac2:/home/grid]$ crs_stat -t

护工级Oracle 11g RAC集群实战安装教程-100

护工级Oracle 11g RAC集群实战安装教程-101

七、创建 ASM 数据盘 DATA

  1. [grid@rac1:/home/grid]$ asmca

护工级Oracle 11g RAC集群实战安装教程-102

点击 create 创建 DATA盘

护工级Oracle 11g RAC集群实战安装教程-103
护工级Oracle 11g RAC集群实战安装教程-104
护工级Oracle 11g RAC集群实战安装教程-105
护工级Oracle 11g RAC集群实战安装教程-106

重启两台主机,检查重启后Grid集群是否正常运行

  1. [grid@rac1:/home/grid]$ asmcmd lsdg

护工级Oracle 11g RAC集群实战安装教程-107

  1. [grid@rac2:/u01/app/oraInventory/logs]$ asmcmd lsdg

护工级Oracle 11g RAC集群实战安装教程-108

八、安装Oracle软件

  1. [oracle@rac1 ~]$ source ~/.bash_profile

  1. [oracle@rac1:/home/oracle]$ cd /soft/database

执行安装程序开始安装,加上jar包防止弹窗不显示问题

  1. [oracle@rac1:/home/oracle]$./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

不配置 Oracle 邮件发送

护工级Oracle 11g RAC集群实战安装教程-109
护工级Oracle 11g RAC集群实战安装教程-110

跳过软件更新

护工级Oracle 11g RAC集群实战安装教程-111

选择仅安装 oracle 软件

护工级Oracle 11g RAC集群实战安装教程-112

配置 oracle 用户互信,输入密码,点击 setup 开始ssh互信

护工级Oracle 11g RAC集群实战安装教程-113

选择语言

护工级Oracle 11g RAC集群实战安装教程-114

选择企业版安装

护工级Oracle 11g RAC集群实战安装教程-115

检查用户组,默认即可

护工级Oracle 11g RAC集群实战安装教程-116
护工级Oracle 11g RAC集群实战安装教程-117

安装前预检查

护工级Oracle 11g RAC集群实战安装教程-118

选择ignore all即可

护工级Oracle 11g RAC集群实战安装教程-119
护工级Oracle 11g RAC集群实战安装教程-120

点击install开始oracle安装

护工级Oracle 11g RAC集群实战安装教程-121
[root@rac1 oraInventory]# sed -i ‘s/^(\s\$(MK_EMAGENT_NMECTL))\s$/\1 -lnnz11/g’ “$ORACLE_HOME/sysman/lib/ins_emagent.mk
[root@rac2 app]# sed -i ‘s/^(\s\$(MK_EMAGENT_NMECTL))\s$/\1 -lnnz11/g’ “$ORACLE_HOME/sysman/lib/ins_emagent.mk
护工级Oracle 11g RAC集群实战安装教程-122
护工级Oracle 11g RAC集群实战安装教程-123

执行 root.sh 脚本(两个节点都执行)

护工级Oracle 11g RAC集群实战安装教程-124
[root@rac1 oraInventory]# u01/app/oracle/product/11.2.0/db/root.sh
护工级Oracle 11g RAC集群实战安装教程-125
护工级Oracle 11g RAC集群实战安装教程-126
护工级Oracle 11g RAC集群实战安装教程-127
至此,Oracle 软件已经成功安装

九、创建数据库实例

  1. [oracle@rac1:/soft/database]$ dbca

选择rac模式

护工级Oracle 11g RAC集群实战安装教程-128

选择创建数据库

护工级Oracle 11g RAC集群实战安装教程-129

选择自定义模板

护工级Oracle 11g RAC集群实战安装教程-130

填写数据库实例 ID

护工级Oracle 11g RAC集群实战安装教程-131
护工级Oracle 11g RAC集群实战安装教程-132

关闭 EM,保留自动化系统 JOB

护工级Oracle 11g RAC集群实战安装教程-1

填写 SYS 密码

护工级Oracle 11g RAC集群实战安装教程-134
护工级Oracle 11g RAC集群实战安装教程-135

选择存放数据的 ASM 盘DATA

护工级Oracle 11g RAC集群实战安装教程-136

报错的话,需要给oracle添加s权限

护工级Oracle 11g RAC集群实战安装教程-137
护工级Oracle 11g RAC集群实战安装教程-138
[grid@rac1:/home/grid]$ chmod +s /u01/app/11.2.0/grid/bin/oracle
护工级Oracle 11g RAC集群实战安装教程-139
护工级Oracle 11g RAC集群实战安装教程-140

这里选择不开启闪回区

护工级Oracle 11g RAC集群实战安装教程-141

选择自定义组件,默认即可

配置初始化参数

护工级Oracle 11g RAC集群实战安装教程-142
护工级Oracle 11g RAC集群实战安装教程-143

选择数据库字符集,默认字符集为 AL32UTF8

护工级Oracle 11g RAC集群实战安装教程-144

开始建库

护工级Oracle 11g RAC集群实战安装教程-145
护工级Oracle 11g RAC集群实战安装教程-2
护工级Oracle 11g RAC集群实战安装教程-147

如有报错,需执行以下命令(两个节点都执行)

护工级Oracle 11g RAC集群实战安装教程-148

  1. [root@rac2 app]# mkdir -p /dev/asm

  2. [root@rac2 app]# chown -R grid.asmadmin /dev/asm

  3. [root@rac2 app]# chmod -R 777 /dev/asm

护工级Oracle 11g RAC集群实战安装教程-149
护工级Oracle 11g RAC集群实战安装教程-150
护工级Oracle 11g RAC集群实战安装教程-151
护工级Oracle 11g RAC集群实战安装教程-3

如出现以下错误,需要设置参数(两个节点都执行)

  1. [grid@rac11 ~]$ ls -l /u01/app/11.2.0/grid/bin/oracle

  2. -rwsr-x--x 1 grid oinstall 209836240 Jul 27 17:36 /u01/app/11.2.0/grid/bin/oracle

  3. [grid@rac11 ~]$ chmod 6751 /u01/app/11.2.0/grid/bin/oracle

  4. [grid@rac11 ~]$ ls -l /u01/app/11.2.0/grid/bin/oracle

  5. -rwsr-s--x 1 grid oinstall 209836240 Jul 27 17:36 /u01/app/11.2.0/grid/bin/oracle

  6. [oracle@rac11 ~]$ ls -l /u01/app/oracle/product/11.2.0/db_1/bin/oracle

  7. -rwsr-sr-x 1 oracle asmadmin 239501472 Jul 27 23:12 /u01/app/oracle/product/11.2.0/db/bin/oracle

护工级Oracle 11g RAC集群实战安装教程-153
护工级Oracle 11g RAC集群实战安装教程-154

  1. SQL> select status from v$instance;

护工级Oracle 11g RAC集群实战安装教程-155

  1. SQL> select instance_number,instance_name,startup_time,status from gv$Instance;

护工级Oracle 11g RAC集群实战安装教程-4
[grid@rac1:/u01/app/11.2.0/grid/bin]$ srvctl stop database -d orcl
护工级Oracle 11g RAC集群实战安装教程-157

开启数据库实例

  1. [grid@rac1:/u01/app/11.2.0/grid/bin]$srvctl start database -d orcl

至此,oracle 11g RAC搭建完成!

护工级Oracle 11g RAC集群实战安装教程-158

参考文章:

https://mp.weixin.qq.com/s/XTjngtkP19M17aR2fFa1dA

https://www.modb.pro/db/1703649053032665088

https://www.modb.pro/db/153861

文中的概念来源于互联网,如有侵权,请联系我删除。

欢迎关注公众号:小周的数据库进阶之路,一起交流数据库、中间件和云计算等技术。欢迎觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论