数据库教程FGMT21‑Oracle RAC+DG生产实战(1):Oracle19c/26ai fo

数据库教程FGMT21‑Oracle RAC+DG生产实战(1):Oracle19c/26ai for RHEL8/9安装配置+补丁

说明:本套风哥教程本章为两套单机单实例独立环境部署实战,非RAC集群;第一套环境:Oracle19c部署于主机fgedu‑net‑cn1,操作系统RHEL8;第二套环境:Oracle26ai(AI Database)部署于主机fgedu‑net‑cn2,操作系统RHEL9,26ai采用传统zip介质,不使用Gold‑Image镜像模式;两套环境硬件规格均为64G内存,8颗CPU,两套环境相互独立,无依赖关系。

前言

Oracle单机单实例数据库是企业IT架构里面最基础、使用范围最广的数据库部署形态。Oracle19c作为长期支持LTS版本,稳定性成熟,大量政企核心业务都在使用;Oracle26ai(AI Database)是Oracle新一代数据库产品,内置向量检索、AI大模型适配相关能力,目前多用于技术预研与新业务试点。单机数据库的操作系统标准化预配置、二进制软件部署、CDB/PDB容器数据库创建、监听配置、归档闪回开启、RU季度补丁升级、补丁回退,是DBA必须掌握的基础核心能力。操作系统内核参数不合理、资源限制配置错误、补丁操作流程失误,都会直接引发数据库启动失败、性能抖动、业务报错等严重生产故障。风哥教程本文分别针对两套独立单机环境完成完整实施讲解,为本套教程后续DataGuard容灾、数据迁移、性能调优打下坚实基础。风哥 itpux‑com

本套风哥教程面向DBA、运维实施工程师、数据库架构师;两套独立实验环境: 环境一:主机fgedu‑net‑cn1,RHEL8,Oracle19c单机,硬件64G内存8CPU,数据库SID:fgedudb,数据库名fgedudb,业务测试用户名fgedu,根目录统一/fgedudb; 环境二:主机fgedu‑net‑cn2,RHEL9,Oracle26ai单机(传统zip介质,不使用Gold Image),硬件64G内存8CPU,数据库SID:fgedudb,数据库名fgedudb,业务测试用户名fgedu,根目录统一/fgedudb; 风哥教程本文分为前言与大纲、核心理论知识、实战操作演练、风哥针对本文总结四大模块;实战包含大量可直接复制shell与SQL脚本,读者可以在两套独立测试主机完整复现整套部署与补丁升级全流程。网上搜索风哥教程可以学习全套数据库教程

内容大纲

  1. Oracle单机单实例项目整体规划,两套独立环境硬件、存储、操作系统说明,19c与26ai版本定位与核心差异
  2. 单机数据库操作系统部署理论:内核参数、资源限制、swap配置、透明大页关闭、chrony时间同步、软件目录OFA规范
  3. Oracle软件目录体系:ORACLE_BASE、ORACLE_HOME、oraInventory库存目录、数据文件、快速恢复区FRA作用与权限规范
  4. Oracle补丁体系理论:OPatch工具、RU/RUR季度补丁概念、datapatch字典升级、补丁回退原理与风险约束
  5. CDB/PDB容器数据库基础理论,单机环境容器架构使用场景与约束
  6. 环境一实战:Oracle19c单机RHEL8完整部署,操作系统配置、zip介质软件静默部署、监听配置、DBCA静默创建CDB/PDB数据库
  7. Oracle19c单机后期配置:启停操作、日志检查、PDB管理、归档模式开启、闪回特性配置
  8. Oracle19c单机RU补丁完整实操:补丁预检查、应用RU补丁、datapatch字典升级、补丁回退完整流程
  9. 环境二实战:Oracle26ai单机RHEL9完整部署,传统zip介质不使用Gold Image,操作系统依赖配置、软件部署、DBCA建库
  10. Oracle26ai单机后期运维、补丁操作、版本特有注意事项
  11. 单机数据库上线前完整验收检查清单,部署与补丁阶段高频报错故障分析

一、核心理论知识

本章节为本套风哥教程理论基础,理解单机数据库软件目录结构、操作系统约束、补丁体系原理,能够规避部署阶段埋下长期生产隐患。风哥教程 113257174

