暂无图片
暂无图片
46
暂无图片
暂无图片
暂无图片

‼️ 我写了4000多行Shell脚本,终于实现了一键安装Oracle RAC!!!

原创 Lucifer 2021-06-03
21136

大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。

Table of Contents

前言

作为IT人,相信大家多多少少都接触使用过Oracle数据库,但是很少有人安装过Oracle数据库,因为这种活一般都是DBA干的,比如博主😬。那么,如果自己想安装一套Oracle数据库进行测试,如何安装呢?

  • 首先想要成功安装一套Oracle数据库,至少需要满足以下几个条件:
  • 了解基础的硬件资源配置:硬盘,内存,CPU等
  • 熟悉如何安装Linux系统,包括多种虚拟机的使用
  • 熟悉Linux常用命令和系统服务
  • 熟悉Oracle数据库的整体安装流程,可参考官方文档
  • 具体步骤可以参考:
  • 安装Linux操作系统
  • 配置存储,网络
  • 配置操作系统服务和参数等
  • 配置Oracle相关用户目录等
  • 上传解压安装介质
  • 安装Oracle软件
  • 创建数据库实例
    安装部署流程
  • 可参考文档:

如果本篇文章只是如此,不免过于标题党,俗话说的好,抛转引玉,接下来就介绍下本文的主角:

  • Oracle一键安装脚本,建库只需短短一行命令,一杯茶的功夫,敲代码的同时也不忘养生。
    Oracle一键安装

一、介绍

俗说得好:"懒人"推动世界的发展。 既然能用脚本解决的事情,为什么还要那么麻烦,干就完事儿了。

1 功能介绍

  • 本脚本有哪些功能?支持哪些版本?有哪些参数?不急,功能太多,待我慢慢道来:
  • 支持Oracle版本:11GR2、12C、18C、19C
  • 支持Linux版本(x86_64):6、7、8
  • 支持安装模式:单机,单机集群,RAC
  • 帮助命令查看参数
  • 安装日志记录
  • 配置操作系统
  • 安装Grid软件
  • 安装Oracle软件
  • 安装PSU&&RU补丁
  • 创建数据库

2 参数介绍

  • 本脚本通过参数来预配置脚本命令,可通过帮助命令来查看有哪些参数:

执行 ./OracleShellInstall --help 可以查看参数:

-i, --PUBLICIP PUBLICIP NETWORK ADDRESS -n, --HOSTNAME HOSTNAME(orcl) -o, --ORACLE_SID ORACLE_SID(orcl) -c, --ISCDB IS CDB OR NOT(TRUE|FALSE) -pb, --PDBNAME PDBNAME -op, --ORAPASSWD ORACLE USER PASSWORD(oracle) -b, --ENV_BASE_DIR ORACLE BASE DIR(/u01/app) -s, --CHARACTERSET ORACLE CHARACTERSET(ZHS16GBK|AL32UTF8) -rs, --ROOTPASSWD ROOT USER PASSWORD -gp, --GRIDPASSWD GRID USER PASSWORD(oracle) -pb1, --RAC1PUBLICIP RAC NODE ONE PUBLIC IP -pb2, --RAC2PUBLICIP RAC NODE SECONED PUBLIC IP -vi1, --RAC1VIP RAC NODE ONE VIRTUAL IP -vi2, --RAC2VIP RAC NODE SECOND VIRTUAL IP -pi1, --RAC1PRIVIP RAC NODE ONE PRIVATE IP -pi2, --RAC2PRIVIP RAC NODE SECOND PRIVATE IP -pi3, --RAC1PRIVIP1 RAC NODE ONE PRIVATE IP -pi4, --RAC2PRIVIP1 RAC NODE SECOND PRIVATE IP -puf, --RACPUBLICFCNAME RAC PUBLIC FC NAME -prf, --RACPRIVFCNAME RAC PRIVATE FC NAME -prf1, --RACPRIVFCNAME1 RAC PRIVATE FC NAME -si, --RACSCANIP RAC SCAN IP -dn, --ASMDATANAME RAC ASM DATADISKGROUP NAME(DATA) -on, --ASMOCRNAME RAC ASM OCRDISKGROUP NAME(OCR) -dd, --DATA_BASEDISK RAC DATADISK DISKNAME -od, --OCRP_BASEDISK RAC OCRDISK DISKNAME -or, --OCRREDUN RAC OCR REDUNDANCY(EXTERNAL|NORMAL|HIGH) -dr, --DATAREDUN RAC DATA REDUNDANCY(EXTERNAL|NORMAL|HIGH) -tsi, --TIMESERVERIP RAC TIME SERVER IP -txh --TuXingHua Tu Xing Hua Install -udev --UDEV Whether Auto Set UDEV -dns --DNS RAC CONFIGURE DNS(Y|N) -dnss --DNSSERVER RAC CONFIGURE DNSSERVER LOCAL(Y|N) -dnsn --DNSNAME RAC DNSNAME(orcl.com) -dnsi --DNSIP RAC DNS IP -m, --ONLYCONFIGOS ONLY CONFIG SYSTEM PARAMETER(Y|N) -g, --ONLYINSTALLGRID ONLY INSTALL GRID SOFTWARE(Y|N) -w, --ONLYINSTALLORACLE ONLY INSTALL ORACLE SOFTWARE(Y|N) -ocd, --ONLYCREATEDB ONLY CREATE DATABASE(Y|N) -gpa, --GRID RELEASE UPDATE GRID RELEASE UPDATE(32072711) -opa, --ORACLE RELEASE UPDATE ORACLE RELEASE UPDATE(32072711)

