centos下oracle配置有哪些要点
小樊
39
2025-12-13 12:43:41
CentOS 下 Oracle 配置要点
一 系统与环境准备
- 运行环境建议:操作系统选择 CentOS 7/8(64 位),内存至少 2 GB(建议 4 GB+),安装所需磁盘空间至少 10 GB(建议 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、libXext、libXtst、libX11、make、sysstat、unixODBC/unixODBC-devel 等。
- 创建用户与组:建议创建专用账户与组,如 oinstall、dba,并创建 Oracle 用户(示例:useradd -g oinstall -G dba oracle),设置安全密码。
- 目录与权限:规划 Oracle 基目录(常见为 /u01/app/oracle),创建并授权:mkdir -p /u01/app/oracle && chown -R oracle:oinstall /u01 && chmod -R 775 /u01。
- 主机名与解析:设置主机名(如 hostnamectl set-hostname db),并在 /etc/hosts 中确保主机名可解析到本机 IP,避免安装/监听异常。
二 内核参数与资源限制
- 内核参数(/etc/sysctl.conf):设置共享内存、信号量、文件句柄与网络参数,典型值如下(按实际内存与负载微调):
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- kernel.shmall = 2097152
- kernel.shmmax = 建议设为物理内存一半(单位字节,示例:4294967295 约 4 GB)
- 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 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 官方获取 Linux x86_64 安装介质(如 19c),上传至 /u01/app/oracle 并解压(示例:unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME)。
- Oracle 用户环境变量(~/.bash_profile 或 ~/.bashrc):
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
- export ORACLE_SID=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 ~/.bash_profile 生效。
- 图形化安装与脚本:以 oracle 用户运行 ./runInstaller 完成安装,按提示执行 root.sh 与 orainstRoot.sh 等后续脚本。
四 网络与监听配置
- 监听程序(listener.ora):位于 $ORACLE_HOME/network/admin,常用最小配置:
- LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521))
)
)
- 启动与验证:使用 lsnrctl start|status 管理监听;必要时在 listener.ora 的 SID_LIST_LISTENER 中静态注册实例(生产环境更推荐让实例自动注册)。
- 客户端与服务名:服务器端或客户端配置 tnsnames.ora,示例:
- ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
- 连通性测试:使用 sqlplus sys/password@//your_hostname:1521/orcl as sysdba 或 tnsping ORCL 验证。
五 运行安全与运维要点
- 防火墙与端口:在 CentOS 7/8 放行 1521/TCP(firewalld/iptables),变更后重载规则并测试远程连接。
- SELinux:安装阶段可临时 setenforce 0 排障;生产环境建议保持 enforcing 并通过策略/布尔值精细化放行,而非直接禁用。
- 字符集与语言:建议数据库字符集使用 AL32UTF8,环境变量设置 NLS_LANG=AMERICAN_AMERICA.AL32UTF8,避免客户端乱码。
- 日志与诊断:关注 $ORACLE_HOME/network/log/listener.log、数据库 Alert 日志 与 Trace 文件,利用 ADR 与 DDM 做问题定位与性能分析。
- 开机自启:配置 systemd 服务或 rc.local 脚本,确保 监听 与 数据库实例 随系统启动;对关键环境建议配置 备份与监控告警。