oracle19c rac、nfs部署教程

news2024/11/26 7:35:26

本文基于19c进行部署,使用centos7.9,nfs做共享存储
一、首先进行网络规划和配置
该实验一共三台机器一台是nfs,另外两台做rac
1.每台机器至少2块网卡,网卡名字必须一样(publicip和VIP使用的是同一张网卡,privilegeip是另外一张网卡改ip 仅做rac间的联系可自起ip 添加路由即可)
2.准备5个可用的IP地址(一个为scan,scan一个配置数据库会提示warning信息,二台配置各配置public和private地址)
3.建议内存4G以上内核4核以上(实验采用4c8G装到最后系统开销很大了)

4.修改两台主机的hostname
[root@rac1] hostnamectl set-hostname rac1
[root@rac1] hostnamectl set-hostname rac2

5.两台机器在/etc/hosts添加
10.8.88.210 rac1
10.8.88.211 rac2

10.8.88.212 rac1-vip
10.8.88.213 rac2-vip

192.168.1.2 rac1-pri
192.168.1.3 rac2-pri

10.8.88.214 rac-scan

6.此时两台机器之间的私有ip 是不通的添加一个主机路由实现互通
[root@rac1] route add -host 192.168.1.3 dev ens224
[root@rac2] route add -host 192.168.1.2 dev ens224

二、进行依赖包安装(两台都操作)
yum install -y bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc+±devel libxcb libibverbs make smartmontools sysstat nfs-utils net-tools xterm xclock
如果使用asmlib来进行磁盘管理还需安装:
–安装asm支持包
yum -y install oracleasm-support --nogpgcheck
–安装内核模块
yum -y install kmod-oracleasm --nogpgcheck
–安装oracle asm 库包(这个包需要单独下载)
rpm -ivh oracleasmlib-2.0.12-1.el7.x86_64.rpm

三、用户和用户组创建(两台都操作)
创建GRID组
groupadd asmadmin
groupadd asmoper
groupadd asmdba

创建数据库组
groupadd dba
groupadd oper
groupadd oinstall
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba

创建oracle用户
useradd -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba,racdba oracle

创建grid用户
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba grid

给两个用户指定密码
echo oracle_4U |passwd --stdin oracle
echo grid_4U|passwd --stdin grid

四、基础环境配置 (两台都操作)

如果不删除可能会在安装时网络连接报错:
[INS-06006] Passwordless SSH connectivity not set up between the following node(s)
1、ifconfig virbr0 down
2、brctl delbr virbr0
3、systemctl disable libvirtd
4、重启虚拟机
5、将原来的rm -rf /home/grid/.ssh文件删除,重新Setup,Test即可

OS默认安装后,使用透明大页内存,如下:
[root@dbserver ~]# cat /proc/meminfo |grep HugePages
AnonHugePages: 32768 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0

修改/etc/default/grub文件,在GRUB_CMDLINE_LINUX行最后,加上 transparent_hugepage=never,修改后,其他不用动
在这里插入图片描述

修改内核参数:
vim /etc/sysctl.conf
kernel.shmmax = 8589934592(该值可参考实际内存的80%-90%)
kernel.shmmni = 4096
kernel.shmall = 2097152 (kernel.shmmax/kernel.shmmni)
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 1048576
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
fs.aio-max-nr = 3145728

sysctl -p 生效

修改系统限制:

vim /etc/security/limits.conf
grid soft nproc 8192
grid hard nproc 16384
grid soft nofile 8192
grid hard nofile 65536
grid soft stack 10240
oracle soft nproc 8192
oracle hard nproc 16384
oracle soft nofile 8192
oracle hard nofile 65536
oracle soft stack 10240

vim /etc/pam.d/login
session required /usr/lib64/security/pam_limits.so

五、创建用户的环境变量(两台都操作)
su - grid
vim .bash_profile

export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.10.0/grid
export ORACLE_SID=+ASM
export PATH= O R A C L E H O M E / b i n : ORACLE_HOME/bin: ORACLEHOME/bin:PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

