Study--Oracle-03-Oracle19C--RAC集群部署

news2024/12/22 20:14:15

一、硬件信息及配套软件

1、硬件设置

RAC集群虚拟机:CPU:2C、内存:9G、操作系统:30G、数据库安装目录:100G

数据存储:50G (10G*5)

共享存储:2G (1G*2)

2、IP 划分

主机名公有地址私有地址VIP共享存储(SAN)
rac1192.168.87.13110.10.10.131192.168.87.133192.168.87.129
rac2192.168.87.13210.10.10.132192.168.87.134192.168.87.129

3、配套软件

 操作系统:    OracleLinux-R7-U9-Server-x86_64-dvd
 数据库软件:oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 

数据库集群软件:LINUX.X64_193000_grid_home.zip

关注以下这三个rpm包

compat-libstdc++-33-3.2.3-71.el7.x86_64.rpm

libaio-devel-0.3.109-13.el7.x86_64.rpm

ksh-20120801-144.0.1.el7_9.x86_64.rpm

二、环境配置

1、主机名设置

主机:192.168.87.131
[root@rac1 ~]# hostnamectl set-hostname rac1   

主机:192.168.87.132
[root@rac2 ~]# hostnamectl set-hostname rac2

主机:192.168.87.129
[root@san ~]#  hostnamectl set-hostname san

2、主机名及网络设置

vi /etc/hosts
192.168.87.131 rac1
192.168.87.132 rac2

10.10.10.131   rac1prv
10.10.10.132   rac2prv

192.168.87.133 rac1vip
192.168.87.134 rac2vip

192.168.87.129 san

3、防火墙及SELINUX设置

关闭selinux
sed -i  "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config
setenforce 1

关闭防火墙
systemctl  stop firewalld
systemctl  disable firewalld

4、进制NTP时钟服务禁止NTP
systemctl stop ntpd
systemctl disabled ntpd
systemctl stop chronyd.service
systemctl disable chronyd.service
rm -f /etc/chrony.conf

5、安装相关rpm包

yum install bc gcc gcc-c++  binutils  make gdb cmake  glibc ksh \
elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc-devel  \
libaio libaio-devel libXrender libXrender-devel libX11 libXau sysstat \
libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb \
net-tools nfs-utils compat-libcap1 compat-libstdc++  smartmontools  targetcli \
python python-configshell python-rtslib python-six  unixODBC unixODBC-devel

推荐安装以下命令
yum install -y lrzsz
yum install -y rsync
yum install -y telnet
yum install -y vim
yum install -y curl
yum install -y wget
yum install -y openssh-server
yum install -y openssh-clients
yum install -y lsof

三、部署Oracle--19C --RAC集群

1、rac1/rac2 安装预装软件

[root@rac1 opt]# rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 

安装完毕后会自动创建用户和组,不建议使用默认的配置

2、rac1/rac2重新创建oracle相关用户及组

userdel  -r oracle
userdel  -r grid 
groupdel oinstall 
groupdel dba

groupadd -g 5001 oinstall
groupadd -g 5002 dba
groupadd -g 5003 asmdba 
groupadd -g 5004 asmoper
groupadd -g 5005 asmadmin
useradd   -u 6001 -g oinstall -G asmadmin,asmdba,asmoper grid 
useradd   -u 6002 -g oinstall -G dba,asmadmin oracle

passwd oracle
passwd grid 

检查核实用户

3、rac1/rac2创建oracle相关目录并赋权

mkdir /opt/oracle
mkdir -p /opt/oracle/app/grid
mkdir -p /opt/oracle/app/19c/grid
chown -R grid:oinstall /opt/oracle

mkdir -p /opt/oracle/app/oraInventory
chown -R grid:oinstall /opt/oracle/app/oraInventory
mkdir -p /opt/oracle/app/oracle/product/19c/dbhome_1 
chown -R oracle:oinstall /opt/oracle/app/oracle 
chmod -R 775 /opt/oracle

4、rac1/rac2设置grid用户环境变量

 vi ~/.bash_profile 
umask 022

#rac1
export ORACLE_SID=+ASM1

#rac2

export ORACLE_SID=+ASM1
export ORACLE_BASE=/opt/oracle/app/grid
export ORACLE_HOME=/opt/oracle/app/19c/grid 
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin

5、rac1/rac2设置oracle用户环境变量

[oracle@rac1 ~]$ vi ~/.bash_profile 

umask 022
export ORACLE_BASE=/opt/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_UNQNAME=rac
export ORACLE_SID=rac1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin

6、ASM共享存储配置

服务端执行

yum -y install nfs-utils rpcbind

[root@san ~]# vi /etc/exports
/asm *(insecure,rw,no_root_squash,no_all_squash,sync)
[root@san ~]# systemctl restart nfs-server.service
[root@san ~]# 
[root@san ~]# showmount -e
Export list for san:
/asm *
[root@san ~]# exportfs -v
/asm            <world>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,insecure,no_root_squash,no_all_squash)

设置开机自启动