1.1 Oracle19c与Oracle26ai版本定位差异

  1. Oracle19c:企业主流LTS长期支持版本,官方认证操作系统RHEL8;支持传统zip介质就地部署,支持in‑place就地打RU补丁;产品成熟稳定,广泛用于政企核心生产业务。
  2. Oracle26ai(AI Database):Oracle新一代AI数据库,官方主推RHEL9操作系统,内置向量数据库、大模型适配能力;官方优先推荐Gold Image镜像部署模式,本教程使用传统zip介质部署,不启用Gold Image;部分系统依赖包要求相比19c版本有调整,适合技术预研、新业务试点,核心业务上线前需要完成充分业务兼容性测试。

版本选型提示:已上线核心生产业务优先选择Oracle19c;26ai适合做技术预研、新业务试点,不建议直接未做充分测试就替换现有核心业务系统。网上搜索风哥教程可以学习全套数据库教程

1.2 单机数据库操作系统核心约束

单机数据库虽然没有RAC集群节点互联需求,但操作系统配置对数据库稳定性起到决定性的作用。

  1. 内存与Swap:单台主机物理内存64G,Oracle分配SGA+PGA合计48G;按照Oracle官方规范,物理内存大于16GB时swap设置16GB;vm.swappiness建议设置10,尽可能减少swap交换抖动,swap频繁交换会直接引发数据库性能剧烈抖动。
  2. 透明大页Transparent HugePages:Oracle强烈建议关闭透明大页,透明大页会带来内存分配延迟,引发数据库业务随机性能抖动。
  3. 资源限制limits.conf:oracle用户的nofile、nproc、stack限制不足,数据库高并发业务场景会报ORA‑27104ORA‑24920等错误,导致新连接无法创建。
  4. 时间同步chrony:单机环境同样需要统一时间;RMAN备份恢复、LogMiner日志挖掘、闪回查询、AWR时间统计全部依赖系统时间准确性,禁止主机同时启用多套NTP服务,避免时间跳变。
  5. 文件系统权限ORACLE_BASEORACLE_HOME目录所有者必须为oracle:oinstall;oraInventory全局库存目录权限一旦被破坏,后续补丁、版本升级操作会直接失败。风哥数据库教程 itpux‑com

1.3 Oracle OFA目录结构理论说明(两套环境统一规范)

  1. ORACLE_BASE/fgedudb/app/oracle,软件根目录,存放告警日志、trace诊断trace文件、快速恢复区FRA;
  2. ORACLE_HOME/fgedudb/app/oracle/product/19.0.0/dbhome_1(19c);/fgedudb/app/oracle/product/26.0.0/dbhome_1(26ai),数据库二进制可执行程序目录;不同大版本数据库使用独立home目录。
  3. oraInventory/fgedudb/app/oraInventory,Oracle全局软件库存,记录主机上面所有安装过的Oracle软件home信息;补丁、升级流程会读取该库存,该目录权限不可被随意修改、删除。
  4. 数据文件目录/fgedudb/oradata/fgedudb,存放CDB、PDB数据文件、redo联机日志、控制文件;
  5. 快速恢复区FRA/fgedudb/fast_recovery_area/fgedudb,归档日志、RMAN备份集、闪回日志存放目录。

生产规范:软件目录与数据文件目录尽量部署在不同物理磁盘,防止数据磁盘占满同时把软件目录写满,导致数据库无法正常运行。网上搜索风哥教程可以学习全套数据库教程

1.4 OPatch、RU、RUR补丁体系理论

  1. RU Release Update:季度更新补丁,包含BUG修复、安全漏洞修复;单机环境打RU补丁需要关闭数据库实例与监听,属于停机补丁操作。
  2. RUR Release Update Revision:RU的月度小修订补丁,基于对应RU版本之上做问题修复。
  3. OPatch:Oracle二进制补丁工具,操作ORACLE_HOME二进制文件;opatch lsinventory命令查看已经安装补丁清单。
  4. datapatch工具:二进制补丁应用完成之后,datapatch负责执行数据库内部数据字典升级;CDB容器环境会自动遍历所有PDB执行补丁脚本;单机打完RU补丁,必须执行datapatch,补丁才完整生效,只替换二进制不执行datapatch会出现字典与二进制版本不一致,引发大量ORA报错
  5. 补丁回退opatch rollback可以回退已经应用的RU补丁,回退完成之后同样需要再次运行datapatch回退字典变更。