看到上面的参数,是否感觉参数太多,但是这些参数都有用,容我一个个慢慢道来:

  • -i 全称 PUBLICIP:当前主机用于访问的IP,必填参数

使用方式:-i 10.211.55.100

  • -n 全称 HOSTNAME:当前主机的主机名,默认值为 orcl。

使用方式:-n orcl
如果选择rac模式,节点1、2主机名自动取为:orcl01、orcl02。
rac主机名

  • -o 全称 ORACLE_SID:Oracle实例名称,默认值为 orcl。

使用方式:-o orcl

  • -c 全称 ISCDB:判断是否为CDB模式,11GR2不支持该参数,默认值为FALSE。

使用方式:-c TRUE

  • -pb 全称 PDBNAME:创建PDB的名称,11GR2不支持该参数。

使用方式:-pb pdb01

  • -op 全称 ORAPASSWD:oracle用户的密码,默认值为oracle。

使用方式:-op oracle

  • -b 全称 ENV_BASE_DIR:Oracle基础安装目录,默认值为/u01/app。

使用方式:-b /u01/app

  • -s 全称 CHARACTERSET:Oracle数据库字符集,默认值为AL32UTF8。

使用方式:-s AL32UTF8

以下为RAC模式安装的参数:

  • -rs 全称 ROOTPASSWD:root用户的密码,默认值为oracle。

使用方式:-rs oracle

  • -gp 全称 GRIDPASSWD:grid用户的密码,默认值为oracle。

使用方式:-gp oracle

  • -pb1 全称 RAC1PUBLICIP:节点一的主机访问IP,必填参数

使用方式:-pb1 10.211.55.100

  • -pb2 全称 RAC2PUBLICIP:节点二的主机访问IP,必填参数

使用方式:-pb2 10.211.55.101

  • -vi1 全称 RAC1VIP:节点一的主机虚拟IP,必填参数,与主机访问IP网段必须相同。

使用方式:-vi1 10.211.55.102

  • -vi2 全称 RAC2VIP:节点二的主机虚拟IP,必填参数 ,与主机访问IP网段必须相同。

使用方式:-vi2 10.211.55.103

  • -pi1 全称 :RAC1PRIVIP,节点一的主机私有IP,必填参数 ,可凭借喜好进行自定义。

使用方式:-pi1 10.10.1.1

  • -pi2 全称 :RAC2PRIVIP,节点二的主机私有IP,必填参数,可凭借喜好进行自定义。

使用方式:-pi2 10.10.1.2

  • -pi3 全称 :RAC1PRIVIP1,节点一的第二个主机私有IP,可选参数 ,可凭借喜好进行自定义。

使用方式:-pi3 1.1.1.1

  • -pi4 全称 :RAC2PRIVIP1,节点二的第二个主机私有IP,可选参数 ,可凭借喜好进行自定义。

