Oracle 19c RAC 手工建库的搭建过程

下面就为您讲解“Oracle 19c RAC 手工建库的搭建过程”的完整攻略。

一、前置条件

在开始搭建 Oracle 19c RAC 环境之前,需要满足以下的前置条件:

  1. 服务器环境:必须具备至少两台运行 Oracle Linux 7.2 的服务器,它们必须在同一个局域网中,并且它们需要满足 Oracle 的硬件和软件要求。

  2. 网络环境:必须正确配置每个节点的网络连接,以保证节点之间可以相互通信。

  3. 安装容器环境:必须提前安装 Docker 环境。

  4. 安装 Oracle 资源:必须提前下载 Oracle 19c RAC 安装资源包,并正确解压缩安装资源。

二、搭建步骤

下面是搭建 Oracle 19c RAC 的详细步骤:

  1. 在每个节点上安装必要的软件
yum -y install binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 \
glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 \
libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 \
libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64
  1. 修改每个节点的主机名和 hosts 配置文件
hostnamectl set-hostname 节点1的主机名
echo "192.168.1.101 节点1的主机名 节点1的IP地址" >> /etc/hosts
hostnamectl set-hostname 节点2的主机名
echo "192.168.1.102 节点2的主机名 节点2的IP地址" >> /etc/hosts
  1. 创建 Oracle 用户和用户组
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper

useradd -u 54321 -g oinstall -G dba,oper oracle
  1. 配置每个节点的内核参数
vi /etc/sysctl.conf
# 在文件末尾追加如下内容
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
vi /etc/security/limits.conf
# 在文件末尾追加如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
vi /etc/pam.d/login
# 在文件末尾追加如下内容
session required /lib64/security/pam_limits.so

执行命令 sysctl -p 来重新加载配置文件。

  1. 配置共享存储

我们使用共享存储提供数据冗余性和负载均衡。配置共享存储有多种方式,例如 iSCSI、NFS、ASM 等,这里我们演示使用 NFS。

在任何一个节点上,创建一个文件夹用于共享存储:

mkdir /shared_disk

在该节点上,安装并配置 NFS:

yum -y install nfs-utils

echo "/shared_disk 节点1的IP地址(rw,no_root_squash)" >> /etc/exports

exportfs -ra
systemctl start nfs-server
systemctl enable nfs-server

在另一个节点上,挂载共享存储:

mount -t nfs 节点1的IP地址:/shared_disk /shared_disk
  1. 修改每个节点的 SSH 配置

在每个节点上,将 Oracle 用户添加到 /etc/ssh/sshd_config 配置文件中,确保其具备 SSH 访问权限:

vi /etc/ssh/sshd_config
# 在文件末尾添加如下内容
AllowUsers oracle
  1. 安装 Oracle Grid Infrastructure(GI)

进入到解压后的 GI 安装资源目录下:

./gridSetup.sh

在安装过程中,选择“Install and Configure Oracle Grid Infrastructure for a Cluster” 选项。

在“Cluster Type”页面选择“Advanced Install”。

在“Node Selection”页面选择需要安装 GI 的节点,并为每个节点指定一个 VIP 地址。

在“Grid Plug and Play Configuration”页面配置 GI 的本地监听器名称和端口。

在“Specify Network Interface Usage”页面选择使用哪些网络接口进行通信。

在“Cluster Configuration”页面选择“Configure GNS”。

在“GNS Configuration”页面填写 GNS 的 DNS 信息。

完成 GI 的安装和配置后,在所有节点上验证 GI 的状态:

su - grid
crsctl stat res -t
  1. 安装 Oracle Database 软件

在解压后的 Oracle Database 安装资源目录下:

./runInstaller

在安装过程中,选择“Install Database Software Only” 选项。

在“Select Installation Mode”页面选择“Advanced Install”。

在“Grid Installation Options”页面选择“Install Oracle Real Application Clusters”.

在“Node Selection”页面选择要安装 Oracle 数据库的节点。

在“Cluster Node Configuration”页面选择“Configure Cluster Database”。

在“Database Edition”页面选择“Enterprise Edition”。

在“Database Configuration”页面选择“Oracle Real Application Clusters database”。

在“Database Identifiers”页面输入“Global Database Name”和“SID”。

在“Management Options”页面选择“Automatic Storage Management”并指定共享存储路径。

在“Storage Option”页面选择“ASM Storage”.

在“ASN Disk Group”页面选择“Create a New Disk Group”。

在“Specify Disk Group Options”页面输入磁盘组的名称和磁盘路径。

在“Specify ASM Password”页面输入 ASM 密码。

在“Privileged Operating System Groups”页面指定操作系统组信息。

在“Character Sets”页面选择所需的字符集。

在“Sample Schema”页面选择需要的示例数据库。

在“Summary”页面检查配置信息并点击“Install”按钮。

安装完成后,在所有节点上验证数据库软件的状态:

su - oracle
srvctl status database -d database_name

示例说明:

假设有两台服务器,分别是 racnode1(192.168.1.101)和 racnode2(192.168.1.102),在 racnode1 上创建 shared_disk 目录,并将该目录共享出来。在 racnode2 上,挂载该共享目录:

