温馨提示×

oracle数据库centos配置技巧有哪些

小樊
43
2025-12-07 13:47:16
栏目: 云计算

CentOS 上 Oracle 数据库配置技巧

一 系统准备与基础检查

  • 资源基线:内存至少2 GB(建议4 GB+),安装目录预留10–20 GB+,Swap 按内存规模配置:1–2 GB 内存用 1.5×2–16 GB 用等同内存>16 GB 用 16 GB。保持系统时间与时区正确,避免安装与日志时间混乱。
  • 更新与依赖:执行 yum update -y;安装常用依赖:binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
  • 用户与目录:创建组与用户 groupadd oinstall; groupadd dba; useradd -g oinstall -G dba oracle;创建目录 mkdir -p /u01/app/oracle 并赋权 chown -R oracle:oinstall /u01; chmod -R 775 /u01
  • 安全策略(测试/内网环境常用):临时关闭防火墙 systemctl stop firewalld && systemctl disable firewalld;将 SELinux 设为 permissive/disabledsetenforce 0。生产环境建议精细化放行与策略调优而非直接关闭。

二 内核参数与资源限制

  • 内核参数(/etc/sysctl.conf):设置 fs.aio-max-nr=1048576fs.file-max=6815744kernel.shmall=2097152kernel.shmmni=4096kernel.sem=250 32000 100 128net.ipv4.ip_local_port_range=9000 65500net.core.rmem_default=262144net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=1048576;执行 sysctl -p 生效。
  • 共享内存建议:kernel.shmmax 可设为物理内存的约一半(如 8 GB 内存可设 4294967295),kernel.shmall 按内存与页大小计算(常见为 shmmax/4096)。
  • 资源限制(/etc/security/limits.conf):oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240;在 /etc/pam.d/login 加入 session required pam_limits.so 确保会话级生效。

三 安装与网络配置

  • 环境变量(~/.bash_profile 或 ~/.bashrc):设置 ORACLE_BASE=/u01/app/oracleORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1(按实际版本调整)、ORACLE_SID=orclPATH=$ORACLE_HOME/bin:$PATHLANG=en_US.UTF-8NLS_LANG=AMERICAN_AMERICA.AL32UTF8,执行 source 使生效。
  • 监听与实例:使用 netca 配置监听器,使用 dbca 创建数据库实例;图形安装或静默响应文件均可。
  • 远程访问:开放防火墙 1521/TCP;在 $ORACLE_HOME/network/admin 下配置 listener.oratnsnames.orasqlnet.ora;客户端以 sqlplus sys/<pwd>@//<host>:1521/orcl as sysdba 测试连接。

四 自启动与服务管理

  • 开机自启:编辑 /etc/oratab,将目标实例的 N 改为 Y(如 orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y)。
  • systemd 服务示例(/etc/systemd/system/oracle.service):
    • [Unit] Description=Oracle Database Service;After=network.target
    • [Service] Type=forking;User=oracle;Environment=“ORACLE_HOME=…”;ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOME;ExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOME;Restart=on-abort
    • [Install] WantedBy=multi-user.target
      执行 systemctl daemon-reload && systemctl enable --now oracle
  • 也可使用 Oracle 提供的预安装/数据库服务单元(如 oracle-database-preinstalloracle-database-ee-19c)进行安装与开机管理。

五 性能与安全加固要点

  • 内存与大页:适度降低 vm.swappiness(如 10),为 SGA 配置 HugePages 减少页表开销;SGA/PGA 结合负载设置,必要时启用自动内存管理(AMM/ASMM)。
  • 存储与文件系统:优先 SSD/NVMe,合理条带化/布局数据文件、重做日志与归档目录;选择 XFS/EXT4 并优化挂载选项(如 noatime)。
  • 网络与连接:优化 net.core.somaxconnrmem/wmem 等 TCP 参数;控制最大进程/会话数,使用连接池,避免连接风暴。
  • SQL 与索引:避免 SELECT *,合理使用索引与分区,减少全表扫描;定期收集统计信息 DBMS_STATS.GATHER_SCHEMA_STATS,利用 AWR/ASH/ADDM 持续诊断。
  • 安全建议:生产环境不建议直接关闭防火墙/SELinux,改为仅放行 1521 与必要管理网段;限制 oracle 用户权限、启用审计,及时打补丁与加固 OS/DB。

0