Shell-InstallOracle
整个项目的完整目录:
代码语言:javascript复制├── Documents
│ ├── packer box
│ │ ├── Vagrant Box 镜像准备:Packer 打包 Oracle Linux 6.10 系统.md
│ │ ├── Vagrant Box 镜像准备:Packer 打包 Oracle Linux 8.3 系统.md
│ │ ├── Vagrant Box 镜像准备:Packer 打包 Centos 6.10 系统.md
│ │ ├── Vagrant Box 镜像准备:Packer 打包 Centos 7.9 系统.md
│ │ ├── Vagrant Box 镜像准备:Packer 打包 Centos 8.3 系统.md
│ │ └── Vagrant Box 镜像准备:Packer 打包 Oracle Linux 7.9 系统.md
│ ├── rac_db
│ │ ├── 《零基础安装 Oracle 数据库》RAC集群系列 ❶ 简单两步快速安装 Oracle 11GR2 RAC 数据库.md
│ │ ├── 《零基础安装 Oracle 数据库》RAC集群系列 ❷ 简单两步快速安装 Oracle 12CR2 RAC 数据库.md
│ │ ├── 《零基础安装 Oracle 数据库》RAC集群系列 ❸ 简单两步快速安装 Oracle 18C RAC 数据库.md
│ │ ├── 《零基础安装 Oracle 数据库》RAC集群系列 ❹ 简单两步快速安装 Oracle 19C RAC 数据库.md
│ │ └── 《零基础安装 Oracle 数据库》RAC集群系列 ❺ 简单两步快速安装 Oracle 21C RAC 数据库.md
│ ├── single_db
│ │ ├── 《零基础安装 Oracle 数据库》单机系列 ① 一键快速安装 Oracle 11GR2 数据库.md
│ │ ├── 《零基础安装 Oracle 数据库》单机系列 ② 一键快速安装 Oracle 12CR2 数据库.md
│ │ ├── 《零基础安装 Oracle 数据库》单机系列 ③ 一键快速安装 Oracle 18C 数据库.md
│ │ ├── 《零基础安装 Oracle 数据库》单机系列 ④ 一键快速安装 Oracle 19C 数据库.md
│ │ └── 《零基础安装 Oracle 数据库》单机系列 ⑤ 一键快速安装 Oracle 21C 数据库.md
│ └── singleasm_db
│ ├── 《零基础安装 Oracle 数据库》单机ASM系列 1️⃣ 一键快速安装 Oracle 11GR2 数据库.md
│ ├── 《零基础安装 Oracle 数据库》单机ASM系列 2️⃣ 一键快速安装 Oracle 12CR2 数据库.md
│ ├── 《零基础安装 Oracle 数据库》单机ASM系列 3️⃣ 一键快速安装 Oracle 18C 数据库.md
│ ├── 《零基础安装 Oracle 数据库》单机ASM系列 4️⃣ 一键快速安装 Oracle 19C 数据库.md
│ └── 《零基础安装 Oracle 数据库》单机ASM系列 5️⃣ 一键快速安装 Oracle 21C 数据库.md
├── LICENSE
├── OracleShellInstall.sh
├── ParameterREADME.md
├── README.md
├── rac_db
│ ├── README.md
│ ├── Vagrantfile
│ ├── config
│ │ └── vagrant.yml
│ ├── scripts
│ │ └── setup.sh
│ └── software
│ ├── 11204
│ │ └── software.txt
│ ├── 12201
│ │ └── software.txt
│ ├── 18000
│ │ └── software.txt
│ ├── 19300
│ │ └── software.txt
│ ├── 21300
│ │ └── software.txt
│ ├── OracleShellInstall.sh
│ ├── compat-libstdc -33-3.2.3-72.el7.x86_64.rpm
│ └── rlwrap-0.42.tar.gz
├── single_db
│ ├── README.md
│ ├── Vagrantfile
│ ├── config
│ │ └── vagrant.yml
│ ├── scripts
│ │ └── setup.sh
│ └── software
│ ├── 11204
│ │ └── software.txt
│ ├── 12201
│ │ └── software.txt
│ ├── 18000
│ │ └── software.txt
│ ├── 19300
│ │ └── software.txt
│ ├── 21300
│ │ └── software.txt
│ ├── OracleShellInstall.sh
│ ├── compat-libstdc -33-3.2.3-72.el7.x86_64.rpm
│ └── rlwrap-0.42.tar.gz
└── singleasm_db
├── README.md
├── Vagrantfile
├── config
│ └── vagrant.yml
├── scripts
│ └── setup.sh
└── software
├── 11204
│ └── software.txt
├── 12201
│ └── software.txt
├── 18000
│ └── software.txt
├── 19300
│ └── software.txt
├── 21300
│ └── software.txt
├── OracleShellInstall.sh
├── compat-libstdc -33-3.2.3-72.el7.x86_64.rpm
└── rlwrap-0.42.tar.gz
32 directories, 61 files
背景
为什么要写这个脚本呢?
- 首先,安装 Oracle 数据库是一件极为复杂且枯燥的任务;
- 常规的操作方式往往是基于文档,博客,视频等教程方式,按部就班的执行安装步骤,耗时费力,且极为容易因为粗心导致各种各样的问题产生;
- 于是,我想到可以编写一个基于标准流程的
Shell
脚本来进行安装,因为只要代码没有错误,机器执行是不会出错的; - 经过大量时间的代码编写和运行测试,目前已可以用于生产环境安装部署。
项目支持哪些平台安装?
- 本项目仅支持 「 Linux64-6/7/8 」 平台:Centos、Redhat、OracleLinux。
- 支持大部分主流 「 ORACLE 」 版本: 11GR2、12CR2、18C、19C、21C。
- 支持数据库安装模式:单机、单机 ASM、
RAC
集群。
使用说明
本脚本使用方式分为 新手纯享版本
和 高手进阶版本
,平时学习测试建议使用新手纯享版本即可!
新手纯享版本
新手纯享版本基本不需要基础,免安装操作系统,一键拥有 Oracle 数据库!但是必须使用 [vagrant]
和 [virtualbox]
,请确保你本地已经安装。
- 第一步,上传 Oracle 安装包:
进入项目目录 InstallOracleshell/single_db/software
下,可以看到有不同 Oracle 版本目录,其中有一个 software.txt
文件,内容为你需要上传的 Oracle 安装包。
├── 11204
│ ├── p13390677_112040_Linux-x86-64_1of7.zip
│ └── p13390677_112040_Linux-x86-64_2of7.zip
├── 12201
│ └── LINUX.X64_122010_db_home.zip
├── 18000
│ └── LINUX.X64_180000_db_home.zip
├── 19300
│ └── LINUX.X64_193000_db_home.zip
├── 21300
│ └── LINUX.X64_213000_db_home.zip
确认你需要安装的 Oracle 版本,拷贝 Oracle 安装包到对应目录下,确保安装包名称与以下名称相同,否则安装失败!
- 第二步,编辑 vagrant.yml 配置文件:
进入项目目录 InstallOracleshell/single_db/config
下,打开 vagrant.yml
文件:
box: luciferliu/centos7.9
vm_name: orcl
hostname: orcl
mem_size: 2048
cpus: 2
public_ip: 192.168.56.100
non_rotational: 'on'
db_version: 11
db_patch:
oracle_password: oracle
oracle_sid: orcl
install_base: /u01/app
characterset: AL32UTF8
cdb: true
pdb: pdb01
参数介绍:
代码语言:javascript复制box : Linux 主机版本,19c 和 21c 版本不支持 linux 6 版本!
可选值:
- luciferliu/centos6.10
- luciferliu/centos7.9
- luciferliu/centos8.3
- luciferliu/oraclelinux6.10
- luciferliu/oraclelinux7.9
- luciferliu/oraclelinux8.3
vm_name : 虚拟机名称,随意修改,默认即可。
hostname : 主机名称,随意修改,默认即可。
mem_size : 内存大小,单位是 `MiB`,根据需要修改,正常默认即可。
cpus : cpu 个数,根据需要修改,正常默认即可。
public_ip : IP 地址,根据网卡定义修改,正常默认即可。
non_rotational : 不用修改值,默认即可。
db_version : oracle 数据库版本,根据实际情况填写!
db_patch : PSU/RU 补丁号,根据需要填写,不打补丁可以不填。
oracle_password : oracle 用户密码,默认即可。
oracle_sid : oracle 数据库实例名,默认即可。
install_base : oracle 安装根目录,默认即可。
characterset : 数据库字符集,根据实际需要填写,正常默认即可。
cdb : CDB 模式需要填写 true。
pdb : PDB 名称,开启 CDB 模式后才可生效。
根据实际情况修改脚本,默认不修改将安装 Oracle 11GR2 数据库。
- 第三步,执行
vagrant up
安装:
回到 InstallOracleshell/single_db
目录下,执行 vagrant up
开始安装。
注意: InstallOracleshell/single_db/software 目录中的 OracleShellInstall.sh 脚本需要保持最新,最新版本脚本在上层目录 InstallOracleshell 下。
- 第四步,等待自动安装成功后,连接主机:
这里有三种方式来连接主机:
1、使用 ssh root@192.168.56.100
来连接,root 用户密码是 oracle ,使用 Xshell 等连接工具也可连接;
2、使用 vagrant ssh
来连接,注意要在 InstallOracleshell/single_db
目录下执行,连接进去是 vagrant 用户,使用 su - oracle
来切换即可。
3、使用 Virtualbox 虚拟机直接打开访问。
- 第五步,关闭主机:
1、在主机中,执行 init 0
等关机命令关闭主机。
2、使用 Virtualbox 虚拟机右键关闭。
3、进入 InstallOracleshell/single_db
目录下执行 vagrant halt
关闭。
- 最后
用完了,不需要使用了怎么办?
1、直接打开 Virtualbox 虚拟机,右键删除。
2、进入 InstallOracleshell/single_db
目录下执行 vagrant destory
销毁它。
高手进阶版本
正常来说,平时学习测试使用 新手纯享版本
完全够了,但是如果你想使用在 生产环境
,那你必须得学会 高手进阶版本
!真正提高生产力~
既然看到这的说明都是高手,那就长话短说,进阶版本只需要这一个脚本 OracleShellInstall.sh
就够了!
脚本有了,具体如何使用?
前提: 提前安装 Linux 系统,上传安装介质,挂载 ISO 镜像。
单机
- 第一步, 手动安装 Linux 系统,配置网络,挂载 ISO 镜像;
- 第二步, 创建 /soft 目录,上传安装介质;
- 第三步, 编辑脚本安装命令,填写关键信息:
最简安装
脚本示例:
./OracleShellInstall.sh -i 192.168.56.155
单机自定义
脚本命令示例:
./OracleShellInstall.sh -i 192.168.56.155 `#Public ip`
-n topdbdev `# hostname`
-o topstd `# oraclesid`
-c TRUE `# ISCDB`
-pb pdb01 `# PDBNAME`
-rs oracle `# root password`
-op oracle `# oracle password`
-gp oracle `# grid password`
-b /u01/app `# install basedir`
-s AL32UTF8 `# characterset`
-ns UTF8 `# national characterset`
- 第四步,
root
用户下进入/soft
目录下执行脚本安装命令; - 第五步, 等待安装过程中,可以进入
/soft
目录中查看安装部署日志,安装结束后重启主机; - 第六步, 检查数据库运行情况。
脚本中所有操作均为静默连续执行,敲下命令之后无需任何操作,等待安装成功即可。
单机ASM
单机ASM
脚本命令示例:
./OracleShellInstall.sh -i 192.168.56.155 `#Public ip`
-n topdbdev `# hostname`
-o topstd `# oraclesid`
-rs oracle `# root password`
-op oracle `# oracle password`
-gp oracle `# grid password`
-b /u01/app `# install basedir`
-s AL32UTF8 `# characterset`
-ns UTF8 `# national characterset`
-dd /dev/sde `# asm data disk`
-dn DATA `# asm data diskgroupname`
-dr EXTERNAL `# asm data redundancy`
-gpa 31718723 `# Grid PSU NUMBER`
RAC
这里我简单说下在生产环境使用脚本部署 RAC
的大概步骤:
- 第一步, 手动安装两台 Linux 主机;
- 第二步, 分别配置网络,挂载 iso 镜像源,挂载共享存储;
- 第三步, 节点一创建 /soft 目录并上传安装介质;
- 第四步, 编辑脚本安装命令,填写两台主机的关键信息;
RAC
脚本命令示例:
./OracleShellInstall.sh -i 192.168.56.151 `# node1 Public ip`
-n topdb `# rac hostname`
-o TOPDB `# oraclesid`
-rs oracle `# root password`
-op oracle `# oracle password`
-gp oracle `# grid password`
-b /u01/app `# install basedir`
-s AL32UTF8 `# characterset`
-ns UTF8 `# national characterset`
-pb1 192.168.56.151 -pb2 192.168.56.153 `# node public ip`
-vi1 192.168.56.152 -vi2 192.168.56.154 `# node virtual ip`
-pi1 10.10.10.11 -pi2 10.10.10.12 `# node private ip`
-pi3 10.10.11.11 -pi4 10.10.11.12 `# node private1 ip`
-si 192.168.56.150 `# scan ip`
-od /dev/sdb,/dev/sdc,/dev/sdd `# asm ocr disk`
-dd /dev/sde `# asm data disk`
-on OCR `# asm ocr diskgroupname`
-dn DATA `# asm data diskgroupname`
-or NORMAL `# asm ocr redundancy`
-dr EXTERNAL `# asm data redundancy`
-puf team0 -prf em3 -prf1 em4 `# network fcname`
-tsi 192.168.56.252 `# timeserver`
-gpa 31718723 `# Grid PSU NUMBER`
- 第五步, 节点一
root
用户下进入/soft
目录下执行脚本安装命令; - 第六步, 等待安装过程中,可以进入
/soft
目录中查看安装部署日志,安装结束后重启两台主机; - 第七步, 检查两台主机数据库运行情况。
脚本中所有操作均为静默连续执行,敲下命令之后无需任何操作,等待安装成功即可!
使用许可
MIT © Lucifer三思而后行