数据库管理-第七十五期 手把手教你搭19c RAC(20230516)

news2024/11/28 7:50:35

数据库管理 2023-05-16

  • 第七十五期 手把手教你搭19c RAC
    • 1 基础环境
    • 2 操作系统配置
      • 2.1 /etc/hosts
      • 2.2 配置系统挂载
      • 2.3 配置本地yum源
      • 2.4 操作系统配置
      • 2.5 安装预安装RPM包并配置:
      • 2.6 创建对应目录
      • 2.7 配置时间同步
    • 3 存储挂载
      • 3.1 存储环境
      • 3.2 存储识别
      • 3.3 多路径聚合
      • 3.3 存储权限配置
    • 4 GI安装
      • 4.1 配置环境变量
      • 4.2 开始安装
      • 4.3 添加ASM磁盘组
    • 5 DB安装
      • 5.1 配置环境变量
      • 5.2 开始安装
    • 6 创建数据库
    • 总结

第七十五期 手把手教你搭19c RAC

在这篇文章里面,我将奉上保姆级Oracle 19c RAC搭建攻略,包括操作系统基础配置、存储多路径配置、GI与DB安装、版本升级等。

1 基础环境

这是一套用于我这X9M灾备环境的数据库,包含4台服务器(80C768G),使用OracleLinux 7.9操作系统,(本文的部分内容比如IP是经过脱敏的),具体环境如下:

主机名HOSTIPVIPPRIV1PRIV2
sv41910.10.10.1610.10.10.20192.168.1.8192.168.1.9
sv42010.10.10.1710.10.10.21192.168.1.10192.168.1.11
sv42110.10.10.1810.10.10.22192.168.1.12192.168.1.13
sv42210.10.10.1910.10.10.23192.168.1.14192.168.1.14

SCANIP为10.10.10.24
这里省去操作系统安装过程及主机名、网卡配置过程,服务器系统盘为两块480G的SSD组件的RAID1,基本分区如下:

挂载点大小
/boot500M
/boot/efi500M
swap16G
/100G
/u01剩余所有空间

网卡对应关系如下:

用途网卡模式
生产eno1, eno2bond mode1(bondeth0)
私网ens5f0, ens5f1独立运行

2 操作系统配置

2.1 /etc/hosts

在/etc/hosts添加以下内容:

### HOSTIP ###
10.10.10.16   sv419
10.10.10.17   sv420
10.10.10.18   sv421
10.10.10.19   sv422

### VIP ###
10.10.10.20   sv419-vip
10.10.10.21   sv420-vip
10.10.10.22   sv421-vip
10.10.10.23   sv422-vip

### SCANIP ###
10.10.10.24  dbdg-scan

### PRIVATEIP ###
192.168.1.8    sv419-priv1
192.168.1.9    sv419-priv2
192.168.1.10   sv420-priv1
192.168.1.11   sv420-priv2
192.168.1.12   sv421-priv1
192.168.1.13   sv421-priv2
192.168.1.14   sv422-priv1
192.168.1.15   sv422-priv2

2.2 配置系统挂载

检查内存大小:
在这里插入图片描述
在/etc/fstab添加以下内容:

tmpfs           /dev/shm        tmpfs   defaults,size=791219280k 0 0
/root/OracleLinux-R7-U9-Server-x86_64-dvd.iso   /iso    iso9660 defaults,ro,loop        0 0 ##用于本地yum源

完成以下操作:

mkdir /iso
mount -a
mount -o remount /dev/shm/

检查:
在这里插入图片描述

2.3 配置本地yum源