重要风险提示:不要直接拷贝其他主机的ORACLE_HOME目录,oraInventory库存信息会不一致,后续补丁升级会出现严重异常;补丁操作前务必备份ORACLE_HOME目录,同时做数据库全量RMAN备份,保留完整回退手段。

1.5 CDB与PDB单机容器数据库概念

Oracle19c、26ai默认创建CDB容器数据库:CDBROOT(ROOT根容器,PDB)PDBROOT(ROOT根容器,PDB)PDBSEED种子PDB,可以创建业务PDBfgedu_pdb;业务用户fgedu创建在PDB内部。单机单实例环境不使用GI集群件,ASM存储属于可选项,本教程两套环境全部使用文件系统存储演示。

1.6 部署上线前验收关键点

部署完成不能仅仅验证数据库可以启动;需要核查内核参数、资源限制、补丁版本、数据库无效对象、监听状态、字符集、系统时间、告警日志无ORA报错;归档、闪回、备份策略完成配置,才算完整部署完成。 上51CTO搜索风哥可以学习全套数据库教程

二、实战操作演练

说明: 环境一:fgedu‑net‑cn1主机,RHEL8 + Oracle19c单机,64G内存8CPU,SID=fgedudb; 环境二:fgedu‑net‑cn2主机,RHEL9 + Oracle26ai单机(zip传统介质,不使用Gold Image),64G内存8CPU,SID=fgedudb; 操作系统配置全部root用户执行;数据库软件部署、数据库操作使用oracle用户;两套环境操作完全独立,互不影响。

第一部分 环境一:Oracle19c单机 RHEL8 完整部署

2.1 操作系统环境校验与标准化配置(主机fgedu‑net‑cn1 root用户执行)

2.1.1 硬件环境检查

#确认主机名称
hostname
#确认内存、CPU资源,64G内存,8逻辑CPU
free -h
lscpu
#操作系统版本确认
cat /etc/redhat‑release
#查看swap分区
cat /proc/swaps
#确认透明大页状态
cat /sys/kernel/mm/transparent_hugepage/enabled
#chrony时间同步状态
chronyc sources

校验输出:hostname输出fgedu‑net‑cn1,总内存64G,逻辑CPU数量8颗。

2.1.2 安装oracle预安装rpm包

yum install -y oracle‑database‑preinstall‑19c

该预安装rpm会自动完成部分内核参数、用户组、资源限制基础配置,后续我们再手工微调参数适配64G内存8CPU生产规格。

2.1.3 创建操作系统用户与用户组

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 asmadmin
groupadd -g 54326 asmdba
groupadd -g 54327 asmoper

useradd -u 54321 -g oinstall -G dba,oper,asmdba oracle
echo "oracle" | passwd --stdin oracle

2.1.4 创建全套OFA规范目录

mkdir -p /fgedudb/app/oracle
mkdir -p /fgedudb/app/oracle/product/19.0.0/dbhome_1
mkdir -p /fgedudb/app/oraInventory
mkdir -p /fgedudb/oradata/fgedudb
mkdir -p /fgedudb/fast_recovery_area/fgedudb
mkdir -p /fgedudb/media
chown -R oracle:oinstall /fgedudb
chmod -R 775 /fgedudb

2.1.5 内核参数配置 /etc/sysctl.conf

追加下面参数,适配64G内存8CPU生产规格

cat >> /etc/sysctl.conf <<EOF
fs.aio‑max‑nr=1048576
fs.file‑max=6815744
kernel.sem=250 32000 100 128
kernel.shmmni=4096
kernel.shmall=8388608
kernel.shmmax=34359738368
net.ipv4.ip_local_port_range=9000 65500
net.rmem_default=262144
net.wmem_default=262144
net.rmem_max=4194304
net.wmem_max=4194304
net.core.rmem_max=4194304
net.core.wmem_max=4194304
vm.swappiness=10
EOF
sysctl -p

2.1.6 用户资源限制配置 /etc/security/limits.conf

cat >> /etc/security/limits.conf <<EOF
oracle soft nofile 10240
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
EOF

