ORACLE一键安装11G/12C/18C/19C并建库脚本

「这是我参与11月更文挑战的第29天,活动详情查看:2021最后一次更文挑战

前言

ORACLE一键安装单机11G/12C/18C/19C并建库脚本(shell)

一、介绍

本脚本旨在通过无人值守方式初始化安装Oracle软件。

Github

功能:

  • 1.配置操作系统
  • 2.安装Grid软件
  • 3.安装Oracle软件
  • 4.安装PSU&&RU补丁
  • 5.创建数据库
  • 6.数据库优化

目前支持:

ORACLE版本: 11GR2、12CR2、18C、19C。
操作系统版本: Linux6(x86_64)、Linux7(x86_64)、Linux8(x86_64)。

19C 操作系统要求

  • Red Hat Enterprise Linux 8: 4.18.0-80.el8.x86_64 or later
  • Red Hat Enterprise Linux 7.5: 3.10.0-862.11.6.el7.x86_64 or later
包括Single、Oracle Restart、Oracle Real Cluster模式。

目前RAC只支持双节点安装

二、使用

2.1 安装准备

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

mkdir /soft

2.1.2 挂载镜像 ISO

1
2
3
4
5
shell复制代码## 通过cdrom挂载
mount /dev/cdrom /mnt
or
##通过安装镜像源挂载
mount -o loop /soft/rhel-server-7.9-x86_64-dvd.iso /mnt

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

2.1.4 设置好主机IP(Public&&Private)

1
2
3
4
5
6
7
8
9
shell复制代码#For Example:
##Linux 6
vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.211.55.100
NETMASK=255.255.255.0
GATEWAY=10.211.55.1

##Linux 7
nmcli connection modify eth0 ipv4.addresses 10.211.55.100/24 ipv4.gateway 10.211.55.1 ipv4.method manual autoconnect yes

2.1.5 如果需要安装Rac,需提前配置ASM共享磁盘

1
2
3
4
5
6
7
8
9
10
11
12
bash复制代码##For Example
##通过iscsi配置共享盘
1.StarWind(Windows)
2.Openfiler(Linux)

##假设已配置好共享存储服务器,IP为10.211.55.18。
##配置iscsi连接共享存储
yum install -y iscsi-initiator-utils*
##输出targetname
iscsiadm -m discovery -t st -p 10.211.55.18
##连接共享存储
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.18-lucifer -p 10.211.55.18 -l

共享存储之–StarWind高级配置

共享存储之–Openfiler高级配置

2.2 脚本参数

2.2.1 通过运行 ./OracleShellInstall --help 可以查看参数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Para复制代码-i,			--PUBLICIP				PUBLICIP NETWORK ADDRESS
-n, --HOSTNAME HOSTNAME(orcl)
-rs, --ROOTPASSWD ROOT USER PASSWORD(oracle)
-gp, --GRIDPASSWD GRID USER PASSWORD(oracle)
-op, --ORAPASSWD ORACLE USER PASSWORD(oracle)
-b, --ENV_BASE_DIR ORACLE BASE DIR(/u01/app)
-o, --ORACLE_SID ORACLE_SID(orcl)
-s, --CHARACTERSET ORACLE CHARACTERSET(AL32UTF8)
-c, --ISCDB IS CDB OR NOT(FALSE)
-pb, --PDBNAME PDBNAME(pdb01)
-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)
-ts, --TIMESERVER 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)

2.3 脚本运行

Notes:必须提前上传所需安装介质,否则安装失败

cdb 12C后开始支持容器,只需要加上如下参数即可:

1
2
shellscript复制代码-c TRUE `# cdb` \
-pb singlepdb `# pdbname` \

脚本须Root用户下执行

chmod +x OracleShellInstall.sh

2.3.1 Single模式安装

1
2
3
4
5
6
7
8
shellscript复制代码cd /soft
./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\
-n single `# hostname`\
-o nocdb `# oraclesid`\
-op oracle `# oracle user password`\
-b /oracle/app `# install basedir`\
-s AL32UTF8 `# characterset`\
-opa 31537677 `# oracle psu number`

2.3.2 Oracle Restart模式安装

1
2
3
4
5
6
7
8
9
10
11
12
shellscript复制代码cd /soft
./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\
-n restart `# hostname`\
-o nocdb `# oraclesid`\
-gp oracle `# grid user password`\
-op oracle `# oracle user password`\
-b /u01/app `# install basedir`\
-s AL32UTF8 `# characterset`\
-dd /dev/sde,/dev/sdf `# asm data disk`\
-dn DATA `# asm data diskgroupname`\
-dr EXTERNAL `# asm data redundancy`\
-gpa 31718723 `# grid psu number`

2.3.3 Oracle Rac模式安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
shellscript复制代码cd /soft
./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 nocdb `# 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`

三. 功能介绍

3.1 配置节点间互信

RAC模式自动配置节点间互信

3.2 配置DNS服务器

1
2
3
4
bash复制代码-dns Y `# DNS` \
-dnss Y `# LOCAL DNSSERVER` \
-dnsn lucifer.com `# DNS SERVER NAME` \
-dnsi 10.211.55.200 `# DNS SERVER IP` \

3.3 记录安装日志

日志记录在软件目录中,格式为:

oracleAllSilent_$(date +"20%y%m%d%H%M%S").log

3.4 可重复执行

执行失败支持多次执行安装。

3.5 帮助功能

./OracleShellInstall --help

3.6 自动配置Multipath+UDEV绑盘

1
2
shellscript复制代码-dd /dev/sde,/dev/sdf `# asm data disk`\
-od /dev/sdb,/dev/sdc,/dev/sdd `# asm ocr disk`\

3.7 配置时间同步crontab

1
shellscript复制代码-tsi 10.211.55.18 `# timeserver` \

3.8 自动安装补丁(PSU,RU,RUR)

1
2
shellscript复制代码-gpa 32580003 `# Grid PATCH` \
-opa 32580014 `# Oracle PATCH` \

3.9 数据库优化

  • 1.自动优化数据库参数
  • 2.创建备份crontab+scripts
  • 3.设置数据库开机自启动
  • 4.设置pdb随cdb启动

3.10 最多支持2组Private IP

1
2
shellscript复制代码-pi1 10.10.1.1 -pi2 10.10.1.2 `# node private ip`\
-prf eth1 -prf1 eth2 `# network fcname`\

3.11 最多支持3组Scan IP

必须配置DNS才可使用多个scanip

1
shellscript复制代码-si 10.211.55.104,10.211.55.105,10.211.55.106 `# scan ip`\

3.12 支持图形化安装+VNC

1
shellscript复制代码-txh Y `#tuxinghua` \

3.13 支持只配置主机环境

1
shellscript复制代码-m Y `#Only Config System` \

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力,谢谢

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%