Skip to content

wenjunzhang/DbaScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

📢 Oracle 一键安装脚本开源了!

功能点对比

开源版和付费版的具体功能点对比如下:

分类 描述 开源版 付费版
功能 脚本帮助 help
功能 脚本安装日志
功能 脚本参数配置
功能 脚本参数检查
功能 创建多个实例
功能 配置多路径、UDEV、ASM 绑盘
功能 可重复执行
功能 全程无需人工干预
功能 安装后优化数据库
架构 单机/单机 ASM
架构 NON-CDB/CDB(PDB)
架构 RAC(不限节点数)
CPU X86
CPU ARM
系统 红帽 RHEL/Oracle Linux/Centos
系统 国产化系统(麒麟、欧拉、统信、龙蜥等等 20 多种)
Oracle 版本 11GR2/12CR2/19C/21C/23ai
兼容性 Oracle 官方认证组合安装
兼容性 非 Oracle 官方认证组合安装
安装补丁 Grid/DB/OJVM 一键安装打补丁
安装介质 提供系统镜像 ISO、Oracle 安装包/补丁等安装介质
脚本答疑 安装日志排错、专属付费群、群直播答疑等

如需完整付费版功能,请添加作者微信订阅:Lucifer-0622

更新记录

  • 2025/01/12
    • 开源 OracleShellInstall 脚本

Oracle一键安装脚本

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

首先想要成功安装一套Oracle数据库,至少需要满足以下几个条件:

  • 了解基础的硬件资源配置:硬盘,内存,CPU 等;
  • 熟悉如何安装 Linux 系统,包括多种虚拟机的使用;
  • 熟悉 Linux 常用命令和系统服务;
  • 熟悉 Oracle 数据库的整体安装流程,可参考官方文档;

具体步骤可以参考:

  • 安装 Linux 操作系统;
  • 配置存储,网络;
  • 配置操作系统服务和参数等;
  • 配置 Oracle 相关用户目录等;
  • 上传解压安装介质;
  • 安装 Oracle 软件;
  • 创建数据库实例;

可参考文档:

如果本篇文章只是如此,不免过于标题党,俗话说的好,抛转引玉,接下来就介绍下本文的主角:Oracle一键安装脚本,建库只需短短一行命令,一杯茶的功夫,敲代码的同时也不忘养生。

介绍

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

脚本兼容性列表

目前脚本已支持操作系统(已安装验证):

目前脚本已知支持的 Oracle 版本

11GR2
12CR2
19C
21C
23ai

目前脚本已知支持列表组合

支持 单机/单机ASM 11GR2 12CR2 19C 21C 23ai
Centos >=6 全系
RedHat >=6 全系
OracleLinux >=6 全系

开源版本脚本仅适配 Oracle 官方认证列表的系统组合,非标请购买付费版本支持。

常见问题

  1. 挂载 ISO 镜像源,必须使用 Everything 或者比较全的源,否则可能安装失败。

实操参考

以下为作者安装测试的教程合集,请仔细阅读:

脚本使用

使用脚本前,务必先做好以下步骤:

  • 安装好操作系统,最小化和图形化皆可;
  • 配置好主机网络;
  • 配置软件源准备(本地或者网络),脚本会自动配置,只需要挂载 ISO 镜像即可;
  • 创建软件存放目录:mkdir /soft
  • 上传安装所需软件包:Oracle 安装包;
  • 上传一键安装脚本:OracleShellInstall;

更详细可以参考:

  • 单机
    • 系统组安装好操作系统(支持最小化安装)
    • 网络组配置好主机网络,通常只需要一个公网 IP 地址
    • DBA 创建软件目录:mkdir /soft
    • DBA 上传 Oracle 安装介质(基础包,补丁包)到 /soft 目录下
    • DBA 上传 Oracle 一键安装脚本到 /soft 目录下,授予脚本执行权限:chmod +x OracleshellInstall
    • DBA 挂载主机 ISO 镜像,这里只需要 mount 上即可(这个很简单,不了解的可以百度下)
    • 根据脚本安装脚本以及实际情况,配置好脚本的安装参数,在 /soft 目录下执行一键安装即可。
  • 单机 ASM
    • 系统组安装好操作系统(支持最小化安装)
    • 网络组配置好主机网络,通常只需要一个公网 IP 地址
    • 存储组配置并在主机层挂载好 ASM 磁盘,虚拟化环境需要确保已开启磁盘的 UUID
    • DBA 创建软件目录:mkdir /soft
    • DBA 上传 Oracle 安装介质(基础包)到 /soft 目录下
    • DBA 上传 Oracle 一键安装脚本到 /soft 目录下,授予脚本执行权限:chmod +x OracleshellInstall
    • DBA 挂载主机 ISO 镜像,这里只需要 mount 上即可
    • 根据脚本安装脚本以及实际情况,配置好脚本的安装参数,在 /soft 目录下执行一键安装即可。

