首页主机资讯Oracle配置在CentOS上如何高效实施

Oracle配置在CentOS上如何高效实施

时间2025-12-06 00:45:03发布访客分类主机资讯浏览493
导读:高效落地方案总览 目标:在CentOS 7/8上以最少人工干预完成Oracle 19c/21c部署,兼顾性能与安全。 推荐路径:优先采用RPM一键安装 + 响应文件静默建库;图形化仅用于验证或小规模环境。 关键动作:预检与依赖、内核与资源...

高效落地方案总览

  • 目标:在CentOS 7/8上以最少人工干预完成Oracle 19c/21c部署,兼顾性能与安全。
  • 推荐路径:优先采用RPM一键安装 + 响应文件静默建库;图形化仅用于验证或小规模环境。
  • 关键动作:预检与依赖、内核与资源限制、目录与权限、响应文件模板化、root脚本自动化、监听与DBCA静默、服务化与备份基线。

一、环境与前置准备

  • 系统与介质
    • 选择CentOS 7/8 x86_64;Oracle提供RPMZIP(dbhome)两种介质,二者均可静默化。生产建议19c(LTS),如需新特性可用21c
  • 预检与依赖
    • 安装常用工具与驱动:binutils、compat-libcap1、compat-libstdc+±33、gcc/gcc-c++、glibc/glibc-devel、ksh、libaio/libaio-devel、libgcc、libstdc++/libstdc+±devel、make、sysstat、unixODBC/unixODBC-devel、elfutils-libelf-devel、fontconfig-devel、libXrender-devel、net-tools、smartmontools
    • 可选:安装oracle-rdbms-server-12cR1-preinstall(自动做内核参数与用户/目录预设,仍需人工复核)。
  • 资源基线
    • 内存至少2GB(生产建议更高),可用磁盘≥10GBSwap不足时按需扩容(如创建16GB交换文件)。
  • 安全策略
    • 测试环境可临时关闭firewalld/SELinux;生产环境建议保留并仅放行1521/TCP(数据库监听)与5500/TCP(EM Express,如启用)。

二、标准化安装流程

  • 创建用户与目录
    • 用户/组:groupadd oinstall & & groupadd dba(可按需补充asmdba、backupdba、dgdba、kmdba、racdba、oper);useradd -g oinstall -G dba oracle
    • 目录:建议基目录**/u01/app/oracle/opt/oracle**;创建product/19.3.0/dbhome_1(或21.3.0)oradatafast_recovery_areaoraInventory并赋权oracle:oinstall
  • 内核与资源限制
    • /etc/sysctl.conf(示例,按内存调优kernel.shmmax):
      • fs.aio-max-nr = 1048576
      • fs.file-max = 6815744
      • kernel.shmall = 2097152
      • kernel.shmmax = 4294967295(或物理内存一半,单位Byte)
      • kernel.shmmni = 4096
      • kernel.sem = 250 32000 100 128
      • net.ipv4.ip_local_port_range = 9000 65500
      • net.core.rmem_default = 262144;net.core.rmem_max = 4194304
      • net.core.wmem_default = 262144;net.core.wmem_max = 1048576
      • 执行:sysctl -p 生效。
    • /etc/security/limits.conf(oracle用户):
      • oracle soft nproc 16384;oracle hard nproc 16384
      • oracle soft nofile 1024;oracle hard nofile 65536
      • oracle soft stack 10240;oracle hard stack 32768
      • oracle soft/hard memlock 3145728
  • 环境变量(oracle用户)
    • export ORACLE_BASE=/u01/app/oracle
    • export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
    • export ORACLE_SID=orcl
    • export ORACLE_UNQNAME=orcl
    • export PATH=$ORACLE_HOME/bin:$PATH
    • export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    • export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
  • 安装方式
    • RPM方式(19c/21c均可用)
      • 安装:rpm -ivh oracle-database-ee-21c-1.0-1.ol7.x86_64.rpm
      • 建库:/etc/init.d/oracledb_ORCLCDB-21c configure(按提示完成CDB/PDB初始化与监听)。
    • ZIP方式(19c/21c均可用)
      • 解压:unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
      • 静默装软件:复制并编辑$ORACLE_HOME/install/response/db_install.rsp,关键项:
        • oracle.install.option=INSTALL_DB_SWONLY
        • UNIX_GROUP_NAME=oinstall
        • ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
        • ORACLE_BASE=/u01/app/oracle
        • oracle.install.db.InstallEdition=EE
        • oracle.install.db.OSDBA_GROUP=dba
        • oracle.install.db.rootconfig.executeRootScript=false
      • 执行:./runInstaller -silent -responseFile /path/db_install.rsp
      • 以root执行提示的orainstRoot.shroot.sh