rm -rf /etc/yum.repo.d/*

创建/etc/yum.repo.d/iso.repo并添加以下内容:

[iso]
name=iso
baseurl=file:///iso
enabled=1
gpgcheck=0

检查:
在这里插入图片描述

2.4 操作系统配置

需要关闭防火墙、selinux以及avahi相关服务:

systemctl stop firewalld.service 
systemctl disable firewalld.service
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon

2.5 安装预安装RPM包并配置:

yum -y install oracle-database-preinstall-19c.x86_64
注:Oracle Linux7.5开始预安装包包含全部oracle相关用户组,如不需要可以删除
groupdel backupdba
groupdel dgdba
groupdel kmdba
groupdel racdba
groupadd -g 54324 asmadmin
groupadd -g 54325 asmdba
groupadd -g 54326 asmoper
useradd  -u 54322 -g oinstall -G oinstall,dba,asmadmin,asmdba,asmoper grid
usermod -G dba,oper,asmdba oracle

cp /etc/security/limits.d/oracle-database-preinstall-19c.conf /etc/security/limits.d/grid.conf
sed -i "s/oracle/grid/g" /etc/security/limits.d/grid.conf

修改grid与oracle用户密码。

2.6 创建对应目录

mkdir /u01/app/19.0.0/grid -p
mkdir /u01/app/grid -p
mkdir /u01/app/oracle/product/19.0.0/dbhome_1 -p
chown grid:oinstall /u01 -R
chown oracle:oinstall /u01/app/oracle -R

2.7 配置时间同步

修改/etc/chrony.conf以下内容:

#server 0.pool.ntp.org iburst
#server 1.pool.ntp.org iburst
#server 2.pool.ntp.org iburst
#server 3.pool.ntp.org iburst
server ntpserver iburst

启动chrony服务:

systemctl start chronyd
systemctl enable chronyd

检查:
在这里插入图片描述

3 存储挂载

3.1 存储环境

本次存储挂载总计约70TB,具体大小与数量如下:

大小(GB)数量冗余模式
105High
502External
500140External

磁盘组配置如下:

磁盘组名称磁盘组可用空间(GB)
OCR10
MGMT100
DATAC150000
RECOC120000

3.2 存储识别

echo '---' > /sys/class/fc_host/hostN/issue_lip

检查:
在这里插入图片描述

3.3 多路径聚合

本次存储使用EMC unity存储,通过两个16Gbps HBA卡进行挂载,每个存储LUN有四条链路,需要使用multipath进行聚合,其中wwid由存储侧直接导出,在/etc/multipath.conf添加以下内容:

defaults {
    find_multipaths no
    user_friendly_names no
    polling_interval 2
    no_path_retry 0
    failback manual
    path_selector "round-robin 0"
    path_grouping_policy multibus
}

multipaths {
    multipath {
        wwid    ocr-wwid1
        alias    ASMDISKC01
    }
    multipath {
        wwid    ocr-wwid2
        alias    ASMDISKC02
    }
    multipath {
        wwid    ocr-wwid3
        alias    ASMDISKC03
    }
    multipath {
        wwid    ocr-wwid4
        alias    ASMDISKC04
    }
    multipath {
        wwid    ocr-wwid5
        alias    ASMDISKC05
    }
    multipath {
        wwid    mgmt-wwid1
        alias    ASMDISKM01
    }
    multipath {
        wwid    mgmt-wwid2
        alias    ASMDISKM02
    }
    multipath {
        wwid    500G-wwid1
        alias    ASMDISKD01
    }
    multipath {
        wwid    500G-wwid2
        alias    ASMDISKD02
    }
    multipath {
        wwid    500G-wwid3
        alias    ASMDISKD03
    }
    multipath {
        wwid    500G-wwid4
        alias    ASMDISKD04
    }
    ...
}

启动multipathd服务:

systemctl start multipathd
systemctl enable multipathd

检查:
在这里插入图片描述

3.3 存储权限配置

创建/etc/udev/rules.d/99-oracle-asmdevices.rules配置文件并添加以下内容:

ENV{DM_NAME}=="ASMDISKC01",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKC02",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKC03",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKC04",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKC05",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKM01",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKM02",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKD01",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKD02",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKD03",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="ASMDISKD04",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
......
udevadm trigger

检查:
在这里插入图片描述

4 GI安装

4.1 配置环境变量

在grid用户家目录.bash_profile中添加以下内容:

export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.0.0/grid
export ORACLE_SID=+ASM1 ##其余实例以此类推
export PATH=$ORACLE_HOME/bin:$PATH

4.2 开始安装

mv LINUX.X64_193000_grid_home.zip /u01/app/19.0.0/grid
su - grid
cd /u01/app/19.0.0/grid
unzip LINUX.X64_193000_grid_home.zip
rm -rf LINUX.X64_193000_grid_home.zip
./gridSetup.sh

选择安装新的独立集群:
在这里插入图片描述
选择创建一个独立集群:
在这里插入图片描述
配置SCAN信息:
在这里插入图片描述
添加节点并配置SSH互信:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置网卡用途:
在这里插入图片描述
选择使用Flex ASM:
在这里插入图片描述
选择配置GIMR:
在这里插入图片描述
选择使用独立磁盘组存放GIMR信息:
在这里插入图片描述
配置OCR磁盘组创建:
在这里插入图片描述
配置MGMT磁盘组创建:
在这里插入图片描述
配置GI相关密码:
在这里插入图片描述
选择不适用IPMI:
在这里插入图片描述
不注册到EMCC:
在这里插入图片描述
配置相关用户组(自动获取):
在这里插入图片描述
配置Oracle base目录(自动从环境变量获取):
在这里插入图片描述
配置Inventory目录(自动从环境变量获取):
在这里插入图片描述
配置root密码用于root脚本自动执行:
在这里插入图片描述
使用root自动修复:
在这里插入图片描述
跳过DNS和多SCAN告警:
在这里插入图片描述
开始安装:
在这里插入图片描述
开始自动使用root执行脚本:
在这里插入图片描述
忽略报错:
在这里插入图片描述
在这里插入图片描述
完成GI安装:
在这里插入图片描述

4.3 添加ASM磁盘组

asmca

创建磁盘组:
在这里插入图片描述
以DATAC1磁盘组为例:
在这里插入图片描述
磁盘组创建完成:
在这里插入图片描述

5 DB安装

5.1 配置环境变量

在oracle用户家目录.bash_profile中添加以下内容:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=dbdg1 ##其余实例以此类推
export PATH=$ORACLE_HOME/bin:$PATH

5.2 开始安装

mv LINUX.X64_193000_db_home.zip /u01/app/oracle/product/19.0.0/dbhome_1
su - oracle
cd /u01/app/oracle/product/19.0.0/dbhome_1
unzip LINUX.X64_193000_db_home.zip
rm -rf LINUX.X64_193000_db_home.zip
./runInstaller

选择仅安装软件:
在这里插入图片描述
选择RAC安装:
在这里插入图片描述
配置SSH互信:
在这里插入图片描述在这里插入图片描述
选择企业版:
在这里插入图片描述
配置Oracle base目录(自动从环境变量获取):
在这里插入图片描述
配置相关用户组(自动获取):
在这里插入图片描述
配置root密码用于root脚本自动执行:
在这里插入图片描述
跳过DNS和多SCAN告警:
在这里插入图片描述
开始DB安装:
在这里插入图片描述
开始自动使用root执行脚本:
在这里插入图片描述
完成DB安装:
在这里插入图片描述

6 创建数据库

dbca

选择创建数据库:
在这里插入图片描述
高级模式:
在这里插入图片描述
选择模式:
在这里插入图片描述
选择所有节点:
在这里插入图片描述
输入数据库名称:
在这里插入图片描述
配置数据文件路径:
在这里插入图片描述
配置FRA及归档:
在这里插入图片描述
按需配置DBV和安全相关:
在这里插入图片描述
按需配置内存、processes、字符集:
在这里插入图片描述
取消自带EM配置:
在这里插入图片描述
配置数据库用户密码:
在这里插入图片描述
按需调整参数及文件相关配置:
在这里插入图片描述
跳过DNS和多SCAN告警:
在这里插入图片描述
开始安装:
在这里插入图片描述
在这里插入图片描述
完成安装:
在这里插入图片描述
验证:
在这里插入图片描述

总结

RAC的补丁更新将放到下一期来讲。
老规矩,知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/528718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

生成一个手绘图为底图的导游图

1 前言 上一篇演示了制作一个简版导游图。简版导游图的优点是制作简单、快速,不需要第三方软件,缺点是略显简陋、不够专业。 本编介绍制作专业导游图的步骤,用手绘图为地图,用图形展现景区信息,能表现出丰富的景区细…

ChatGPT:使用Edge浏览器获取ChatGPT以及如何使用ChatGPT帮你制作PPT

一:前言 ChatGPT:智能AI助你畅聊天地 在现代人日益忙碌的生活中,难免需要一些轻松愉快的聊天来放松身心。而现在,有了 ChatGPT,轻松愉快的聊天变得更加智能、有趣且不受时间、地点限制! 什么是 ChatGPT&…

NSSCTF-[深育杯 2021]Press

下载链接:下载 载入IDA,查看内容 首先进入一个函数进行初始化,进入查看 unsigned __int64 sub_4007B6() {int v1; // [rsp8h] [rbp-48h]int i; // [rspCh] [rbp-44h]char src[56]; // [rsp10h] [rbp-40h] BYREFunsigned __int64 v4; // [r…

【可乐荐书】有趣的矩阵:看得懂又好看的线性代数

本栏目将推荐一些经典的、有趣的、有启发性的书籍,这些书籍涵盖了各个领域,包括文学、历史、哲学、科学、技术等等。相信这些书籍不仅可以让你获得知识,还可以让你感受到阅读的乐趣和魅力。 今天给大家推荐的书籍是:《有趣的矩阵…

【简单DP】CF1420 C1

昨天的CF心态又打崩了 好久没写DP了这道题一发过了 但是大家都会qwq 烦死 Problem - C1 - Codeforces 题意: 给定一个序列,让你找出一个子序列 使得 这个最大,a是子序列 思路: 首先子序列,自然就是DP 然后每个…

品牌活动如何策划,更利于传播?(吸引媒体报道)

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 之前做媒体的时候,参加过无数的媒体活动,现在做媒体传播也给了许多品牌一些建议,有的活动设计的很有趣,有的活动设计的很巧妙,…

响应式设计 MediaQuery和flex

一、MediaQuery(媒体查询)的概念 为不同尺寸的屏幕设定不同的css样式 示例 二、media常用参数 三、媒体查询代码示例 MediaQuery在浏览器中的显示示例 MediaQuery综合案例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

Go语言笔记:使用ssh包作为客户端与SSH服务器交互

文章目录 目的基础说明使用演示单次通讯连续通讯&#xff08;远程终端&#xff09; 总结 目的 Golang中可以使用 golang.org/x/crypto/ssh 包作为SSH客户端或者SSH服务使用。这篇文章将简单记录下作为客户端使用的一些内容。 Package ssh implements an SSH client and server…

QT自定义控件折线图、趋势图。

这里提供两种实现方式&#xff0c;一直自绘的自定义控件&#xff0c;一直三方SDK&#xff08;qcustomplot&#xff09;。 这里主要介绍自绘的&#xff0c;它的优点是结构简单&#xff0c;代码逻辑好修改&#xff0c;容易定制&#xff0c;缺点是功能相对单一。三方的qcustomplot…

循迹模块(应用于小车)

1.1循迹模块使用 TCRT5000传感器的红外发射二极管不断发射红外线 当发射出的红外线没有被反射回来或被反射回来但强度不够大时&#xff0c; 红外接收管一直处于关断状态&#xff0c;此时模块的输出端为高电平&#xff0c;指示二极管一直处于熄灭状态 被检测物体出现在检测范…

C++ | 数组拷贝

C | 数组拷贝 文章目录 C | 数组拷贝数组名数组拷贝1.对应位拷贝2.地址位移赋值3. memcpy内存拷贝4.字符数组拷贝 Reference 数组名 C数组间赋值不能直接通过数组名称 randy sesame进行&#xff0c;因为数组名并不是指针&#xff0c;大部分情况下&#xff0c;编译器会隐式转换…

使用nvm 管理node.js版本的安装过程

一个 nodejs 版本管理工具&#xff01;—— nvm 在项目开发过程中&#xff0c;随着框架的不断更新迭代&#xff0c;对一些环境依赖的版本也有影响&#xff0c;部分的老项目可能需要低版本的 node.js 才能正常使用&#xff0c;而后期新开发的项目可能需要更高的 node.js 版本才…

都说2023是测试员的危机年,却不断有人跳槽拿20K+,为什么?

从 2021 年上旬开始触发的经济危机逐渐蔓延到普通人的生活中&#xff0c;裁员、倒闭、跑路俨然已成为刷爆朋友圈的高频热词。随之而来的是一系列因舆论所牵动的各种焦虑感弥漫在人群中&#xff0c;无论是大公司还是之前处于风口浪尖的明星创业公司&#xff0c;几乎无一幸免。聊…

ANR实战案例3 - 应用在部分低端机ANR优化案例

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录前言一、Blocked状态1.案例一2.案例二3.案例三 二、高低端机区分1.WebView预加载 三、…

Flink基础介绍-2 架构

Flink基础介绍-1 概述 二、Flink架构2.1 Flink的设计架构2.2 Flink的运行架构2.3 Flink的系统架构 二、Flink架构 2.1 Flink的设计架构 Flink是一个分层的架构系统&#xff0c;每一层所包含的组件都提供了特定的抽象&#xff0c;用来服务于上层组件&#xff0c;Flink的分层体…

搬家货运系统软件开发功能

生活中要用到搬家的场景很多&#xff0c;租房子、买房子、换房子都要搬家&#xff0c;不管是从时间还是专业性上来说&#xff0c;很多人都更愿意找专业的搬家公司来代为处理&#xff0c;于是市面上出现了各类各样的货运搬家软件&#xff0c;让有需求的用户可以直接在线预约搬家…

Java实现网上人才招聘系统【附源码】

网上人才招聘系统 1、概述 3 2、系统分析 4 2.1、问题定义 4 2.2、可行性研究 4 2.2.1、可行性需求分析 4 2.2.2、数据流分析 5 2.2.3、数据字典 6 2.2.4、程序流程图 6 2.2.4、开发进度计划 6 2.3、需求分析 7 2.3.1、功能需求分析 7 2.3.2、数据需求分析 10 2.3.3、性能需求…

Dozer拷贝DO到VO

DO&#xff1a; data object 查出来的数据 VO&#xff1a; value object 要展示的数据&#xff0c;返回给前端的数据 DO查出来的字段比较多&#xff0c;VO过滤一下返回给前端 工具类Dozer <dependency><groupId>com.github.dozermapper</groupId><arti…

Vue3 router路由跳转传参Json数据,隐藏参数Url不显示跳转内容,使用History 来写,setup语法糖的写法

前言&#xff1a;Vue3中 Router的自2022-8-22 日后不能使用 params传参 —— 可以这么写&#xff0c;但是接收的时候会是空值 —— query可以用但不能用隐藏Url地址内的值&#xff0c;所以我们用History来写 history敲不出来的可以看最下面 这个相当于history模式父级调到子集后…

Linux文本三剑客之~~~awk 详细讲解 与date粗略讲解

目录 一. awk工作原理&#xff1a;1.1命令格式:1.2 awk常见的内建变量(可直接用)如下所示: 二 实验示例2.1 按行输出文本2.2按字段输出文本2.3 通过管道符双引号调用shell命令 date命令 一. awk工作原理&#xff1a; 逐行读取文本&#xff0c;默认以空格或tab键为分隔符进行分…