当前位置: 首页 > news >正文

ORACLE DATABASE 11.2.0.4 RAC Install

一、OS规划

1、系统规划

在这里插入图片描述

2、网络规划

  • 每个节点必须具有至少两个以上得网卡,一张网卡对外提供网络服务,另一张网卡用于各个节点间得通信和心跳检测等(内部通信)
  • 需要保证Public-IP、VIP-IP、Scan-IP在同一网段上,其中Private-IP位于另一网段上(该网段只要独立即可)
  • 当前配置的网卡在虚拟机中新增两张,一张为NAT,一张为桥接模式。当新建OS后默认会存在一张网卡,所以只需要新增一张即可
  • 虚拟机新增网卡需要关机进行
    在这里插入图片描述
    编辑私网网卡
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-ens32 ifcfg-ens34
# vi ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=no  -- 改为 no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34  -- 更名为ip addr默认识别名
#UUID=2f2ea75f-c499-4b28-9fef-15cb3b4f3743  -- 注释掉
DEVICE=ens34  -- 更名为ip addr默认识别名
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.1.33  -- 不同网段(VIP)
NETMASK=255.255.255.0
GATEWAY=192.168.1.2  -- 与IP保持同一网段

编辑公网网卡

# vi ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO= static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
#UUID=2f2ea75f-c499-4b28-9fef-15cb3b4f3743 -- 注释掉
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.136.33
NETMASK=255.255.255.0
GATEWAY=192.168.136.2
DNS=223.5.5.5

3、IP及主机名更改(所有节点执行)

# IP设置(两节点)
$ vi /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4# public ip192.168.136.33 rac1.localdomain.com rac1
192.168.136.63 rac2.localdomain.com rac2# private-ip
192.168.1.33 rac1-priv
192.168.1.34 rac2-priv# node-vip
192.168.136.133 rac1-node1-vip
192.168.136.134 rac2-node2-vip# scan ip
192.168.136.140 rac1-scan

4、关闭防火墙(所有节点执行)

$ systemctl stop firewalld.service && systemctl disable firewalld.service

5、修改selinux文件(所有节点执行)

# SELINUX=disabled   --->  vi /etc/selinux/config

6、安装依赖

yum groupinstall -y "Server with GUI"
yum install -y bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
gcc \
gcc-c++ \
elfutils-libelf \
elfutils-libelf-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libxcb \
libX11 \
libXau \
libXi \
libXtst \
libXrender \
libXrender-devel \
make \
net-tools \
nfs-utils \
smartmontools \
sysstat \
e2fsprogs \
e2fsprogs-libs \
fontconfig-devel \
expect \
unzip \
openssh-clients \
readline* \
tigervnc* \
psmisc --skip-broken

7、修改限制文件(所有节点执行)

# vi  /etc/security/limits.conf
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  4096
oracle              hard    nofile  65536
oracle              soft    stack   10240

8、新增用户组并追加到用户(所有节点执行)

groupadd oper
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd asmdba
groupadd asmoper
groupadd asmadmin
groupadd racdba
usermod -G asmdba,oper oracle
useradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin,racdba -d /home/grid -m grid

9、共享盘安装
注意:此处将会出一版完全安装版。

10、新增文件夹并更改授权(所有节点执行)

mkdir -p /data/app/11.2.0/grid  
mkdir -p /data/app/grid  
chown -R grid:oinstall /data/
mkdir -p /data/app/oracle
chown oracle:oinstall /data/app/oracle  
chmod -R 775 /data/

11、更改密码(所有节点执行)

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

12、配置环境变量(所有节点执行)

$ su – grid
$ vi .bash_profile
# .bash_profile# User specific environment and startup programs
export LANG=en_US.UTF-8
export CVUQDISK_GRP=asmadmin
export ORACLE_BASE=/data/app/grid
export ORACLE_HOME=/data/app/11.2.0/grid
# node 2 : +ASM2
export ORACLE_SID=+ASM1
export TNS_ADMIN=$ORACLE_HOME/network/admin
# export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8";
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8";
# export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/li b
export PATH=${PATH}:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export TMPDIR=/tmp
set -o vi
umask 022$ su - oracle
$ vi .bash_profile
# .bash_profile# User specific environment and startup programs
export LANG=en_US.UTF-8
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export ORACLE_SID=rac1
export ORACLE_UNQNAME=rac
export TNS_ADMIN=$ORACLE_HOME/network/admin
# export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
# export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8";
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib #export LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export TMPDIR=/tmp
set -o vi
export EDITOR=vi
export ALERT_HOME=$ORACLE_BASE/diag/rdbms/$ORACLE_SID/trace