# 在 racnode1 上创建 shared_disk 目录,并将该目录共享出来
mkdir /shared_disk
echo "/shared_disk 192.168.1.101(rw,no_root_squash)" >> /etc/exports
exportfs -ra
systemctl start nfs-server
systemctl enable nfs-server

# 在 racnode2 上,挂载共享目录
mkdir /shared_disk
mount -t nfs 192.168.1.101:/shared_disk /shared_disk

然后在 racnode1 上安装 GI,并在安装过程中为每个节点指定一个 VIP 地址。接着安装 Oracle Database 软件,为共享存储配置 ASM 磁盘组,在安装过程中输入的相关信息如下:

  • Global Database Name: db1.example.com
  • SID: db1
  • ASM password: password1
  • ASM Disk Group: disk_group1
  • ASM Disk Group path: /shared_disk/disk_group1

在安装完成后,验证数据库软件状态:

su - oracle
srvctl status database -d db1

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Oracle 19c RAC 手工建库的搭建过程 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • C语言内存管理及初始化细节示例详解

    C语言内存管理及初始化细节示例详解 1. 内存管理 C语言是面向过程的编程语言,在内存管理上需要程序员手动管理内存。我们使用变量进行部分数据存储,而变量在程序运行时是存在内存中的。因此,我们需要掌握如何在内存中操作我们的变量。在使用变量时,需要注意以下方面: 1.1 变量的生命周期 变量的生命周期是指这个变量在程序运行中被创建和销毁的时间段。变量创建会在内存…

    C 2023年5月23日
    00
  • C++中rapidjson组装继续简化的方法

    我来为你详细讲解C++中rapidjson组装继续简化的方法的完整攻略。 1. 前言 rapidjson是一个非常流行的C++ JSON解析库,其灵活的API和高效的解析速度使其成为C++开发社区中最为青睐的解析工具之一。 在日常开发中,我们经常需要将JSON数据进行组装,生成一个新的JSON对象,前面的攻略中提到了一些很好用的API,比如:- rapidj…

    C 2023年5月23日
    00
  • Go如何实现json字符串与各类struct相互转换

    Go 语言提供了 encoding/json 包来支持 JSON 数据的编解码操作。该包中提供了 Marshal 和 Unmarshal 函数,可实现将 struct 对象序列化成 JSON 字符串和将 JSON 字符串反序列化为 struct 对象的操作。下面我将详细讲解如何使用 encoding/json 包实现 JSON 字符串与各类 struct 的…

    C 2023年5月23日
    00
  • 如何利用Matlab绘制出好看的火山图

    下面是关于如何利用Matlab绘制出好看的火山图的完整攻略。 1. 准备工作 在开始制作火山图之前,需要先准备好数据。火山图通常用来展示两组数据,通常是不同条件下的基因表达差异,也可以是某些其他类型的数据。一组数据应该是基因标识符和差异表达值的列表,可以是一个文本文件或一个数据表格,常见的格式包括CSV、Excel、TSV等。 制作火山图需要使用Matlab…

    C 2023年5月23日
    00
  • golang使用json格式实现增删查改的实现示例

    下面我将详细讲解一下使用 Golang 中的 json 包实现增删查改的实现示例。 增删查改简介 增删查改是非常基本的 CRUD 操作,即创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)。在 web 应用开发中,这些操作是必不可少的,而 json 格式是 web 应用开发中经常用到的数据格式。 在 Golang 中,…

    C 2023年5月23日
    00
  • C程序 快速排序

    C程序 快速排序使用攻略 概述 快速排序(Quicksort)是一种基于分治思想的排序算法,是最常用的排序算法之一。它的核心思想是通过一次排序将待排序序列分成两个子序列,其中一个子序列的所有元素都比另外一个子序列的所有元素小,接着对子序列继续递归进行快速排序,最终得到有序序列。 代码示例 下面是快速排序算法的C语言实现: void quicksort(int…

    C 2023年5月9日
    00
  • C++实现职工工资管理系统

    C++实现职工工资管理系统攻略 1. 系统需求分析 在开发职工工资管理系统前,我们需要先进行需求分析: 功能需求:该系统主要功能为实现职工的基本信息管理、工资发放和查询功能。 技术需求:采用C++语言实现,要求具备良好的代码结构和可扩展性。 2. 总体设计 系统总体设计包括以下几个部分: 实现一个职工类,用于存储每个职工的基本信息和工资信息。 设计一个管理类…

    C 2023年5月23日
    00
  • C 程序 按升序排列数字

    下面我将为你详细讲解如何使用 C 语言编写一个程序,实现对一组数字按升序排列的功能。在这个过程中,我将提供两条示例说明,帮助你更好地理解。 一、题目描述 编写一个 C 语言程序,实现对一组数值按升序排列的功能。程序输入一个整数数组,长度不超过 100,输出数组按升序排列后的结果。 二、实现思路 我们可以使用 C 语言中的冒泡排序算法来实现对一组数字的升序排列…

    C 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部