2.1.7 关闭透明大页,chrony时间同步配置

#关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
#写入grub配置永久关闭,重启生效
grubby --update‑kernel‑args=transparent_hugepage=never

#chrony时间同步
systemctl enable --now chronyd
chronyc -a burst 4/4

#防火墙、selinux配置
systemctl disable firewalld
systemctl stop firewalld
sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
setenforce 0

2.1.8 oracle用户环境变量配置

切换oracle用户,编辑~/.bash_profile

su - oracle
cat >> ~/.bash_profile <<'EOF'
export ORACLE_BASE=/fgedudb/app/oracle
export ORACLE_HOME=/fgedudb/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=fgedudb
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
EOF
source ~/.bash_profile
echo $ORACLE_HOME

2.2 Oracle19c二进制软件zip介质静默部署(oracle用户)

把LINUX.X64_193000_db_home.zip介质上传至/fgedudb/media

su - oracle
cd /fgedudb/media
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
cd $ORACLE_HOME
#执行安装前预检查
./runInstaller -executePrereqs

预检查输出修复全部ERROR级别的报错;预检查通过后执行静默软件安装。

./runInstaller -silent -ignorePrereq \
ORACLE_BASE=/fgedudb/app/oracle \
ORACLE_HOME=/fgedudb/app/oracle/product/19.0.0/dbhome_1 \
oracle.install.option=INSTALL_DB_SWONLY \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSOPER_GROUP=oper \
oracle.install.db.OSBACKUPDBA_GROUP=dba \
oracle.install.db.OSDGDBA_GROUP=dba \
oracle.install.db.OSKMDBA_GROUP=dba \
oracle.install.db.OSRACDBA_GROUP=dba \
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0

软件安装结束,切换root用户执行两个root脚本

su - root
/fgedudb/app/oracle/product/19.0.0/dbhome_1/root.sh
/fgedudb/app/oraInventory/orainstRoot.sh

2.3 配置监听,DBCA静默创建CDB/PDB数据库(oracle用户)

2.3.1 netca静默配置监听

su - oracle
netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp

验证监听状态

lsnrctl status

2.3.2 dbca静默创建CDB容器数据库,创建业务PDB fgedu_pdb

dbca -silent -createDatabase \
‑templateName General_Purpose.dbc \
‑gdbName fgedudb ‑sid fgedudb \
‑characterSet AL32UTF8 \
‑sysPassword fgedudb ‑systemPassword fgedudb \
‑createAsContainerDatabase true \
‑numberOfPDBs 1 \
‑pdbName fgedu_pdb \
‑pdbAdminPassword fgedudb \
‑databaseType MULTIPURPOSE \
‑memoryMgmtType auto_sga \
‑totalMemory 49152 \
‑storageType FS \
‑datafileDestination "/fgedudb/oradata/fgedudb" \
‑redoLogFileSize 200 \
‑recoveryAreaDestination "/fgedudb/fast_recovery_area/fgedudb" \
‑emConfiguration NONE

totalMemory设置49152MB,对应48G内存,适配64G主机硬件规格。网上搜索风哥教程可以学习全套数据库教程

2.3.3 数据库基础登录验证,PDB打开与保存状态

sqlplus / as sysdba
show pdbs;
alter pluggable database all open;
alter pluggable database all save state;
--切换PDB,创建业务用户fgedu
alter session set container=fgedu_pdb;
create user fgedu identified by fgedudb default tablespace users temporary tablespace temp;
grant connect,resource,select_catalog_role to fgedu;
alter session set container=cdb$root;
exit;

2.4 Oracle19c单机数据库后期配置操作

2.4.1 数据库启停脚本示例

#启动数据库
sqlplus / as sysdba <<EOF
startup;
exit;
EOF
lsnrctl start

#停止数据库
sqlplus / as sysdba <<EOF
shutdown immediate;
exit;
EOF
lsnrctl stop

2.4.2 开启归档模式,开启闪回数据库

sqlplus / as sysdba
shutdown immediate;
startup mount;
alter database archivelog;
alter database flashback on;
alter database open;
--查看归档状态
archive log list;
select flashback_on from v$database;
exit;

2.4.3 查看数据库告警日志位置

select value from v$diag_info where name='Diag Trace';

