CentOS Oracle配置步骤与注意事项
导读:CentOS 上部署 Oracle 的标准流程与关键注意事项 一 环境准备与系统要求 操作系统与内核:建议使用 CentOS 7/8(x86_64),内核 3.10+;桌面环境便于图形化安装(可使用 X11 转发)。 资源基线:内存至少...
CentOS 上部署 Oracle 的标准流程与关键注意事项
一 环境准备与系统要求
- 操作系统与内核:建议使用 CentOS 7/8(x86_64),内核 3.10+;桌面环境便于图形化安装(可使用 X11 转发)。
- 资源基线:内存至少 2 GB(推荐 4 GB+);交换分区(Swap)建议按内存规模配置:1–2 GB 内存配 1.5 倍;2–16 GB 配等容量;> 16 GB 配 16 GB;磁盘空间至少 10 GB(建议 20 GB+),/tmp 建议 ≥1 GB 可用。
- 主机名与解析:提前规划 主机名与 IP,并在 /etc/hosts 中绑定,避免安装后再变更主机名导致监听/实例异常。
- 防火墙与 SELinux:安装阶段可临时关闭防火墙与 SELinux 降低干扰;生产环境建议精细化放行与策略调优而非直接关闭。
- 依赖包(以 11g/12c/19c 常见需求为例):安装 binutils、gcc、gcc-c++、glibc、glibc-devel、ksh、libaio、libaio-devel、libstdc++、libstdc+±devel、libXi、libXtst、make、sysstat、unixODBC、unixODBC-devel 等;部分老版本(如 10g/11g)可能还需 libXp。
- 目录规划:建议软件与数据分离,如 /u01/app/oracle(软件)、/u01/app/oradata(数据)。
二 系统参数与用户环境配置
- 创建用户与组:
- 组:oinstall、dba
- 用户:oracle(主组 oinstall,附加组 dba)
- 内核参数(/etc/sysctl.conf,执行 sysctl -p 生效):
- 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
- 用户资源限制(/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 用户环境变量(~oracle/.bash_profile):
- 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:/usr/lib
- 目录与权限:
- mkdir -p /u01/app/oracle /u01/app/oradata
- chown -R oracle:oinstall /u01;chmod -R 775 /u01
三 安装与建库
- 获取软件:从 Oracle 官方下载 Linux x86_64 安装介质(如 19c/12c/11g),上传至 /u01/app/oracle 并解压。
- 图形化安装(以 oracle 用户执行):
- 进入解压目录执行:./runInstaller
- 典型选择:创建并配置数据库、服务器类、高级安装、企业版、单实例、字符集建议 AL32UTF8、设置 SYS/SYSTEM 口令、存储选择 文件系统。
- 安装后脚本:以 root 执行提示脚本(如 /u01/app/oraInventory/orainstRoot.sh 与 $ORACLE_HOME/root.sh)。
- 验证与启停:
- sqlplus / as sysdba
- SQL> startup(若未自动启动);SQL> select status from v$instance; (应为 OPEN)
- 常用:shutdown immediate、startup nomount/mount。
四 网络监听与远程访问
- 监听器配置($ORACLE_HOME/network/admin/listener.ora):
- LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP或主机名)(PORT = 1521))
)
) - SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
(SID_NAME = orcl)
)
)
- LISTENER =
- 启停与状态:lsnrctl start|stop|reload|status
- 客户端解析:在服务端/客户端配置 tnsnames.ora,并使用 TNSPING 测试连通性。
- 防火墙放行(示例为 firewalld):
- firewall-cmd --zone=public --add-port=1521/tcp --permanent
- firewall-cmd --reload
- 远程连接测试:sqlplus sys/口令@//主机名或IP/服务名或SID 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_HOME/cfgtoollogs 与 $ORACLE_BASE/diag/;lsnrctl status 可快速定位监听问题。
- 关键注意事项:
- 安装与运行阶段保持 主机名与 /etc/hosts 解析一致,变更主机名可能导致实例/监听异常。
- 生产环境不建议直接关闭 SELinux 与 防火墙,应做最小权限放行(如仅放行 1521)。
- 内存与 Swap 按规模配置,/tmp 保持 ≥1 GB 可用,避免安装/运行期临时空间不足。
- 软件与数据分离、定期备份(RMAN/导出)、监控告警与补丁策略同样关键。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Oracle配置步骤与注意事项
本文地址: https://pptw.com/jishu/765352.html