13、配置ssh互信(所有节点执行)

注意:此处仅配置Oracle和grid用户的互信。所有节点均需要执行,包括当前节点当前用户。如:有一个主节点,两个从节点。那么每台服务器每个用户需要执行三次互信

-- grid用户两节点互信
su - grid
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub grid@[主节点]
ssh-copy-id -i .ssh/id_rsa.pub grid@[从节点]
-- oracle用户两节点互信
su - oracle
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub  oracle@[主节点]
ssh-copy-id -i .ssh/id_rsa.pub  oracle@[从节点]
-- 校验脚本
注意:执行该命令时不需要输入密码即可。只要下面的结果一致即可
$ while read line;do ssh -oStrictHostKeyChecking=no $line "echo ok" </dev/null ;done < <(cat /etc/hosts|grep ^1|grep -v 127|grep -v vip|grep -v scan|sed 's/ /\n/g'|sort|uniq|sed '1d')Warning: Permanently added '' (ECDSA) to the list of known hosts.
ok
ok
ok
ok
Warning: Permanently added 'master' (ECDSA) to the list of known hosts.
ok
Warning: Permanently added 'master-priv' (ECDSA) to the list of known hosts.
ok
ok
Warning: Permanently added 'standby' (ECDSA) to the list of known hosts.
ok
Warning: Permanently added 'standby-priv' (ECDSA) to the list of known hosts.
ok

14、新建中央仓库(所有节点执行)

$ vi /etc/oraInst.loc
inventory_loc=/data/oraInventory
inst_group=oinstallmkdir -p /data/oraInventory
chown -R grid:oinstall  /data/oraInventory
chmod -R 777  /data/oraInventory

二、安装GRID软件

1、下载软件并解压(所有节点执行)

# 软件包
注意:当前软件包可以在SR界面中patche界面输入13390677下载
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
p13390677_112040_Linux-x86-64_3of7.zip# 解压
$ for i p*.zip; 
>do 
>unzip –o $i –d software 
>done; 

2、测试连通性(所有节点执行)

