Oracle配置在CentOS上如何实现
导读:在 CentOS 上配置 Oracle 的可执行步骤 一 环境准备与系统要求 推荐系统:CentOS 7/8(桌面/服务器均可,需有图形环境或配置 X11 转发以运行 GUI 安装器)。 资源建议:内存至少2 GB(建议4 GB+),安装...
在 CentOS 上配置 Oracle 的可执行步骤
一 环境准备与系统要求
- 推荐系统:CentOS 7/8(桌面/服务器均可,需有图形环境或配置 X11 转发以运行 GUI 安装器)。
- 资源建议:内存至少2 GB(建议4 GB+),安装目录预留≥20 GB,Swap 按内存规模配置(1–2 GB 内存配 1.5×;2–16 GB 配等同;> 16 GB 配16 GB)。
- 基础更新与依赖:执行
sudo yum update -y;安装常用依赖(示例):sudo 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 zip unzip。如使用 Oracle 19c RPM 方式,可先安装预安装包:yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm,其会自动创建 oracle/oinstall/dba、配置内核参数与用户限制。
二 创建用户组与目录并配置内核与资源限制
- 创建用户与组:
sudo groupadd oinstall、sudo groupadd dba、sudo useradd -g oinstall -G dba oracle、sudo passwd oracle。 - 创建目录与授权:
sudo mkdir -p /u01/app/oracle、sudo chown -R oracle:oinstall /u01、sudo chmod -R 775 /u01。 - 内核参数(/etc/sysctl.conf):
fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 4294967295kernel.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应用:sudo sysctl -p。
- 用户限制(/etc/security/limits.conf):
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240
- PAM 会话限制(/etc/pam.d/login):
session required pam_limits.so。
三 安装 Oracle 软件与创建数据库
- 方式 A RPM 快速安装(Oracle 19c 示例)
- 安装软件包:
yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm - 配置并创建默认数据库(会创建 ORCLCDB 容器库与 ORCLPDB1 可插拔库):
sudo /etc/init.d/oracledb_ORCLCDB-19c configure - 完成后可用
sqlplus / as sysdba登录验证。
- 安装软件包:
- 方式 B 图形化安装(通用)
- 以 oracle 用户解压安装介质(如 19c:
unzip LINUX.X64_193000_db_home.zip),进入目录执行./runInstaller按向导完成软件安装。 - 使用 DBCA 创建数据库(GUI 或静默)。静默示例:
$ORACLE_HOME/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8。
- 以 oracle 用户解压安装介质(如 19c:
- 环境变量(oracle 用户,~/.bash_profile 或 ~/.bashrc)
export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1export ORACLE_SID=orclexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport LANG=en_US.UTF-8export NLS_LANG=AMERICAN_AMERICA.AL32UTF8使生效:source ~/.bash_profile。
四 网络监听与客户端连接
- 配置与启停监听
- 使用 netca 配置监听(GUI),或手动编辑
$ORACLE_HOME/network/admin/listener.ora。 - 常用命令:
lsnrctl start|stop|status,tnsping orcl,sqlplus sys/oracle@orcl as sysdba。
- 使用 netca 配置监听(GUI),或手动编辑
- 防火墙与端口
- 开放 1521/TCP(示例):
firewall-cmd --add-port=1521/tcp --permanent & & firewall-cmd --reload;生产环境建议仅开放必要来源 IP。
- 开放 1521/TCP(示例):
- 客户端连接测试
- 服务器端:
tnsping ORCL检查解析与监听; - 远程:在客户端
tnsnames.ora配置服务名,使用sqlplus user/pass@ORCL或图形化工具连接。
- 服务器端:
五 自启动与常见问题处理
- 开机自启动
- 启用数据库自启:编辑 /etc/oratab,将对应实例行末尾改为 Y(如:
orcl:/u01/app/oracle/product/19c/dbhome_1:Y)。 - 创建 systemd 服务(示例):新建
/etc/systemd/system/oracle.service,内容可参考官方模板(包含ExecStart=/u01/app/oracle/product/19c/dbhome_1/bin/dbstart $ORACLE_HOME、ExecStop=/u01/app/oracle/product/19c/dbhome_1/bin/dbshut $ORACLE_HOME、User=oracle、Environment="ORACLE_HOME=..." "ORACLE_SID=..."),然后systemctl daemon-reload & & systemctl enable --now oracle。
- 启用数据库自启:编辑 /etc/oratab,将对应实例行末尾改为 Y(如:
- 常见问题与日志
- 安装/运行异常优先查看:Alert 日志、Listener 日志、Trace 日志;利用 ADR/EM 进行诊断;必要时用
EXPLAIN PLAN/DBMS_XPLAN分析执行计划。
- 安装/运行异常优先查看:Alert 日志、Listener 日志、Trace 日志;利用 ADR/EM 进行诊断;必要时用
- 安全与兼容性提示
- 生产环境不建议直接关闭 SELinux/Firewalld,应基于最小暴露面配置策略与端口放行。
- 某些旧版安装器在 CentOS 上可能需要将
/etc/redhat-release伪装为 RHEL(仅用于兼容性,不推荐长期如此)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Oracle配置在CentOS上如何实现
本文地址: https://pptw.com/jishu/765357.html