2.5 Oracle19c RU补丁完整实操流程(停机打补丁)

重要:打补丁前做全库RMAN备份,备份ORACLE_HOME目录;关闭监听、关闭数据库实例。

  1. 上传RU补丁介质到/fgedudb/media/patch
  2. 升级OPatch工具版本;
su - oracle
cd /fgedudb/media/patch
unzip p6880880_190000_Linux‑x86‑64.zip -d $ORACLE_HOME
cd $ORACLE_HOME/OPatch
./opatch version
  1. 关闭数据库与监听
lsnrctl stop
sqlplus / as sysdba <<EOF
shutdown immediate;
exit;
EOF
  1. 解压RU补丁包,执行补丁预检查
cd /fgedudb/media/patch
unzip p37642901_190000_Linux‑x86‑64.zip
cd $ORACLE_HOME/OPatch
./opatch prereq CheckConflictAgainstOHWithDetail -ph /fgedudb/media/patch/37642901

预检查无冲突,执行opatch apply应用二进制补丁

./opatch apply /fgedudb/media/patch/37642901
  1. 补丁二进制应用完成,启动监听、启动数据库实例
lsnrctl start
sqlplus / as sysdba <<EOF
startup;
exit;
EOF
  1. 执行datapatch完成数据字典补丁升级
cd $ORACLE_HOME/OPatch
./datapatch -verbose
  1. 编译无效对象
sqlplus / as sysdba
@?/rdbms/admin/utlrp.sql
select owner,object_name,object_type,status from dba_objects where status='INVALID';
exit;
  1. 查看已经安装补丁清单
cd $ORACLE_HOME/OPatch
./opatch lsinventory

2.5.1 RU补丁回退实操(出现异常时执行)

lsnrctl stop
sqlplus / as sysdba <<EOF
shutdown immediate;
exit;
EOF
cd $ORACLE_HOME/OPatch
./opatch rollback -id 37642901
lsnrctl start
sqlplus / as sysdba <<EOF
startup;
exit;
EOF
cd $ORACLE_HOME/OPatch
./datapatch -verbose
@?/rdbms/admin/utlrp.sql

风哥数据库教程 itpux‑com

第二部分 环境二:Oracle26ai单机 RHEL9完整部署(主机fgedu‑net‑cn2,传统zip介质,不使用Gold Image)

主机fgedu‑net‑cn2,RHEL9,64G内存8CPU,完全独立环境,不依赖19c环境。

2.6 操作系统环境校验与标准化配置(root用户)

2.6.1硬件、操作系统基础检查

hostname
free -h
lscpu
cat /etc/redhat‑release
cat /proc/swaps
cat /sys/kernel/mm/transparent_hugepage/enabled
chronyc sources

输出hostname为fgedu‑net‑cn2,总内存64G,逻辑CPU8颗。

2.6.2 安装Oracle26ai预安装rpm包

dnf install -y oracle‑ai‑database‑preinstall‑26ai

2.6.3 创建操作系统用户与用户组

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 asmadmin
groupadd -g 54326 asmdba
groupadd -g 54327 asmoper

useradd -u 54321 -g oinstall -G dba,oper,asmdba oracle
echo "oracle" | passwd --stdin oracle

2.6.4 OFA目录创建

mkdir -p /fgedudb/app/oracle
mkdir -p /fgedudb/app/oracle/product/26.0.0/dbhome_1
mkdir -p /fgedudb/app/oraInventory
mkdir -p /fgedudb/oradata/fgedudb
mkdir -p /fgedudb/fast_recovery_area/fgedudb
mkdir -p /fgedudb/media
chown -R oracle:oinstall /fgedudb
chmod -R 775 /fgedudb

2.6.5 RHEL9内核参数配置 /etc/sysctl.conf

cat >> /etc/sysctl.conf <<EOF
fs.aio‑max‑nr=1048576
fs.file‑max=6815744
kernel.sem=250 32000 100 128
kernel.shmmni=4096
kernel.shmall=8388608
kernel.shmmax=34359738368
net.ipv4.ip_local_port_range=9000 65500
net.rmem_default=262144
net.wmem_default=262144
net.rmem_max=4194304
net.wmem_max=4194304
net.core.rmem_max=4194304
net.core.wmem_max=4194304
vm.swappiness=10
EOF
sysctl -p