参数介绍

关于脚本的参数使用可执行 ./OracleShellInstall -h 进行查看,使用脚本前强烈建议全部看一遍再执行安装:

   ███████                             ██          ████████ ██               ██  ██ ██                    ██              ██  ██
  ██░░░░░██                           ░██         ██░░░░░░ ░██              ░██ ░██░██                   ░██             ░██ ░██
 ██     ░░██ ██████  ██████    █████  ░██  █████ ░██       ░██       █████  ░██ ░██░██ ███████   ██████ ██████  ██████   ░██ ░██
░██      ░██░░██░░█ ░░░░░░██  ██░░░██ ░██ ██░░░██░█████████░██████  ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░  ░░░░░░██  ░██ ░██
░██      ░██ ░██ ░   ███████ ░██  ░░  ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██  ░██░░█████   ░██    ███████  ░██ ░██
░░██     ██  ░██    ██░░░░██ ░██   ██ ░██░██░░░░        ░██░██  ░██░██░░░░  ░██ ░██░██ ░██  ░██ ░░░░░██  ░██   ██░░░░██  ░██ ░██
 ░░███████  ░███   ░░████████░░█████  ███░░██████ ████████ ░██  ░██░░██████ ███ ███░██ ███  ░██ ██████   ░░██ ░░████████ ███ ███
  ░░░░░░░   ░░░     ░░░░░░░░  ░░░░░  ░░░  ░░░░░░ ░░░░░░░░  ░░   ░░  ░░░░░░ ░░░ ░░░ ░░ ░░░   ░░ ░░░░░░     ░░   ░░░░░░░░ ░░░ ░░░ 


注意:本脚本仅用于新服务器上实施部署数据库使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!                                                                                  


用法: OracleShellInstall [选项] 对象 { 命令 | help }                                                                                  

单机模式:                                                                                       