# 安装测试包
$ cd /data/Download/software/grid/rpm
$ rpm –ivh cvuqdisk-1.0.9-1.rpm
# 测试连通性
$ su - grid
$ cd /data/Download/software/grid
$ ./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose  # 注意:在所有节点均执行。如果检测出任何错误,请先修复再执行安装。[grid@rac2 grid]$  ./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbosePerforming post-checks for hardware and operating system setupChecking node reachability...Check: Node reachability from node "rac2"Destination Node                      Reachable?------------------------------------  ------------------------rac1                                yesrac2                               yes
Result: Node reachability check passed from node "rac2"Checking user equivalence...Check: User equivalence for user "grid"Node Name                             Status------------------------------------  ------------------------rac2                               passedrac1                                passed
Result: User equivalence check passed for user "grid"Checking node connectivity...Checking hosts config file...Node Name                             Status------------------------------------  ------------------------rac2                               passedrac1                                passedVerification of the hosts config file successfulInterface information for node "rac1"Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU------ --------------- --------------- --------------- --------------- ----------------- ------ens192 192.168.136.33  192.168.136.0   UNKNOWN         UNKNOWN         00:0C:29:D4:49:36 1500ens224 192.168.1.33    192.168.1.0     UNKNOWN         UNKNOWN         00:0C:29:D4:49:40 1500Interface information for node "rac2"Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU------ --------------- --------------- --------------- --------------- ----------------- ------ens192 192.168.136.63  192.168.136.0   UNKNOWN         UNKNOWN         00:0C:29:F3:A4:2B 1500ens224 192.168.1.34    192.168.1.0     UNKNOWN         UNKNOWN         00:0C:29:F3:A4:35 1500Check: Node connectivity of subnet "192.168.136.0"Source                          Destination                     Connected?------------------------------  ------------------------------  ----------------rac2[192.168.136.63]            rac1[192.168.136.33]             yes
Result: Node connectivity passed for subnet "192.168.136.0" with node(s) rac2,rac1Check: TCP connectivity of subnet "192.168.136.0"Source                          Destination                     Connected?------------------------------  ------------------------------  ----------------rac2:192.168.136.63              rac1:192.168.136.33             passed
Result: TCP connectivity check passed for subnet "192.168.136.0"Check: Node connectivity of subnet "192.168.1.0"Source                          Destination                     Connected?------------------------------  ------------------------------  ----------------rac2[192.168.1.34]           rac1[192.168.1.33]            yes
Result: Node connectivity passed for subnet "192.168.1.0" with node(s) rac2,rac1Check: TCP connectivity of subnet "192.168.1.0"Source                          Destination                     Connected?------------------------------  ------------------------------  ----------------rac2:192.168.1.34            rac1:192.168.1.33             passed
Result: TCP connectivity check passed for subnet "192.168.1.0"Interfaces found on subnet "192.168.136.0" that are likely candidates for a private interconnect are:
rac2 ens192:192.168.136.63
rac1 ens192:192.168.136.33Interfaces found on subnet "192.168.1.0" that are likely candidates for a private interconnect are:
rac2 ens192:192.168.1.34
rac1 ens192:192.168.1.33WARNING:
Could not find a suitable set of interfaces for VIPs
Checking subnet mask consistency...
Subnet mask consistency check passed for subnet "192.168.136.0".
Subnet mask consistency check passed for subnet "192.168.1.0".
Subnet mask consistency check passed.Result: Node connectivity check passedChecking multicast communication...Checking subnet "192.168.136.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "192.168.136.0" for multicast communication with multicast group "230.0.1.0" passed.Checking subnet "192.168.1.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "192.168.1.0" for multicast communication with multicast group "230.0.1.0" passed.Check of multicast communication passed.Checking for multiple users with UID value 0
Result: Check for multiple users with UID value 0 passed
Check: Time zone consistency
Result: Time zone consistency check passedChecking shared storage accessibility...WARNING:
rac1:Unable to determine the shareability of device /dev/sda on nodes:rac2,rac1Disk                                  Sharing Nodes (2 in count)------------------------------------  ------------------------/dev/sdb                              rac2 rac1Disk                                  Sharing Nodes (2 in count)------------------------------------  ------------------------/dev/sdc                              rac2 rac1Disk                                  Sharing Nodes (2 in count)------------------------------------  ------------------------/dev/sdd                              rac2 rac1Disk                                  Sharing Nodes (2 in count)------------------------------------  ------------------------/dev/sde                              rac2 rac1Disk                                  Sharing Nodes (2 in count)------------------------------------  ------------------------/dev/sdf                              rac2 rac1Disk                                  Sharing Nodes (2 in count)------------------------------------  ------------------------/dev/sdg                              rac2 rac1Disk                                  Sharing Nodes (2 in count)------------------------------------  ------------------------/dev/sdh                              rac2 rac1Shared storage check was successful on nodes "rac2,rac1"Checking integrity of name service switch configuration file "/etc/nsswitch.conf" ...
Checking if "hosts" entry in file "/etc/nsswitch.conf" is consistent across nodes...
Checking file "/etc/nsswitch.conf" to make sure that only one "hosts" entry is defined
More than one "hosts" entry does not exist in any "/etc/nsswitch.conf" file
All nodes have same "hosts" entry defined in file "/etc/nsswitch.conf"
Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passedPost-check for hardware and operating system setup was successful.

3、安装软件(任一节点即可)
注意:只需要在某一个节点执行安装,默认会复制到其它所有节点。所以其它节点均不需要独立安装

$ su – grid
$ cd /data/Download/software/grid/
$ export DISPLAY=[IP]:0.0
$ ./ runInstaller

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