使用方式:-pi4 1.1.1.2

  • -puf 全称 :RACPUBLICFCNAME,主机的访问IP对应的网卡名称,必填参数 ,节点1,2必须名称一致。

使用方式:-puf eth0

  • -prf 全称 RACPRIVFCNAME:主机的私有IP对应的网卡名称,必填参数 ,节点1,2必须名称一致。

使用方式:-prf eth1

  • -prf1 全称 RACPRIVFCNAME1:主机的第二私有IP对应的网卡名称,可选参数 ,节点1,2必须名称一致。

使用方式:-prf1 eth2

  • -si 全称 RACSCANIP:主机的SCANIP,必填参数 ,与主机访问IP网段必须相同。当配置DNS解析时,最多可支持填写3个IP,通过逗号隔开。

使用方式:-si 10.211.55.104,10.211.55.105,10.211.55.106

  • -dn 全称 ASMDATANAME:ASM数据盘名称,默认值为DATA。

使用方式:-dn DATA

  • -on 全称 ASMOCRNAME:ASM裁决盘名称,默认值为OCR。

使用方式:-on OCR

  • -dd 全称 DATA_BASEDISK:数据盘对应的磁盘名称,必填参数 。支持多块磁盘填写,用逗号隔开。

使用方式:-dd /dev/sdb,/dev/sdc,/dev/sdd

  • -od 全称 OCR_BASEDISK:裁决盘对应的磁盘名称,必填参数 。支持多块磁盘填写,用逗号隔开。

使用方式:-od /dev/sde,/dev/sdf

  • -or 全称 OCRREDUN:裁决盘的冗余选项,默认值为EXTERNAL。冗余选项EXTERNAL、NORMAL、HIGH对应磁盘最小数量为1、3、5。

使用方式:-or EXTERNAL

  • -dr 全称 OCRREDUN:裁决盘的冗余选项,默认值为EXTERNAL。冗余选项EXTERNAL、NORMAL、HIGH对应磁盘最小数量为1、2、3。

使用方式:-dr EXTERNAL

  • -tsi 全称 TIMESERVERIP:时间同步服务器IP,可选参数 ,根据实际情况进行填写。

使用方式:-tsi 10.211.55.200

  • -txh 全称 TuXingHua:图形化界面安装,默认值为N。选择Y后将安装图形化界面所需依赖。

使用方式:-txh Y

  • -udev 全称 UDEV:自动配置multipath+UDEV绑盘,默认值为Y。

使用方式:-udev Y

以下参数为配置DNS解析:

  • -dns 全称 DNS:配置DNS解析,默认值为N。

使用方式:-dns N

  • -dnss 全称 DNSSERVER:当前主机配置为DNS服务器,默认值为N。前提是 -dns Y 才生效。

使用方式:-dnss N

  • -dnsn 全称 DNSNAME:DNS服务器的解析名称,前提是 -dns Y 才生效。

使用方式:-dnsn orcl.com

  • -dnsi 全称 DNSIP:DNS服务器的IP,前提是 -dns Y 才生效。

使用方式:-dnsi 10.211.55.200

  • -m 全称 ONLYCONFIGOS:仅配置操作系统参数,默认值为N。值为Y时,脚本只执行到操作系统配置完成就结束,不会进行安装,通常可用于图形化安装的初始化。

使用方式:-m Y

  • -g 全称 ONLYINSTALLGRID:仅安装Grid软件,默认值为N。

使用方式:-g Y

  • -w 全称 ONLYINSTALLORACLE:仅安装Oracle软件,默认值为N。

使用方式:-w Y

  • -ocd 全称 ONLYCREATEDB:仅创建Oracle数据库实例,默认值为N。

使用方式:-ocd Y

  • -gpa 全称 GRID RELEASE UPDATE:Grid软件的PSU或者RU补丁的补丁号。

使用方式:-gpa 32072711

  • -opa 全称 ORACLE RELEASE UPDATE:Oracle软件的PSU或者RU补丁的补丁号。

使用方式:-opa 32072711

通过以上的参数介绍,相信大家对脚本的功能已经一览无余了,可以说是非常强大。是不是已经心动不如行动,想要尝试下进行安装了呢?接下来将介绍如何使用脚本。