su - oracle
vim .bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME= O R A C L E B A S E / p r o d u c t / 19.10.0 / d b 1 e x p o r t O R A C L E S I D = o r c l c d b e x p o r t P A T H = ORACLE_BASE/product/19.10.0/db_1 export ORACLE_SID=orclcdb export PATH= ORACLEBASE/product/19.10.0/db1exportORACLESID=orclcdbexportPATH=ORACLE_HOME/bin: P A T H e x p o r t L D L I B R A R Y P A T H = PATH export LD_LIBRARY_PATH= PATHexportLDLIBRARYPATH=ORACLE_HOME/lib

–创建GI base目录
mkdir -p /u01/app/grid

–创建GI 的主目录
mkdir -p /u01/app/19.10.0/grid

–创建数据库主目录
mkdir -p /u01/app/oracle/product/19.10.0/db_1

–修改目录属组
chown -R grid:oinstall /u01/app/
chown -R oracle:oinstall /u01/app/oracle

–修改目录权限
chmod -R 775 /u01/app

六、安装nfs准备共享存储
1、在nfs服务器上执行 yum install nfs-utils -y
2、[root@localhost ~]# more /etc/exports
/data *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
3、 systemctl status nfs-server.service && systemctl enable nfs-server.service

4、在rac的机器上执行showmount -e xxx.xxx.xxx.xx 验证能否正常看到挂载目录

5、echo ‘xxx.xxx.xxx.xxx:/data /data nfs rw,bg,hard,nointr,noac,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0’ >> /etc/fstab && mount -a (两台都做)

6、准备文件(一台执行)
dd if=/dev/zero of=/data/asm1 bs=1024k count=15000
dd if=/dev/zero of=/data/asm2 bs=1024k count=15000
dd if=/dev/zero of=/data/asm3 bs=1024k count=15000
dd if=/dev/zero of=/data/asm4 bs=1024k count=15000
dd if=/dev/zero of=/data/asm5 bs=1024k count=15000
dd if=/dev/zero of=/data/asm6 bs=1024k count=15000

