Oracle在CentOS上如何稳定配置
导读:在 CentOS 上稳定配置 Oracle 的实操清单 一 环境准备与系统基线 操作系统与版本:建议使用 CentOS 7/8(x86_64),保持系统为 64 位并先执行 yum update -y 更新补丁。 资源基线:内存至少 2...
在 CentOS 上稳定配置 Oracle 的实操清单
一 环境准备与系统基线
- 操作系统与版本:建议使用 CentOS 7/8(x86_64),保持系统为 64 位并先执行 yum update -y 更新补丁。
- 资源基线:内存至少 2 GB(建议 ≥4 GB);安装与数据目录预留 ≥20 GB 空间;Swap 按内存规模配置:1–2 GB 内存用 1.5×、2–16 GB 用等同内存、> 16 GB 用 16 GB。
- 主机名与解析:设置稳定主机名(如 db),并在 /etc/hosts 中写入解析条目,避免安装器与监听解析异常。
- 安全基线(生产谨慎):如非合规要求,避免直接关闭 SELinux/Firewalld,建议仅放行端口(如 1521/TCP)并保留 SELinux 的 enforcing 模式。
二 用户目录与依赖配置
- 创建用户与组:
- groupadd oinstall;groupadd dba
- useradd -m -g oinstall -G dba oracle;passwd oracle
- 安装依赖包(以 19c 为例,兼容 11g/12c 常见需求):
- yum install -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
- 创建目录与权限:
- mkdir -p /u01/app/oracle;chown -R oracle:oinstall /u01;chmod -R 775 /u01
- 内核参数(/etc/sysctl.conf,执行 sysctl -p 生效):
- fs.aio-max-nr = 1048576;fs.file-max = 6815744
- kernel.shmall = 2097152;kernel.shmmni = 4096;kernel.sem = 250 32000 100 128
- kernel.shmmax = 4294967295(可按内存调大,如物理内存的 80% 换算)
- 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
- 用户资源限制(/etc/security/limits.conf):
- oracle soft nproc 2047;oracle hard nproc 16384
- oracle soft nofile 1024;oracle hard nofile 65536
- oracle soft stack 10240
- PAM 会话限制(/etc/pam.d/login):
- session required pam_limits.so
- Oracle 用户环境变量(/home/oracle/.bashrc 或 .bash_profile):
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=/u01/app/oracle/product/19.0.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 LANG=en_US.UTF-8;export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
- 执行 source 使配置生效
三 安装与建库
- 获取软件:从 Oracle 官方下载 Linux x86_64 安装介质(如 19c),上传至 /u01/app/oracle 并解压。
- 图形/静默安装:
- 图形界面:切换到 oracle 用户,运行 ./runInstaller 按向导完成。
- 静默安装(示例):./runInstaller -silent -responseFile /path/db_install.rsp -ignorePrereq
- 安装完成后按提示以 root 执行 $ORACLE_HOME/root.sh。
- 监听与实例:
- 监听配置:oracle 用户执行 netca(图形或响应文件),默认监听 1521/TCP。
- 建库方式:
- 图形:dbca
- 静默(示例):
- $ORACLE_HOME/bin/dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname orcl -sid orcl \ -characterSet AL32UTF8 \ -responseFile NO_VALUE
- 启动与验证:
- lsnrctl start;sqlplus / as sysdba 后执行 startup
- 连接测试:sqlplus sys/口令@//主机名或IP/orcl as sysdba
四 运行期稳定与性能优化
- 内存与大页:
- 启用大页(HugePages)以减少 TLB 缺失与共享内存碎片;计算建议值并配置 vm.nr_hugepages,在数据库参数中设置 use_large_pages=ONLY(需重启实例)。
- SGA/PGA 基线:结合负载设置,如 ALTER SYSTEM SET sga_target=4G SCOPE=BOTH; ALTER SYSTEM SET pga_aggregate_target=1G SCOPE=BOTH;
- 内核与虚拟内存:
- 适度降低 vm.swappiness(如 10)以减少换页;按内存规模动态计算 kernel.shmmax/shmall 更稳健。
- 存储与文件系统:
- 优先使用 SSD/NVMe;数据文件、日志文件、归档分盘;选择 XFS/ext4 并合理挂载选项(如 noatime)。
- 网络与连接:
- 合理设置 processes/sessions 与连接池;必要时开启 SQLNET.ENCRYPTION/SSL/TLS 提升传输安全。
- 监控与维护:
- 定期收集统计信息:EXEC DBMS_STATS.GATHER_SCHEMA_STATS(ownname=> ‘SCHEMA’, estimate_percent=> DBMS_STATS.AUTO_SAMPLE_SIZE);
- 利用 AWR/ASH/ADDM 识别瓶颈并迭代优化。
五 运维与故障排查要点
- 日志定位:
- 数据库告警日志($ORACLE_BASE/diag/rdbms/…/trace/alert_.log)、监听日志($ORACLE_HOME/diag/tnslsnr/…/trace/listener.log)、后台进程 Trace。
- 常用命令:
- 监听:lsnrctl start|stop|status;数据库:sqlplus / as sysdba → startup|shutdown immediate;
- 连接串:sqlplus sys/pwd@//host/orcl as sysdba;
- 诊断工具:
- ADR(Automatic Diagnostic Repository)、DDM(Database Diagnostic Monitor)、OEM/Cloud Control;
- 性能分析:执行计划(EXPLAIN PLAN、DBMS_XPLAN)、等待事件与 AWR/ASH 报告。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Oracle在CentOS上如何稳定配置
本文地址: https://pptw.com/jishu/765350.html