2.6.6 limits.conf资源限制、关闭透明大页、chrony时间同步

cat >> /etc/security/limits.conf <<EOF
oracle soft nofile 10240
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
EOF

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
grubby --update‑kernel‑args=transparent_hugepage=never

systemctl enable --now chronyd
chronyc -a burst 4/4
systemctl disable firewalld
systemctl stop firewalld
sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
setenforce 0

2.6.7 oracle用户环境变量配置

su - oracle
cat >> ~/.bash_profile <<'EOF'
export ORACLE_BASE=/fgedudb/app/oracle
export ORACLE_HOME=/fgedudb/app/oracle/product/26.0.0/dbhome_1
export ORACLE_SID=fgedudb
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
EOF
source ~/.bash_profile
echo $ORACLE_HOME

2.7 Oracle26ai传统zip介质软件部署(不使用Gold Image)

上传26ai db_home.zip介质到/fgedudb/media

su - oracle
cd /fgedudb/media
unzip LINUX.X64_260000_db_home.zip -d $ORACLE_HOME
cd $ORACLE_HOME
./runInstaller -executePrereqs

修复预检查报错,执行静默软件安装

./runInstaller -silent -ignorePrereq \
ORACLE_BASE=/fgedudb/app/oracle \
ORACLE_HOME=/fgedudb/app/oracle/product/26.0.0/dbhome_1 \
oracle.install.option=INSTALL_DB_SWONLY \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSOPER_GROUP=oper

软件安装完成切换root执行root脚本

su - root
/fgedudb/app/oracle/product/26.0.0/dbhome_1/root.sh
/fgedudb/app/oraInventory/orainstRoot.sh

2.8 Oracle26ai监听配置、DBCA静默创建CDB/PDB数据库

su - oracle
netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
lsnrctl status

dbca静默建库,总内存48G

dbca -silent -createDatabase \
‑templateName General_Purpose.dbc \
‑gdbName fgedudb ‑sid fgedudb \
‑characterSet AL32UTF8 \
‑sysPassword fgedudb ‑systemPassword fgedudb \
‑createAsContainerDatabase true \
‑numberOfPDBs 1 \
‑pdbName fgedu_pdb \
‑pdbAdminPassword fgedudb \
‑databaseType MULTIPURPOSE \
‑memoryMgmtType auto_sga \
‑totalMemory 49152 \
‑storageType FS \
‑datafileDestination "/fgedudb/oradata/fgedudb" \
‑redoLogFileSize 200 \
‑recoveryAreaDestination "/fgedudb/fast_recovery_area/fgedudb" \
‑emConfiguration NONE

2.8.1 26ai数据库初始化验证,创建业务用户

sqlplus / as sysdba
show pdbs;
alter pluggable database all open;
alter pluggable database all save state;
alter session set container=fgedu_pdb;
create user fgedu identified by fgedudb default tablespace users temporary tablespace temp;
grant connect,resource,select_catalog_role to fgedu;
alter session set container=cdb$root;
--开启归档、闪回
shutdown immediate;
startup mount;
alter database archivelog;
alter database flashback on;
alter database open;
archive log list;
exit;

2.9 Oracle26ai补丁简要说明

Oracle26ai虽然官方主推Gold Image镜像,本教程zip传统介质依然支持opatch就地打RU补丁;操作流程大体与19c保持一致,但部分opatch参数有变更,打补丁前务必阅读对应版本RU的README说明文档;补丁完成同样必须执行datapatch。网上搜索风哥教程可以学习全套数据库教程

2.10 单机数据库上线验收检查清单

两套环境部署完成之后,需要执行下面全套检查,确认部署合格,可以进入测试或者生产使用。

  1. 操作系统层面:hostname正确,内存CPU识别正确,swap配置合理,透明大页关闭,chrony时间同步正常;sysctl内核参数、limits资源限制核对无误;
  2. Oracle软件:opatch lsinventory核对补丁版本;oraInventory目录权限正确;环境变量配置正确;
  3. 数据库层面:监听正常启动;数据库实例正常open;所有PDB open;PDB save state配置;字符集AL32UTF8;
  4. 归档模式开启,FRA快速恢复区配置正常;闪回数据库按需开启;
  5. 告警日志检查,无持续ORA错误;查询无效对象,编译完成;
  6. 业务用户fgedu可以正常登录PDB,执行简单查询;
  7. 启停脚本测试,数据库可以正常shutdown immediate、startup;
  8. 完成一次RMAN全库备份,备份集验证可用;
  9. 记录版本信息,编写部署文档,记录回退方案。

2.11 部署阶段高频报错故障分析

  1. runInstaller预检查报错:缺少系统包、内核参数不达标,按照输出修复;RHEL8/9优先使用oracle‑database‑preinstall‑19c / oracle‑ai‑database‑preinstall‑26ai预安装rpm;
  2. dbca建库失败:目录权限不对,磁盘空间不足;查看$ORACLE_HOME/cfgtoollogs/dbca下面日志定位;
  3. 监听无法启动:/etc/hosts主机名解析异常;
  4. datapatch执行报错:数据库没有完全open;二进制补丁版本和数据库版本不匹配;查看datapatch输出日志;
  5. opatch apply补丁冲突:执行opatch prereq预检查,根据MOS文档处理补丁冲突;
  6. PDB重启后mount:没有执行alter pluggable database xxx save state;保存PDB状态。 上51CTO搜索风哥可以学习全套数据库教程

三、风哥针对本文总结

本套风哥教程完整完成两套独立单机环境实战:第一套Oracle19c部署于RHEL8主机fgedu‑net‑cn1,第二套Oracle26ai(传统zip介质,不使用Gold Image)部署于RHEL9主机fgedu‑net‑cn2;覆盖OFA目录规范、操作系统内核参数、资源限制、时间同步、透明大页关闭、zip介质软件静默部署、netca监听配置、DBCA静默创建CDB/PDB容器数据库、归档闪回配置、RU补丁完整流程、datapatch字典升级、补丁回退、上线验收清单与部署阶段故障分析。

  1. Oracle19c作为成熟LTS版本,适合核心生产业务;Oracle26ai为新一代AI数据库,本教程采用传统zip介质部署,不使用官方主推Gold Image镜像,适合技术预研;两套单机环境硬件规格均按照64G内存8CPU配置,SGA+PGA合计分配48G内存。
  2. 操作系统配置是数据库稳定运行根基,swap、vm.swappiness、透明大页、limits.conf资源限制、chrony时间同步是重中之重;透明大页必须关闭,否则会带来随机性能抖动;时间同步异常会导致AWR、闪回、RMAN备份恢复功能异常。
  3. OFA目录规范需要严格遵守,oraInventory全局库存目录权限不能随意修改删除,一旦损坏,后续补丁、升级操作会直接失败;禁止直接拷贝其他主机ORACLE_HOME目录来迁移软件。
  4. RU季度补丁属于停机补丁,单机打补丁完整流程:升级opatch版本→关闭数据库与监听→opatch apply应用二进制补丁→启动数据库→执行datapatch完成数据字典升级→编译无效对象;datapatch步骤不可省略,否则二进制版本和数据库字典版本不一致,会出现大量ORA异常报错;补丁前务必备份ORACLE_HOME目录,同时做数据库RMAN全量备份,保留完整回退手段。
  5. CDB/PDB容器架构单机环境,PDB实例重启后默认mount,必须执行alter pluggable database xxx save state;保存状态,实例重启PDB自动open;业务用户应当创建在业务PDB内部,不建议在CDB$ROOT根容器创建业务应用账号。
  6. 数据库部署完成不等于项目结束,必须执行上线完整验收清单,核查操作系统、软件、数据库、告警日志、备份可用性;不能仅仅只验证数据库可以启动;上线前完整演练启停操作,记录回退方案。
  7. Oracle26ai虽然支持传统zip介质部署,但官方生产环境优先推荐Gold Image镜像模式;传统zip模式适合测试、预研,生产上线前仔细阅读对应版本RU补丁的README文档,26ai部分opatch行为对比19c存在细微差异。
  8. 本套风哥教程两套单机环境,为后续DG容灾、数据迁移、性能调优打下基础;全部shell与SQL脚本建议读者在两套独立测试主机完整复现,理解部署与补丁风险,之后再应用到真实项目实施工作。
0
0
0
0
评论
未登录
暂无评论