CentOS 7.9 环境下 Oracle 12cR2 (240116) 自动化安装与多租户配置指南
在企业级数据库运维中,自动化部署是提升效率和减少人为错误的关键。本文将演示如何利用 Shell 自动化脚本在 CentOS 7.9 系统上一键部署 Oracle 12cR2 单机环境,并同步完成 240116 版本的 PSU/OJVM 补丁更新以及多租户(PDB)的初始化配置。
1. 部署环境准备
在开始安装之前,需要确保以下环境配置就绪:
- 操作系统:CentOS 7.9(推荐安装图形化桌面环境以支持 OUI 管理)。
- 网络:已正确配置静态 IP 且网络互通。
- 介质:本地挂载的系统 ISO 镜像源(用于安装依赖包)。
- 软件包:准备好 Oracle 12cR2 基础安装包、最新的补丁包以及自动化安装脚本
OracleShellInstall。
环境快照信息:
[root@db-server ~]# hostnamectl status
Static hostname: db-server
Icon name: computer-vm
Chassis: vm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
[root@db-server ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.10.50/24 brd 192.168.10.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
安装包目录结构:
[root@db-server /install]# ls -1
LINUX.X64_122010_db_home.zip
OracleShellInstall
p35926712_122010_Linux-x86-64.zip (OJVM 补丁)
p35966787_122010_Linux-x86-64.zip (Database 补丁)
p6880880_122010_Linux-x86-64.zip (OPatch 升级工具)
rlwrap-0.46.1.tar.gz
2. 自动化安装指令
脚本支持高度自定义,通过参数指定网卡、主机名、数据库 SID、PDB 名称以及补丁版本。以下命令将执行完整的数据库软件安装、补丁应用及数据库创建:
./OracleShellInstall -lf eth0 \
-n oracle12c \
-o orcdb \
-pdb pdb_prod1,pdb_prod2 \
-opa 35966787 \
-jpa 35926712 \
-op oracle \
-dp oracle \
-redo 1024 \
-opd Y
主要参数说明:
-lf: 指定本地网卡名称。-n: 设置主机名。-o: 设置数据库实例名 (SID)。-pdb: 定义初始创建的 PDB 列表。-opa/-jpa: 指定补丁号。-redo: 设置 Redo 日志文件大小 (MB)。
3. 自动化安装流程
脚本在运行过程中会执行以下自动化任务:
- 系统自检:验证 CPU、内存、OS 版本是否满足 Oracle 最低要求。
- 环境优化:自动配置 Swap 分区、关闭防火墙与 SELinux、禁用透明大页(Transparent HugePages)。
- 依赖管理:通过本地 YUM 源自动补全缺少的 RPM 依赖包。
- 核心参数配置:自动调整
/etc/sysctl.conf内核参数及/etc/security/limits.conf用户限制。 - 软件安装与打补丁:静默安装 Oracle 软件,并自动升级 OPatch 工具,随后应用指定的 PSU 和 OJVM 补丁。
- 数据库创建:根据预设参数通过 DBCA 创建数据库容器(CDB)及可插拔数据库(PDB)。
安装耗时参考: 整个过程视硬件性能而定,通常在 30 分钟至 1 小时内完成(包含补丁应用耗时)。
4. 结果验证
安装完成后,切换至 oracle 用户,检查数据库状态及补丁级别。
查看补丁信息:
[oracle@oracle12c ~]$ opatch lspatches
35926712;OJVM RELEASE UPDATE 12.2.0.1.240116 (35926712)
35966787;Database Jan 2024 Release Update : 12.2.0.1.240116 (35966787)
OPatch succeeded.
验证 PDB 状态:
[oracle@oracle12c ~]$ sqlplus / as sysdba
SQL> select name, open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDB_PROD1 READ WRITE
PDB_PROD2 READ WRITE
SQL> select banner from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
至此,Oracle 12cR2 数据库已成功部署,并处于最新补丁级别,PDB 实例已处于就绪状态,可直接投入开发或测试环境使用。