二、使用

既然已经了解脚本的功能和参数,接下来就是了解如何使用脚本。
脚本流程图
直接上命令: ./OracleShellInstall.sh -i 10.211.55.100

Notes: 最便捷安装方式,默认参数不设置,只需加上主机IP,即可一键安装Oracle数据库。

1 创建软件目录,例如:/soft

mkdir /soft

2 挂载Linux安装镜像

## 1.通过cdrom挂载 mount /dev/cdrom /mnt ## 2.通过安装镜像源挂载 mount -o loop /soft/rhel-server-7.9-x86_64-dvd.iso /mnt

镜像挂载

3 上传安装介质和脚本到软件目录

## 一键安装shell脚本 140K OracleShellInstall.sh ## oracle 11GR2官方安装包 1.3G p13390677_112040_Linux-x86-64_1of7.zip 1.1G p13390677_112040_Linux-x86-64_2of7.zip ## 授权脚本执行权限 chmod +x OracleShellInstall.sh

安装介质

4 执行安装:

./OracleShellInstall.sh -i 10.211.55.100

执行安装
等待5-10分钟左右,安装成功。
安装成功提示数据库信息

5 数据库连接使用

不知道如何安装PLSQL的同学,可以参考:零基础如何玩转PL/SQL DEVELOPER?

  • 创建连接用户:

    创建连接用户

  • plsql连接:

    plsql连接
    测试数据

通过如上简单的使用教程,轻松安装Oracle数据库,大大缩减人工和时间成本。

三、示例

1 单实例安装

./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\ -n orcl `# hostname`\ -o orcl `# oraclesid`\ -op oracle `# oracle user password`\ -b /u01/app `# install basedir`\ -s AL32UTF8 `# characterset`\ -opa 31537677 `# oracle psu number`

2 RAC安装

./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\ -n rac `# hostname`\ -rs oracle `# root password`\ -op oracle `# oracle password`\ -gp oracle `# grid password`\ -b /u01/app `# install basedir`\ -o orcl `# oraclesid`\ -s AL32UTF8 `# characterset`\ -pb1 10.211.55.100 -pb2 10.211.55.101 `# node public ip`\ -vi1 10.211.55.102 -vi2 10.211.55.103 `# node virtual ip`\ -pi1 10.10.1.1 -pi2 10.10.1.2 `# node private ip`\ -puf eth0 -prf eth1 `# network fcname`\ -si 10.211.55.105 `# scan ip`\ -dd /dev/sde,/dev/sdf `# asm data disk`\ -od /dev/sdb,/dev/sdc,/dev/sdd `# asm ocr disk`\ -or EXTERNAL `# asm ocr redundancy`\ -dr EXTERNAL `# asm data redundancy`\ -on OCR `# asm ocr diskgroupname`\ -dn DATA `# asm data diskgroupname`\ -gpa 32580003 `# GRID PATCH`

如果能够合理使用该脚本,可以在Linux系统轻松安装Oracle数据库,释放双手,养生敲代码不是梦!!!

更多更详细的脚本使用方式可以订阅专栏: Shell脚本安装Oracle数据库


脚本获取方式:


往期精彩文章

Oracle 一键巡检自动生成 Word 报告
Oracle 一键安装合集
Oracle一键安装脚本的 21 个疑问与解答
Oracle一键巡检脚本的 21 个疑问与解答
全网首发:Oracle 23ai 一键安装脚本(非 RPM)
Oracle 19C 最新 RU 补丁 19.24 ,一键安装!
Oracle Linux 7.9 一键安装 Oracle 19C
RedHat 9.4(aarch64) 一键安装 Oracle 19C
openEuler 22.03 LTS SP4 一键安装 Oracle 19C RAC
RHEL 7.9 一键安装 Oracle 19C 19.23 RAC
Oracle DataGuard GAP 修复手册
优化 Oracle:最佳实践与开发规范
DBA 必备:Linux 软件源配置全攻略
Linux 一键配置时钟同步全攻略


感谢您的阅读,这里是 Lucifer三思而后行,欢迎点赞+关注,我会持续分享数据库知识、运维技巧。

最后修改时间:2024-08-09 10:53:17
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
4人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论