[root@san ~]# systemctl start rpcbind.service
[root@san ~]# systemctl start nfs-server.service
[root@san ~]# systemctl enable rpcbind.service
[root@san ~]# systemctl enable nfs-server.service

客户端配置
[root@rac1 opt]# yum -y install nfs-utils rpcbind
[root@rac1 opt]# mount -t nfs 192.168.87.129:/asm /asm
[root@rac2 opt]# mount -t nfs 192.168.87.129:/asm /asm

检查共享存储权限

[root@san ~]# ls -ld /asm/
drwxrwxrwx 3 777 root 4096 May 19 20:57 /asm/

配置开机启动

vi /etc/fstab 
192.168.87.129:/asm nfs defaults 0 0

Linux使用nfs设置共享文件夹_linux配置nfs共享-CSDN博客

NFS共享存储主机执行
mkdir -p /asm/oracleasm/disks
dd if=/dev/zero of=/asm/oracleasm/disks/asm1 bs=8192k count=1280 
dd if=/dev/zero of=/asm/oracleasm/disks/asm2 bs=8192k count=1280 
dd if=/dev/zero of=/asm/oracleasm/disks/asm3 bs=8192k count=1280 
dd if=/dev/zero of=/asm/oracleasm/disks/asm4 bs=8192k count=1280
dd if=/dev/zero of=/asm/oracleasm/disks/asm5 bs=8192k count=1280 
dd if=/dev/zero of=/asm/oracleasm/disks/asm6 bs=8192k count=128
dd if=/dev/zero of=/asm/oracleasm/disks/asm7 bs=8192k count=128

rac1/rac2 主机执行
chown grid:asmadmin /asm/oracleasm/disks/asm1
chown grid:asmadmin /asm/oracleasm/disks/asm2
chown grid:asmadmin /asm/oracleasm/disks/asm3
chown grid:asmadmin /asm/oracleasm/disks/asm4
chown grid:asmadmin /asm/oracleasm/disks/asm5
chown grid:asmadmin /asm/oracleasm/disks/asm6
chown grid:asmadmin /asm/oracleasm/disks/asm7

检查权限设置

 [root@san ~]# chmod -R 777 /asm/

7、安装数据库集群软件-grid
 rac1主机解压 LINUX.X64_193000_grid_home.zip

  [grid@rac1 ~]$ cd $ORACLE_HOME
  [grid@rac1 grid]$ pwd
  /opt/oracle/app/19c/grid

 #需要在页面执行
 [grid@rac1 ~]$ ./gridSetup.sh

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

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

相关文章

【C++STL详解(四)------vector的模拟实现】

文章目录 vector各函数接口总览vector当中的成员变量介绍默认成员函数构造函数1构造函数2构造函数3拷贝构造函数赋值运算符重载函数析构函数 迭代器相关函数begin和end 容量和大小相关函数size和capacityreserveresizeempty 修改容器内容相关函数push_backpop_backinserterases…

面试八股之JVM篇3.6——垃圾回收——强引用、弱引用、虚引用、软引用

&#x1f308;hello&#xff0c;你好鸭&#xff0c;我是Ethan&#xff0c;一名不断学习的码农&#xff0c;很高兴你能来阅读。 ✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。 &#x1f3c3;人生之义&#xff0c;在于追求&#xff0c;不在成败&#xff0c;勤通…

Linux-命令上

at是一次性的任务&#xff0c;crond是循环的定时任务 如果 cron.allow 文件存在&#xff0c;只有在文件中出现其登录名称的用户可以使用 crontab 命令。root 用户的登录名必须出现在 cron.allow 文件中&#xff0c;如果这个文件存在的话。系统管理员可以明确的停止一个用户&am…

编程基础:掌握运算符与优先级

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、运算符的基石&#xff1a;加减乘除 二、比较运算符&#xff1a;判断数值大小 三、整除…

Postgresql源码(133)优化器动态规划生成连接路径的实例分析

物理算子的生成分为两步&#xff0c;基表的扫描路径生成set_base_rel_pathlists&#xff1b;连接路径生成&#xff08;make_rel_from_joinlist动态规划&#xff09;。本篇简单分析实现。看过代码会发现&#xff0c;“基表的扫描路径生成”其实就是作为连接路径生成dp计算的第一…

【Git】版本控制工具——Git介绍及使用

目录 版本控制版本控制系统的主要目标分类小结 分布式版本控制系统——GitGit特点Git与SVN的区别Git的工作机制 Git安装Git 团队协作机制团队内协作跨团队协作远程仓库远程仓库的作用有以下几个方面远程仓库操作流程/团队协作流程 Git分支什么是分支分支的好处 Git的常用命令Gi…

【CTF Web】CTFShow web5 Writeup(SQL注入+PHP+位运算)

web5 1 阿呆被老板狂骂一通&#xff0c;决定改掉自己大意的毛病&#xff0c;痛下杀手&#xff0c;修补漏洞。 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/\|\"|or|\||\-|\\\|\/|\…

JS根据所选ID数组在源数据中取出对象

