热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RAC:Oracle19C数据库一键安装

前言本文将演示如何使用脚本一键安装Oracle19CRAC3节点数据库的全过程。安装前准备在生产环境中,Linux操作系统和网络一般不是由DBA来配置ÿ
前言

本文将演示如何使用脚本一键安装 Oracle 19C RAC 3 节点数据库的全过程。

安装前准备

在生产环境中,Linux 操作系统和网络一般不是由 DBA 来配置,为了更贴合生产使用,本脚本仅用于安装 Oracle 数据库,请提前安装好 Linux 操作系统。

环境信息


主机版本主机内存磁盘空间数据库版本PSU补丁版本OJVM补丁版本OPatch补丁版本
Centos7.632G115G19C335099233380836711.2.0.3.34

IP 规划(所有节点)


节点PubIPPrivIPVirIPISCANIP
1193.1.3.11.1.1.1193.1.3.4193.1.3.10
2193.1.3.21.1.1.2193.1.3.5193.1.3.10
3193.1.3.31.1.1.3193.1.3.6193.1.3.10

## 节点一
[root@luciferdb03:/soft]# nmcli connection show
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
eth1 658ca23d-769c-4a6f-a541-c236a412224d ethernet eth1[root@luciferdb03:/soft]# ifconfig
eth0: flags&#61;4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 193.1.3.1 netmask 255.255.255.0 broadcast 193.1.3.255inet6 fe80::eda:41ff:fe1d:ed3f prefixlen 64 scopeid 0x20<link>ether 0c:da:41:1d:ed:3f txqueuelen 1000 (Ethernet)RX packets 48758 bytes 9657994 (9.2 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 43755 bytes 9826085 (9.3 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0eth1: flags&#61;4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 1.1.1.1 netmask 255.255.255.0 broadcast 1.1.1.255inet6 fe80::eda:41ff:fe1d:f204 prefixlen 64 scopeid 0x20<link>ether 0c:da:41:1d:f2:04 txqueuelen 1000 (Ethernet)RX packets 10229514 bytes 15316863202 (14.2 GiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 4215800 bytes 7159447755 (6.6 GiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
## 节点二
[root&#64;luciferdb04:~]# nmcli connection show
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
eth1 a8df8168-4427-4d8f-a472-da212e2d5a09 ethernet eth1[root&#64;luciferdb04:~]# ifconfig
eth0: flags&#61;4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 193.1.3.2 netmask 255.255.255.0 broadcast 193.1.3.255inet6 fe80::eda:41ff:fe1d:ae3c prefixlen 64 scopeid 0x20<link>ether 0c:da:41:1d:ae:3c txqueuelen 1000 (Ethernet)RX packets 43103 bytes 8675612 (8.2 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 38950 bytes 8375054 (7.9 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0eth1: flags&#61;4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 1.1.1.2 netmask 255.255.255.0 broadcast 1.1.1.255inet6 fe80::eda:41ff:fe1d:9aed prefixlen 64 scopeid 0x20<link>ether 0c:da:41:1d:9a:ed txqueuelen 1000 (Ethernet)RX packets 10615410 bytes 11308390297 (10.5 GiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 4025025 bytes 16239792705 (15.1 GiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0## 节点三
[root&#64;luciferdb05:~]# nmcli connection show
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
eth1 d6366244-2ef8-4e15-883e-4b12637f0dd2 ethernet eth1
[root&#64;luciferdb05:~]# ifconfig
eth0: flags&#61;4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 193.1.3.3 netmask 255.255.255.0 broadcast 193.1.3.255inet6 fe80::eda:41ff:fe1d:f8b3 prefixlen 64 scopeid 0x20<link>ether 0c:da:41:1d:f8:b3 txqueuelen 1000 (Ethernet)RX packets 68256 bytes 16712778 (15.9 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 71805 bytes 16199787 (15.4 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0eth1: flags&#61;4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 1.1.1.3 netmask 255.255.255.0 broadcast 1.1.1.255inet6 fe80::eda:41ff:fe1d:765e prefixlen 64 scopeid 0x20<link>ether 0c:da:41:1d:76:5e txqueuelen 1000 (Ethernet)RX packets 9480723 bytes 10379158024 (9.6 GiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 3423761 bytes 12959390768 (12.0 GiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

在执行脚本之前&#xff0c;必须提前配置好 PublicPrivate 地址。

ASM 磁盘规划&#xff08;所有节点&#xff09;


磁盘组设备名称数量大小冗余度配置方式
OCR/dev/sdd,/dev/sde,/dev/sdf310GNORMALmultipath&#43;udev
DATA/dev/sdb,/dev/sdc260GEXTERNALmultipath&#43;udev
ARCH/dev/sda150GEXTERNALmultipath&#43;udev

## 节点一
[root&#64;luciferdb03:/soft]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
sdb 8:16 0 60G 0 disk
sdc 8:32 0 70G 0 disk
sdd 8:48 0 10G 0 disk
sde 8:64 0 10G 0 disk
sdf 8:80 0 10G 0 disk
sr0 11:0 1 10G 0 rom
vda 252:0 0 128G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 127G 0 part├─centos-root 253:0 0 114.1G 0 lvm /└─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
loop0 7:0 0 10G 0 loop /mnt## 节点二
[root&#64;luciferdb04:~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
sdb 8:16 0 60G 0 disk
sdc 8:32 0 70G 0 disk
sdd 8:48 0 10G 0 disk
sde 8:64 0 10G 0 disk
sdf 8:80 0 10G 0 disk
sr0 11:0 1 10G 0 rom
vda 252:0 0 128G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 127G 0 part├─centos-root 253:0 0 114.1G 0 lvm /└─centos-swap 253:1 0 7.9G 0 lvm [SWAP]## 节点三
[root&#64;luciferdb05:~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
sdb 8:16 0 60G 0 disk
sdc 8:32 0 70G 0 disk
sdd 8:48 0 10G 0 disk
sde 8:64 0 10G 0 disk
sdf 8:80 0 10G 0 disk
sr0 11:0 1 10G 0 rom
vda 252:0 0 128G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 127G 0 part├─centos-root 253:0 0 114.1G 0 lvm /└─centos-swap 253:1 0 7.9G 0 lvm [SWAP]

在执行脚本之前&#xff0c;必须提前挂载好共享存储&#xff0c;脚本会自动配置多路径和udev

上传介质&#xff08;节点一&#xff09;

首先&#xff0c;使用 ssh 工具连接到节点一 Linux 主机&#xff0c;创建一个存放安装介质的目录&#xff0c;比如&#xff1a;mkdir /soft&#xff0c;然后上传安装所需的介质&#xff01;

&#x1f4e2; 注意&#xff1a;

  • 1、安装介质只需要在节点一上传&#xff0c;节点二无需上传任何介质&#xff1b;

[root&#64;luciferdb03:/soft]# du -sh *
11G CentOS-7-x86_64-Athena-1904.iso ## 操作系统镜像
2.9G LINUX.X64_193000_db_home.zip ## 19C Grid 安装包
2.7G LINUX.X64_193000_grid_home.zip ## 19C Database 安装包
160K OracleShellInstall ## 一键安装脚本
2.5G p33509923_190000_Linux-x86-64.zip ## 19C Grid PSU 补丁
120M p33808367_190000_Linux-x86-64.zip ## 19C DB OJVM 补丁
119M p6880880_190000_Linux-x86-64.zip ## 19C OPatch 补丁
276K rlwrap-0.42.tar.gz ## 优化 sqlplus、rman 的翻页小插件

上传好以上安装介质就完成了第一步☝。

挂载 ISO 镜像&#xff08;所有节点&#xff09;

安装 Oracle 数据库需要安装一些 rpm 的依赖包&#xff0c;需要使用 yum 命令来安装&#xff0c;这就需要挂载 ISO 镜像来配置本地 YUM 源&#xff1a;

mount -o loop /soft/CentOS-7-x86_64-Athena-1904.iso /mnt

这里只需要执行 mount 命令挂载到 /mnt 目录下即可&#xff0c;配置好本地 YUM 源后&#xff0c;脚本里会自动配置 repo&#xff0c;执行 df -h | grep mnt 看到如下输出即代表成功挂载&#xff1a;

[root&#64;orcl soft]# df -h | grep mnt
/dev/loop0 11G 11G 0 100% /mnt

&#x1f4e2; 注意&#xff1a;如果不挂载 ISO 执行脚本&#xff0c;会提示&#xff1a;The iso file is not mounted on system&#xff01;

执行一键安装&#xff08;节点一&#xff09;

安装 3 节点 RAC

./OracleShellInstall -n luciferdb &#96;# hostname prefix&#96;\
-hn luciferdb03,luciferdb04,luciferdb05 &#96;# rac node hostname&#96;\
-cn luciferdb-cls &#96;# cluster_name&#96;\
-rp password &#96;# root password&#96;\
-gp oracle &#96;# grid password&#96;\
-op oracle &#96;# oracle password&#96;\
-lf eth0 &#96;# local ip ifname&#96;\
-pf eth1 &#96;# rac private ip ifname&#96;\
-ri 193.1.3.1,193.1.3.2,193.1.3.3 &#96;# rac node public ip&#96;\
-vi 193.1.3.4,193.1.3.5,193.1.3.6 &#96;# rac virtual ip&#96;\
-si 193.1.3.10 &#96;# rac scan ip&#96;\
-od /dev/sdd,/dev/sde,/dev/sdf &#96;# rac ocr asm disk&#96;\
-or NORMAL \
-dd /dev/sdb,/dev/sdc &#96;# rac data asm disk&#96;\
-ad /dev/sda &#96;# rac arch asm disk&#96;\
-o oradb &#96;# dbname&#96;\
-ds AL32UTF8 &#96;# database character&#96;\
-ns AL16UTF16 &#96;# national character&#96;\
-dp Oracle123Pwd &#96;# sys/system password&#96;\
-gpa 33509923 &#96;# grid PSU/RU&#96;\
-jpa 33808367 &#96;# OJVM PSU/RU&#96;\
-opd Y &#96;# optimize db&#96;

本文演示 3 节点安装&#xff0c;整个安装过程大概需要 90 分钟左右&#xff0c;全程自动安装建库&#xff0c;不需要人工干预&#xff0c;下面我们直接看视频演示&#xff1a;

RAC&#xff1a;Oracle 19C 3 节点 数据库一键安装

RAC&#xff1a;Oracle 19C 3 节点 数据库一键安装



推荐阅读
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了[从头学数学]中第101节关于比例的相关问题的研究和修炼过程。主要内容包括[机器小伟]和[工程师阿伟]一起研究比例的相关问题,并给出了一个求比例的函数scale的实现。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • 本文介绍了Codeforces Round #321 (Div. 2)比赛中的问题Kefa and Dishes,通过状压和spfa算法解决了这个问题。给定一个有向图,求在不超过m步的情况下,能获得的最大权值和。点不能重复走。文章详细介绍了问题的题意、解题思路和代码实现。 ... [详细]
  • 本文介绍了Java集合库的使用方法,包括如何方便地重复使用集合以及下溯造型的应用。通过使用集合库,可以方便地取用各种集合,并将其插入到自己的程序中。为了使集合能够重复使用,Java提供了一种通用类型,即Object类型。通过添加指向集合的对象句柄,可以实现对集合的重复使用。然而,由于集合只能容纳Object类型,当向集合中添加对象句柄时,会丢失其身份或标识信息。为了恢复其本来面貌,可以使用下溯造型。本文还介绍了Java 1.2集合库的特点和优势。 ... [详细]
  • 本文介绍了一道经典的状态压缩题目——关灯问题2,并提供了解决该问题的算法思路。通过使用二进制表示灯的状态,并枚举所有可能的状态,可以求解出最少按按钮的次数,从而将所有灯关掉。本文还对状压和位运算进行了解释,并指出了该方法的适用性和局限性。 ... [详细]
  • linux进阶50——无锁CAS
    1.概念比较并交换(compareandswap,CAS),是原⼦操作的⼀种,可⽤于在多线程编程中实现不被打断的数据交换操作࿰ ... [详细]
author-avatar
行侠客人生_983
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有