# 补丁编号:18370031重点:所有节点均需要执行# 更改权限并解压
$ chown grid:oinstall p18370031_112040_Linux-x86-64.zip
$ su - grid
$ unzip p18370031_112040_Linux-x86-64.zip# 应用补丁
$ cd /data/app/11.2.0/grid/OPatch
$ ./opatch napply -oh /data/app/11.2.0/grid/ -local /data/app/patch/18370031/# 应用脚本
$ su – root
$ sh /data/oraInventory/orainstRoot.sh
$ sh /data/app/11.2.0/grid/root.sh

在这里插入图片描述
4、校验服务(所有节点执行)

[root@rac1 bin]# ./crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host
----------------------------------------------------------------------
ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    rac1
ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac1
ora.OCR.dg     ora....up.type 0/5    0/     ONLINE    ONLINE    rac1
ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    rac1
ora.cvu        ora.cvu.type   0/5    0/0    ONLINE    ONLINE    rac1
ora.gsd        ora.gsd.type   0/5    0/     OFFLINE   OFFLINE
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1
ora....ER.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1
ora.rac1.gsd application    0/5    0/0    OFFLINE   OFFLINE
ora.rac1.ons application    0/3    0/0    ONLINE    ONLINE    rac1
ora.rac1.vip ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac1
ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    rac1
ora.oc4j       ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    rac1
ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    rac1
ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac1
ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2
ora....BY.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2
ora....dby.gsd application    0/5    0/0    OFFLINE   OFFLINE
ora....dby.ons application    0/3    0/0    ONLINE    ONLINE    rac2
ora....dby.vip ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac2

三、安装Oracle软件

1、执行安装(任一节点)

$ su – oracle
$ cd /data/Download/software/database/
$ export DISPLAY=[]:0.0
$ ./ runInstaller

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、ASM配置

1、执行安装(任一节点)
注意:关于ASM磁盘划分,主要分为裁决盘、数据盘、归档盘,其中裁决盘三块盘组成,否则会报错

$ su – grid
$ export DISPLAY=[]:0.0
$ asmca

在这里插入图片描述
在这里插入图片描述

五、建库

1、开始建库(任一节点)

$ su – oracle
$ export DISPLAY=[]:0.0
$ dbca

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、检查数据库状态

$ su – oracle
$ srcvtl status database –d rac
Instance rac1 is running on node master
Instance rac2 is running on node standby
http://www.dtcms.com/a/292357.html

相关文章:

  • Vue-22-通过flask接口提供的数据使用plotly.js绘图(一)
  • Oracle定时清理归档日志
  • RAG(检索增强生成)里的文档管理
  • 二次供水管理系统:远程监控+智能调控+故障预警解决方案
  • 用ffmpeg 进行视频的拼接
  • 【指南】网络安全领域:HW 行动(国家网络安全攻防演练)是什么?
  • 一些Avalonia与WPF内容的对应关系和不同用法
  • 单一职责原则(SRP):构建高质量软件的基石
  • Java 并发性深度解析
  • JS WebAPIs DOM节点概述
  • 网络层传输
  • 4G车载录像机的作用详解:提升行车安全与智能管理的核心技术
  • 数字签名(Digital Signature)
  • XSS内容分享
  • Windows 环境排除 Windows Defender 对指定路径或进程的影响
  • 在vscode 使用 remote-ssh
  • 【接口自动化】掌握接口自动化:核心概念讲解(理论知识)
  • 微博视觉算法面试30问全景精解
  • 8.4 Java 原生 TCP Socket 实现 HTTP 请求解析和请求分发
  • OpenCV基本的图像处理
  • 本地数据库有数据,web页面无信息显示,可能是pymysql的版本问题【pymysql连接本地数据库新旧版本的区别】
  • 【测试开发】----用例篇
  • 高并发场景下的缓存问题与一致性解决方案(技术方案总结)
  • 设计模式——责任链模式
  • 建造者设计模式
  • Qt布局管理:实现美观界面的关键
  • 2025 年最新 AI 技术:全景洞察与深度解析​
  • 从 0 到 1 搞定nvidia 独显推流:硬件视频编码环境安装完整学习笔记
  • Arraylist与LinkedList区别
  • 使用react编写一个简单的井字棋游戏