let selectIds [1, 3] // 选中id数组let allData [{ id: 1, name: 123 },{ id: 2, name: 234 },{ id: 3, name: 345 },{ id: 4, name: 456 },] // 源数据let newList [] // 最终数据selectIds.map((i) > {allData.filter((item) > {item.id i && newList.pus…

Linux服务器安装docker,基于Linux(openEuler、CentOS8)

本实验环境为openEuler系统(以server方式安装)&#xff08;CentOS8基本一致&#xff0c;可参考本文) 目录 知识点实验 知识点 实验 查看yum源docker版本 dnf search docker安装docker dnf install dockerdocker --version

每日一题 包含不超过两种字符的最长子串

目录 1.前言 2.题目解析 3.算法原理 4.代码实现 1.前言 首先我打算介绍一下&#xff0c;我对滑动窗口的理解。 滑动窗口可以分为四个步骤&#xff1a; 进窗口&#xff1a; 在这一步骤中&#xff0c;我们决定了要在窗口中维护的信息。例如&#xff0c;在这个问题中&#xff…

java继承(构造器)使用细节3

那么我们怎么来选择用父类的 有参构造器 和无参构造器泥&#xff1f; 就可以不写 或只写super() 并且如像爸爸的爸爸还有爸爸&#xff0c;还有构造。所以会一直调用到爷爷的构造。 细节2 直接继承指的是儿子和爸爸&#xff0c;爸爸和爷爷

多项式重构的平滑和法线估计-------PCL

多项式重构的平滑和法线估计 /// <summary> /// 多项式重构的平滑和法线估计 /// </summary> /// <param name"cloud"></param> /// <returns>输出一个包含平滑后的点云数据以及相应法线信息的数据结构</returns> pcl::PointCl…

AI爆文写作:或许开放性的标题,才会更让人想点开了解答案

这是新华社公众号的一条推文 从信息传递上来说&#xff0c;新闻标题应该直接&#xff0c;包含关键信息。 但这个标题&#xff0c;却没有直接点名哪个国家&#xff0c;要点进去才能看到。 这就是要让人点开的标题特征&#xff0c;标题没有提供完整信息&#xff0c;是开放性的…

飞速提升中文打字,Master of Typing in Chinese for Mac助你一臂之力

Master of Typing in Chinese for Mac是一款专为Mac用户设计的中文打字练习软件。其主要功能包括帮助用户提高打字速度和准确性&#xff0c;培养盲打技巧&#xff0c;使键盘输入更加高效。 打字速度提升&#xff1a;软件提供多种练习模式&#xff0c;如字母、特殊字符、单词和…

Go语言实现人脸检测(Go的OpenCV绑定库)

文章目录 OpenCVGithub官网安装环境变量 Go的OpenCV绑定库Github文档安装搜索视频设备ID显示视频检测人脸 OpenCV Github https://github.com/opencv/opencv/ 官网 https://opencv.org/ 安装 brew install opencv brew upgrade opencv安装目录 cd /usr/local/opt/opencv…

读论文 | Small object detection model for UAV aerial image based on YOLOv7

目录 1、前言 2、摘要 3、论文的方法 3.1 方法描述 3.2 方法改进 3.3 本论文的模型图 3.4 本文的数据集&#xff1a; 3.5 论文实验 3.6 解决的问题 3.7 论文总结 &#xff08;1&#xff09;文章优点 &#xff08;2&#xff09;方法创新点 &#xff08;3&#xff0…

IP数据云确认参展2024 ChinaJoy BTOB与诸位共展未来!

作为在全球数字娱乐领域兼具知名度与影响力的年度盛会&#xff0c;2024年第二十一届ChinaJoy BTOB将于7月26日至7月28日在上海新国际博览中心盛大召开&#xff0c;秉承着初心“游”在&#xff0c;精彩无限&#xff01;&#xff08;英译&#xff1a;Stay True, Game On.&#xf…

JVM学习-执行引擎

执行引擎 执行引擎是Java虚拟机核心组成部分之一虚拟机是一个相对于物理机的概念&#xff0c;这两种机器都有代码执行能力&#xff0c;其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的&#xff0c;而虚拟机的执行引擎是由软件自行实现的&#xf…

GitLens或者Git Graph在vscode中对比文件历史变化,并将历史变化同步到当前文件中

有时候我们上周改的代码&#xff0c;现在想反悔把它恢复过来&#xff0c;怎么办&#xff1f;&#xff1f;&#xff1f;很好&#xff0c;你有这个需求&#xff0c;说明你找对人了&#xff0c;那就是我们需要在vscode中安装这个插件&#xff1a;GitLens或者Git Graph&#xff0c;…

Nginx使用补充(一)

说明&#xff1a;之前介绍过Nginx安装和负载均衡的使用&#xff08;参考&#xff1a;Nginx使用&#xff09;&#xff0c;本文补充介绍Nginx的一些用法 隐藏Nginx版本信息 正常情况&#xff0c;可在Nginx代理的请求中查看到当前Nginx的版本信息&#xff0c;如下&#xff1a; 可…