-lrp                 配置本地软件源,需要挂载本地 ISO 镜像源,默认值:[Y]                                                   
-nrp                 配置网络软件源,默认值:[N]                                                   
-lf                  [必填] 公网 IP 的网卡名称                                                   
-n                   主机名,默认值:[orcl]
-ou                  系统 oracle 用户名称,默认值:[oracle]                                                   
-op                  系统 oracle 用户密码,若包含特殊字符必须以单引号包裹,例如:'Passw0rd#',默认值:[oracle]                                                   
-d                   Oracle 软件安装根目录,默认值:[/u01]                                                   
-ord                 Oracle 数据文件目录,默认值:[/oradata]                                                   
-ard                 Oracle 归档文件目录,默认值:[/oradata/archivelog]                                                 
-o                   Oracle 数据库名称,默认值:[orcl]                                                   
-dp                  Oracle 数据库 sys/system 密码,若包含特殊字符(_,#,$)必须以单引号包裹,例如:'Passw0rd#',默认值:[oracle]                                                   
-ds                  数据库字符集,默认值:[AL32UTF8]                                                   
-ns                  数据库国家字符集,默认值:[AL16UTF16]                                                   
-er                  是否启用归档日志,默认值:[true]                                                   
-pdb                 用于 CDB 架构,PDB 名称,支持传入多个PDB:-pdb pdb01,pdb02,默认值:[pdb01]                                                   
-redo                数据库 redo 日志文件大小,单位为 MB,默认值[1024]                                                                                                  
-m                   仅配置操作系统,默认值:[N]                                                   
-ud                  安装到 Oracle 软件结束,默认值:[N]                                                   
-gui                 是否安装系统图形界面,默认值:[N]                                                   
-opd                 安装完成是否优化 Oracle 数据库,默认值:[N]  
-hf                  安装完成是否配置内存大页,默认值:[N]                                                 

单机 ASM 模式:                                                                                  

-lrp                 配置本地软件源,需要挂载本地 ISO 镜像源,默认值:[Y]                                                   
-nrp                 配置网络软件源,默认值:[N]                                                   
-lf                  [必填] 公网 IP 的网卡名称                                                   
-n                   主机名,默认值:[orcl]   
-ou                  系统 oracle 用户名称,默认值:[oracle]                                                 
-op                  系统 oracle 用户密码,若包含特殊字符必须以单引号包裹,例如:'Passw0rd#',默认值:[oracle]                                                   
-d                   Oracle 软件安装根目录,默认值:[/u01]                                                   
-ord                 Oracle 数据文件目录,默认值:[/oradata]                                                   
-o                   Oracle 数据库名称,默认值:[orcl]   
-gu                  系统 grid 用户名称,默认值:[grid]                                                 
-gp                  系统 grid 用户密码,,若包含特殊字符必须以单引号包裹,例如:'Passw0rd#',默认值:[oracle]                                                   
-dp                  Oracle 数据库 sys/system 密码,若包含特殊字符(_,#,$)必须以单引号包裹,例如:'Passw0rd#',默认值:[oracle]                                                   
-adc                 是否需要脚本配置 ASM 磁盘,如果不需要配置,则需要自行提前配置好,默认值:[Y]                                                   
-mp                  是否需要脚本配置 multipath 多路径,如果不需要配置多路径,则使用UDEV直接绑盘,默认值:[Y]                                                   
-dd                  [必填] ASM DATA 磁盘组的磁盘列表,默认传参为(sd名称):-dd /dev/sdb:若设置参数 -adc N,则传入已配置好的磁盘列表:-dd /dev/asm_data1                                                   
-dn                  ASM DATA 磁盘组名称,默认值:[DATA]                                                   
-dr                  ASM DATA 磁盘组冗余度,默认值:[EXTERNAL]                                                   
-ds                  数据库字符集,默认值:[AL32UTF8]                                                   
-ns                  数据库国家字符集,默认值:[AL16UTF16]                                                   
-er                  是否启用归档日志,默认值:[true]                                                   
-pdb                 用于 CDB 架构,PDB 名称,支持传入多个PDB:-pdb pdb01,pdb02,默认值:[pdb01]                                                   
-redo                数据库 redo 日志文件大小,单位为 MB,默认值[1024]                                                                                                     
-m                   仅配置操作系统,默认值:[N]                                                   
-ud                  安装到 Oracle 软件结束,默认值:[N]                                                   
-gui                 是否安装系统图形界面,默认值:[N]                                                   
-opd                 安装完成是否优化 Oracle 数据库,默认值:[N]                                                   
-vbox                在虚拟机 virtualbox 上安装 RAC 时需要设置 -vbox Y,用于修复 BUG,默认值:[N]                                                   
-fd                  过滤多路径磁盘,去除重复路径,获取唯一盘符:参数值为非ASM盘符(系统盘等),例如:-fd /dev/sda,多个盘符用逗号拼接:-fd /dev/sda,/dev/sdb                                             
-hf                  安装完成是否配置内存大页,默认值:[N]                       

单机

最简安装

./OracleShellInstall -lf eth0 `# 主机网卡名称`

生产环境安装

./OracleShellInstall -lf ens33 `# 主机网卡名称`\
-n uos1050d `# 主机名`\
-op oracle `# 主机 oracle 用户密码`\
-d /u01 `# Oracle 软件安装基础目录`\
-ord /oradata `# 数据库文件存放目录`\
-o lucifer `# 数据库名称`\
-dp 'Passw0rd#PST' `# sys/system 用户密码`\
-ds AL32UTF8 `# 数据库字符集`\
-ns AL16UTF16 `# 国家字符集`\
-redo 1000 `# 在线重做日志大小(M)`\
-opd Y `# 是否优化数据库`

单机 ASM

最简安装

./OracleShellInstall -lf eth0 `# 主机网卡名称` \
-dd /dev/sdc `# DATA 磁盘盘符名称`

生产环境安装

./OracleShellInstall -lf ens33 `# 主机网卡名称`\
-n uos1050d `# 主机名`\
-op oracle `# 主机 oracle 用户密码`\
-d /u01 `# Oracle 软件安装基础目录`\
-o lucifer `# 数据库名称`\
-dp 'Passw0rd#PST' `# sys/system 用户密码`\
-ds AL32UTF8 `# 数据库字符集`\
-ns AL16UTF16 `# 国家字符集`\
-redo 1000 `# 在线重做日志大小(M)`\
-dd /dev/sdc `# DATA 磁盘盘符名称`\
-opd Y `# 是否优化数据库`

Grid 和 DB 不同版本

19C Grid11GR2 DB 为例:

./OracleShellInstall -lf ens33 `# 主机网卡名称`\
-n uos1050d `# 主机名`\
-op oracle `# 主机 oracle 用户密码`\
-d /u01 `# Oracle 软件安装基础目录`\
-o lucifer `# 数据库名称`\
-dp 'Passw0rd#PST' `# sys/system 用户密码`\
-ds AL32UTF8 `# 数据库字符集`\
-ns AL16UTF16 `# 国家字符集`\
-redo 1000 `# 在线重做日志大小(M)`\
-dd /dev/sdc `# DATA 磁盘盘符名称`\
-opd Y `# 是否优化数据库`\
-giv 19 `# Grid 软件版本号`

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages