Oracle19c在Redhat7上的完整安装指南:从环境配置到数据库创建

张开发
2026/4/19 8:55:10 15 分钟阅读

分享文章

Oracle19c在Redhat7上的完整安装指南:从环境配置到数据库创建
Oracle19c企业级部署实战Red Hat 7全流程深度配置手册在当今数据驱动的商业环境中Oracle数据库依然是企业级应用的首选解决方案之一。Oracle19c作为长期支持版本以其卓越的性能和稳定性赢得了众多企业的青睐。本文将带领系统管理员和DBA完成从操作系统准备到数据库创建的全过程特别针对Red Hat Enterprise Linux 7环境进行了优化调整。1. 系统环境深度预配置1.1 操作系统基础调优在开始安装前必须对Red Hat 7进行全面的性能优化。以下关键配置直接影响Oracle19c的运行效率# 禁用透明大页面THP以提高内存管理效率 echo never /sys/kernel/mm/transparent_hugepage/enabled echo never /sys/kernel/mm/transparent_hugepage/defrag # 永久禁用THP cat /etc/rc.local EOF if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never /sys/kernel/mm/transparent_hugepage/defrag fi EOF chmod x /etc/rc.local关键内核参数配置表参数推荐值作用说明kernel.shmmax物理内存的50%定义单个共享内存段最大尺寸kernel.shmall物理内存/页大小系统级共享内存页总数fs.file-max6815744系统最大文件句柄数net.core.rmem_max4194304接收窗口最大值net.ipv4.ip_local_port_range9000-65500本地端口范围提示执行sysctl -p使修改立即生效建议重启后验证参数是否持久化1.2 安全策略与依赖包管理企业环境中安全与功能需要平衡# SELinux策略调整生产环境需谨慎 setenforce 0 sed -i s/SELINUXenforcing/SELINUXpermissive/g /etc/selinux/config # 防火墙例外配置最小化开放原则 firewall-cmd --permanent --add-port1521/tcp firewall-cmd --reload # 必备软件包安装使用本地yum源加速 yum install -y oracle-database-preinstall-19c \ compat-libstdc-33 \ libaio-devel \ elfutils-libelf-devel2. 存储架构与权限规划2.1 最优目录结构设计Oracle推荐的标准目录结构应遵循OFA(Optimal Flexible Architecture)规范/u01 ├── app │ ├── oracle │ │ ├── admin # 管理文件 │ │ ├── cfgtoollogs # 配置工具日志 │ │ ├── diag # 诊断日志 │ │ ├── product │ │ │ └── 19.3.0 │ │ │ └── dbhome_1 # ORACLE_HOME │ │ └── oradata # 数据文件 ├── scripts # 维护脚本 └── stage # 安装介质权限设置命令示例mkdir -p /u01/app/oracle/product/19.3/dbhome_1 chown -R oracle:oinstall /u01 chmod -R 775 /u012.2 用户环境精准配置oracle用户的.bash_profile应包含以下核心变量# Oracle基础环境 umask 022 export ORACLE_BASE/u01/app/oracle export ORACLE_HOME$ORACLE_BASE/product/19.3/dbhome_1 export ORACLE_SIDPRODCDB # 多租户环境专用变量 export ORACLE_PDB_SIDPRODPDB # PATH优化 export PATH$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH$ORACLE_HOME/lib:/usr/lib # 字符集与语言设置 export NLS_LANGAMERICAN_AMERICA.AL32UTF8 export NLS_DATE_FORMATYYYY-MM-DD HH24:MI:SS3. 软件安装进阶技巧3.1 静默安装实战对于自动化部署场景静默安装是更高效的选择# 解压安装包 unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME # 准备响应文件模板 cp $ORACLE_HOME/install/response/db_install.rsp /tmp/ # 关键参数修改 sed -i s/oracle.install.option/oracle.install.optionINSTALL_DB_SWONLY/ /tmp/db_install.rsp sed -i s|ORACLE_HOME|ORACLE_HOME$ORACLE_HOME| /tmp/db_install.rsp sed -i s|ORACLE_BASE|ORACLE_BASE$ORACLE_BASE| /tmp/db_install.rsp # 执行静默安装 $ORACLE_HOME/runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereqFailure安装后必须执行root脚本/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.3/dbhome_1/root.sh3.2 常见依赖问题解决方案依赖包问题排查表错误现象缺失包解决方案libaio.so.1缺失libaio-develyum install libaio-devel链接失败binutils升级至最新版本图形界面错误libXextyum groupinstall X Window System内存不足-增加swap空间4. 数据库创建与多租户管理4.1 DBCA高级配置使用Database Configuration Assistant创建容器数据库dbca -silent \ -createDatabase \ -templateName General_Purpose.dbc \ -gdbname PRODCDB \ -sid PRODCDB \ -createAsContainerDatabase true \ -numberOfPDBs 1 \ -pdbName PRODPDB \ -pdbAdminPassword OraPass123 \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -totalMemory 4096 \ -storageType FS \ -datafileDestination /u01/app/oracle/oradata \ -enableArchive true \ -recoveryAreaDestination /u01/app/oracle/fast_recovery_area \ -recoveryAreaSize 10240 \ -sampleSchema false关键参数说明-totalMemory自动内存管理总量-enableArchive启用归档模式生产环境必须-sampleSchema是否安装示例Schema安全环境建议禁用4.2 多租户核心操作PDB生命周期管理命令集-- 查看当前容器 SHOW CON_NAME -- PDB启动/停止 ALTER PLUGGABLE DATABASE PRODPDB OPEN; ALTER PLUGGABLE DATABASE PRODPDB CLOSE IMMEDIATE; -- 切换容器 ALTER SESSION SET CONTAINERPRODPDB; -- 创建新PDB CREATE PLUGGABLE DATABASE SALESPDB ADMIN USER pdbadmin IDENTIFIED BY ComplexPwd123 FILE_NAME_CONVERT(/u01/app/oracle/oradata/PRODCDB/pdbseed/, /u01/app/oracle/oradata/PRODCDB/salespdb/);5. 生产环境优化配置5.1 网络服务强化配置监听器增强可用性# 修改listener.ora增加冗余 LISTENER (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST dbprimary)(PORT 1521)) (ADDRESS (PROTOCOL TCP)(HOST dbstby)(PORT 1521)) ) ) # TNSNAMES多路径配置 PROD (DESCRIPTION (LOAD_BALANCE ON) (FAILOVER ON) (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST dbprimary)(PORT 1521)) (ADDRESS (PROTOCOL TCP)(HOST dbstby)(PORT 1521)) ) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME PRODCDB) ) )5.2 自动化维护脚本数据库启动/停止服务脚本示例#!/bin/bash # /etc/init.d/oracle # chkconfig: 345 99 10 case $1 in start) su - oracle -c $ORACLE_HOME/bin/dbstart $ORACLE_HOME ;; stop) su - oracle -c $ORACLE_HOME/bin/dbshut $ORACLE_HOME ;; restart) $0 stop $0 start ;; esac注册为系统服务chmod 755 /etc/init.d/oracle chkconfig --add oracle chkconfig oracle on6. 企业级监控与排错6.1 健康检查指标关键监控指标表类别检查项阈值参考检查命令空间表空间使用率80%SELECT tablespace_name FROM dba_tablespaces性能活动会话数CPU核心数*2SELECT count(*) FROM v$session WHERE statusACTIVE可用性归档日志空间20%空闲SELECT * FROM v$recovery_file_dest安全失败登录尝试5次/小时SELECT * FROM dba_audit_trail6.2 诊断日志分析Oracle日志体系关键路径# 告警日志 $ORACLE_BASE/diag/rdbms/$ORACLE_SID/trace/alert_$ORACLE_SID.log # 监听日志 $ORACLE_HOME/network/log/listener.log # AWR报告生成 sqlplus / as sysdba ?/rdbms/admin/awrrpt.sql典型错误排查流程检查alert日志时间戳附近的错误确认操作系统资源状态内存、磁盘、CPU验证数据库进程状态ps -ef | grep ora_检查监听状态lsnrctl status必要时收集AWR/ASH报告分析性能瓶颈

更多文章