三、静默建库与网络配置

  • 监听(NETCA静默)
    • 复制并编辑$ORACLE_HOME/assistants/netca/netca.rsp,常用项:
      • INSTALL_TYPE=Typical
      • LISTENER_NUMBER=1
      • LISTENER_NAMES={ “LISTENER”}
      • LISTENER_PROTOCOLS={ “TCP; 1521”}
      • LISTENER_START=LISTENER
    • 执行:netca -silent -responseFile /path/netca.rsp
  • 建库(DBCA静默)
    • 复制并编辑$ORACLE_HOME/assistants/dbca/dbca.rsp,关键项:
      • gdbName=orcl
      • sid=orcl
      • databaseConfigType=SI
      • templateName=General_Purpose.dbc
      • sysPassword=YourStrong!Passw0rd
      • systemPassword=YourStrong!Passw0rd
      • emExpressPort=5500
      • datafileDestination=/u01/app/oracle/oradata
      • recoveryAreaDestination=/u01/app/oracle/fast_recovery_area
      • characterSet=AL32UTF8
    • 执行:dbca -silent -createDatabase -responseFile /path/dbca.rsp
  • 验证
    • 监听:lsnrctl status(应见1521端口与LISTENER
    • 实例:sqlplus / as sysdbaSELECT name, open_mode FROM v$database; SELECT * FROM v$version;

四、高效运维与常见坑

  • 服务化与自启
    • 建议将启停封装为脚本并注册系统服务(如/etc/init.d/oracle或systemd unit),实现start|stop|status与开机自启,便于标准化交付与批量执行。
  • RPM方式权限修复
    • /etc/init.d/oracledb_* configureoradism权限/属主异常,执行随软件包提供的root.sh修复;该文件应具备setuid root特性(常见为-rwsr-x--- 1 root oinstall)。
  • 常见报错速解
    • ORA-00845:共享内存不足,调大kernel.shmmax并重启;
    • swap不足:创建16GB交换文件并启用;
    • 安装界面乱码:设置LANG=CNLS_LANG=AMERICAN_AMERICA.AL32UTF8
    • 依赖缺失:按前述依赖清单补齐,必要时安装oracle-rdbms-server-12cR1-preinstall再复核。
  • 日志与诊断
    • 安装日志:/u01/app/oraInventory/logs/installActions*.log
    • 监听日志:$ORACLE_HOME/diag/tnslsnr/< listener> /trace/*.trc
    • 数据库告警:$ORACLE_BASE/diag/rdbms/< dbname> /< inst> /trace/alert_< inst> .log
    • 使用ADR/EM进行性能与故障诊断。

五、一键化与参数模板

  • 建议将以下要素模板化并纳入代码仓库:
    • db_install.rsp / netca.rsp / dbca.rsp(含实例名、字符集、端口、目录、口令策略占位符)
    • limits.conf / sysctl.conf 片段
    • oracle用户 .bash_profile 环境变量
    • 启停脚本systemd unit
    • 安装与建库SOP(含root脚本执行顺序、验证命令清单)
  • 通过CI/CD或Ansible批量渲染与执行,实现分钟级标准化交付与可重复回放。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Oracle配置在CentOS上如何高效实施
本文地址: https://pptw.com/jishu/765346.html
如何解决centos上minio的故障 CentOS环境下如何优化Oracle性能

游客 回复需填写必要信息