chown grid.asmadmin /data/*
chmod 777 /data/*

七、asmlib初始化
[root@rac1 ~]# oracleasm configure -i
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 [asmadmin]:
Start Oracle ASM library driver on boot (y/n) [y]:
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done

[root@rac1 ~]# oracleasm init 做一个初始化

八、grid安装
1、grid用户将grid安装包上传并解压到$ORACLE_HOME
2、通过xmanager或者是vnc进行安装操作
cd $ORACLE_HOME && ./gridSetup.sh
在这里插入图片描述
创建一个独立的集群
创建一个独立的集群
注意这里的scan-name要和/etc/hosts 中的scan-ip名字保持一致
在这里插入图片描述
这里想点击添加将rac2添加进来,然后填写用户的密码点击setup然后test一下(如果不同将knowhost中的内容删除在尝试看看)
在这里插入图片描述
这里将asm和priip使用一个网卡
在这里插入图片描述
选用asm进行存储管理
在这里插入图片描述
这里测试的话建议别选,生产建议选上,会产生集群自动管理的MGMTDB数据库
在这里插入图片描述
这里选择外部存储冗余,注意修改存储文件的路径,这里就引用到了nfs共享创建的文件了
在这里插入图片描述
这里选择统一的一个密码
在这里插入图片描述
后两步的ipmi和oemcc 都可以不用选

asm的用户组
在这里插入图片描述
会自动根据环境变量的设置来填充
在这里插入图片描述
安装的时候需要使用root权限执行一些脚本可以直接将root面写进去
在这里插入图片描述
最后检查如果是出现dns或者是scan-ip的错误可以忽略

[grid@rac1 app]$ crsctl stat res -t 使用该命令查看集群安装是否正常

九、磁盘组添加
在xmanager或者vnc中以grid用户执行asmca
选择asm3/4创建磁盘组DATA,asm5/6创建磁盘组FRA
[grid@rac1 app]$ asmca
在这里插入图片描述
完成后可见磁盘组
在这里插入图片描述
该处注意修改grid用户oracle的属组,不然oracle安装数据库是看不到磁盘组
[grid@rac1 bin]$ ll O R A C L E H O M E / b i n / o r a c l e − r w s r − s − − x 1 g r i d o i n s t a l l 418591368 J u n 1515 : 12 / u 01 / a p p / 19.10.0 / g r i d / b i n / o r a c l e [ g r i d @ r a c 1 b i n ] ORACLE_HOME/bin/oracle -rwsr-s--x 1 grid oinstall 418591368 Jun 15 15:12 /u01/app/19.10.0/grid/bin/oracle [grid@rac1 bin] ORACLEHOME/bin/oraclerwsrsx1gridoinstall418591368Jun1515:12/u01/app/19.10.0/grid/bin/oracle[grid@rac1bin] chown grid.asmadmin $ORACLE_HOME/bin/oracle

后续的oracle数据库部署步骤请参考oracle 19c部署

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

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

相关文章

C语言中断言库与断言函数assert()的用法总结

断言库与断言函数的相关使用总结! 断言函数的使用断言函数及断言库总结#define NDEBUG 断言函数在实现常见算法中的使用 断言函数的使用 话不多说,先来个例子感受一番断言函数assert()到底有什么功能。 由上面例子可知,assert()函数中在z的…

快速开发框架:一招解锁企业流程化管理!

在流程化管理时代,什么样的平台可以帮助企业实现高效率发展?在信息化爆炸式发展的今天,有很多企业期望能通过专用的快速开发框架实现提质增效发展。目前,低代码技术平台是较为盛行的平台,拥有易操作、灵活、增效等优势…

AntDB数据库灾备方案介绍

AntDB灾备方案(双中心方案) AntDB数据库节点分布于两个机房,并使用 patroni etcd 组件进行HA管理,主节点故障时能自动切换。切换时优先选择同机房的同步slave节点选举为new master。 部署图中相关组件说明: ⚫patroni:通过参…

Revit中楼梯该怎么画?包教包会!

绘制楼梯是室内装修中必不可少的一部分,因为楼梯的安装不仅仅是为了连接不同楼层,更是装饰整个室内空间的重要组成部分。 在楼梯的绘制过程中,需要结合实际情况进行设计,包括楼层高度、楼梯数量、台阶宽度、扶手高度等因素&#…

AntDB数据冷热分离方案

数据冷热分离 数据的存在价值,在于其被使用的程度,即被查询或更新的频率。在不同的业务系统中,人们对处于不同时期的数据有着不同的使用需求。比如,在网络流量行为分析系统中,客户会对最近一个月公司发生的安全事件和…

树莓派系统卸载桌面环境及系统瘦身

在我们刚入门树莓派时使用都是带桌面环境的系统,系统自带了非常多的实用软件,在学习和使用了一段时间后,我发现已经完全用不到桌面环境了,平时几乎都是通过 ssh 远程工具进行交互,并以命令形式来对系统进行操作。 Ras…

PHP日期时间函数date() 详解

**date()函数是我们在php开发中常碰到并且会使用到的一个日期函数,下面我来给大家介绍date()函数的一些基本扮靓和方法,有需要了解的朋友可进入参考. 日期时间函数是PHP 的核心组成部分。无需安装即可使用这些函数。下面来详细说说date函数的具体用法&a…

Python(request)爬虫有多强大?

requests是Python中的一种HTTP客户端库,用于发送HTTP请求并获取服务器响应。使用requests库可以轻松地进行常见的HTTP操作,如GET、POST、PUT、DELETE等,支持HTTPS和HTTP连接以及摘要验证、基本认证等身份验证方式。 因此,Python的…

嵌入式QT 树形浏览 - navListView

目录 1、什么是树形浏览 2、示例 3、树形浏览设计依赖文件 4、navListView 使用过程 4.1 添加文件 4.2 QListView提升为树形浏览 4.3 树形浏览设计 4.4 树形浏览功能实现 4.5 界面切换 4.6 树形浏览实现界面切换 1、什么是树形浏览 像下图这种左侧带有可以点击切换…

“小白“如何理解数据库

目录 前言 1.什么是数据库 2.数据库的用处 2.1数据库与文件的对比 3.使用数据库 3.1建立数据库 3.2建立表 3.3存储数据 4.服务器,数据库,表关系 5.数据库的分类 5.1MySQL架构 5.2SQL分类 5.3存储引擎 5.3.1什么是存储引擎 5.3.2如何查看存…

Lucene(9):Lucene优化

1 解决大量磁盘IO config.setMaxBufferedDocs(100000); 控制写入一个新的segment前内存中保存的document的数目,设置较大的数目可以加快建索引速度。 数值越大索引速度越快, 但是会消耗更多的内存 indexWriter.forceMerge(文档数量); 设置N个文档合并为一个段 …

easyexcel多行不同的表头导出

easyexcel多行不同的表头导出(多表格不同表头) 一、效果展示 二、代码 /*** 导出月度报表数据信息*/ApiOperation(value "导出月度报表数据信息")Log(title "导出月度报表", businessType BusinessType.EXPORT)RequestMapping(…

linux 下 sqlserver 连接 与开发准备

最近需要再linux下开发一个服务链接SQLserver。但是没有相关经验,然后参考了网上的一些博客。有点心得记录如下。 主要参考了这个:linux连接到sqlserver命令行,Linux 下连接sqlserver (上)_廖俊涛的博客-CSDN博客linux连接到sqlserver命令行,Linux 下连…

【网络安全】这份近 200 页应急响应文档,不会还有人没看过吧?

前言 成为伟大黑客的关键在于做自己喜爱的事,要把一件事情做好,你必须热爱它。所以只要你能坚持对安全技术的热爱,到了这种程度,你就会做得更好。 本文档注重理论与实战结合,不仅提供关键源代码供读者快速实践&#…

UnityVR--UIManager--UI管理1

目录 前言 UI节点的结构 需要用到的组件 1. CanvasGroup 2. Button等控件的OnClick()监听 3. EventTrigger 建立UI工具集 1. 管理UI节点 2. UIBase包含了以下的工具 建立分面板的管理工具——以主面板MainUi为例 前言 UI在项目中的重要性不言而喻,并且UI控件的…

将conda环境导入pycharm教程(史上最详细版)

一个不知名大学生,江湖人称菜狗 original author: Jacky LiEmail : 3435673055qq.com Time of completion:2023.6.15 Last edited: 2023.6.15 目录 将conda环境导入pycharm教程(史上最详细版) 步骤一:打开你的pychar…

Esxi直通A40显卡给ubuntu20.4系统驱动安装过程记录

Esxi直通A40显卡给ubuntu20.4系统驱动安装过程记录 背景描述 PowerEdge R750(esxi虚拟化) 服务器已有一张T4显卡,后期新增一张A40显卡,开一台ubuntu20.4系统直通A40显卡无法开机! 开机问题解决后安装显卡驱动也各种报…

可防撞抗震的海格里斯HEGERLS四向穿梭车立体库货架系统

随着经济的高速发展以及科学技术的不断进步,现代仓储和物流行业的发展都有了质的飞跃,技术融入到仓储的研发与生产中,促进了自动化仓储设备的出现。提到自动化仓储设备,那就无法忽视智能搬运机器人四向穿梭车,四向穿梭…

【Spring学习之生命周期】什么是生命周期?什么是作用域?了解六种作用域

前言: 💞💞从前⾯的课程我们可以看出 Spring 是⽤来读取和存储 Bean,因此在 Spring 中 Bean 是最核⼼的操作资源,所以接下来我们深⼊学习⼀下 Bean 对象。 前路漫漫,希望大家坚持下去,不忘初心&…

让你不再疑惑如何转换音频格式

你是否曾经遇到过这样的问题?你有一些wav格式的音频文件,但是它们不能在你的设备上播放,或者你需要将它们转换为其他格式以便更好地编辑和分享。别担心,转换wav格式并不是一件麻烦的事情。如果你还不知道wav格式怎么转换的话&…