centos配置oracle要注意啥
小樊
33
2025-12-09 13:33:29
CentOS 配置 Oracle 的关键注意事项
一 系统环境与资源
- 选择与版本匹配的系统:生产常用 CentOS 7/8,对应 Oracle 11g/12c/19c;确认内核、glibc 等基础组件版本满足 Oracle 要求。
- 资源基线:至少 2 GB RAM(建议 4 GB+),安装与数据目录预留 10–20 GB+ 磁盘空间;Swap 建议按内存规模配置(如 1–2 GB 内存配 1.5 倍、2–16 GB 配等容量、>16 GB 配 16 GB)。
- 基础调优:更新系统、安装必要依赖(如 binutils、gcc、glibc-devel、ksh、libaio、libaio-devel、libstdc+±devel、sysstat、unixODBC 等),创建 oracle/oinstall/dba 用户与组,创建目录 /u01/app/oracle 并赋权。
- 内核与资源限制示例(/etc/sysctl.conf):
fs.aio-max-nr=1048576;fs.file-max=6815744;kernel.shmall=2097152;kernel.shmmax=4294967295;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 soft/hard nproc 2047/16384;soft/hard nofile 1024/65536;soft stack 10240;并在 /etc/pam.d/login 加入 session required pam_limits.so。
二 安装与无图形环境
- 安装介质与完整性:从 Oracle 官方获取对应版本安装包,上传至服务器后校验(避免第三方下载器导致的包损坏)。
- 图形与静默安装:有桌面可直接以 oracle 用户运行 ./runInstaller;无图形建议使用 静默安装(响应文件或命令行),或借助 X11 转发完成 GUI 安装。
- 常见安装坑:安装进度约 68% 可能因 ins_emagent.mk 报错,按提示在相应路径补充编译参数后重试;环境变量(如 ORACLE_HOME、PATH)语法错误会导致命令不可用,修改 ~/.bash_profile 后用 source 生效。
三 网络与远程访问
- 监听器与客户端解析:在 $ORACLE_HOME/network/admin/listener.ora 配置监听地址与端口(默认 1521),在 tnsnames.ora 配置服务名;必要时在 sqlnet.ora 设置名称解析顺序(如 NAMES.DIRECTORY_PATH=(TNSNAMES, EZCONNECT))。
- 防火墙与连通性:开放 1521/TCP(firewalld:firewall-cmd --zone=public --add-port=1521/tcp --permanent && firewall-cmd --reload),云环境同步放通安全组。
- 远程测试:用 sqlplus username/password@ORCL 或 tnsping ORCL 验证网络与服务名解析。
四 自启动与运行维护
- 开机自启:在 /etc/oratab 将实例项改为 Y;创建 systemd 服务(/etc/systemd/system/oracle.service)调用 dbstart/dbshut,执行 systemctl daemon-reload && systemctl enable --now oracle。
- 启停与状态:常用 lsnrctl start|stop|status 管理监听;用 sqlplus / as sysdba 执行 startup|shutdown immediate。
- 日志与诊断:安装与运行日志位于 $ORACLE_HOME/cfgtoollogs;数据库告警与跟踪日志在 ADR 目录,排障优先查看 alert_.log。
五 安全与常见坑
- SELinux 与防火墙:安装阶段为减少干扰可临时关闭 SELinux 与 firewalld,上线前改为精准策略并仅开放必要端口(如 1521)。
- 系统标识:部分旧版本(如 Oracle 10g/11g)在 CentOS 上可能需要将 /etc/redhat-release 伪装为 RHEL 标识以通过检查(仅限受控环境,谨慎操作)。
- 语言与字符集:安装与客户端建议使用 英文环境 避免乱码;数据库字符集推荐 AL32UTF8 以兼容多语种。
- 时间与时区:确保 系统时间与时区正确,避免 ORA-01882 等时间相关错误。
- 权限与目录:严格保证 ORACLE_BASE/ORACLE_HOME 及数据目录属主为 oracle:oinstall,权限 775;环境变量(如 ORACLE_SID、ORACLE_HOME、PATH、LD_LIBRARY_PATH)正确生效。