oracle数据库centos安装步骤是什么
小樊
40
2025-12-13 12:45:40
CentOS 安装 Oracle 数据库步骤
一 环境准备与系统设置
- 规划目录与用户
- 创建 Oracle 基目录(示例:/opt/oracle),数据目录(示例:/u02/oradata),清单目录(示例:/opt/oracle/oraInventory)。
- 创建 OS 组与用户:oinstall、dba、oper,用户 oracle 主组为 oinstall,附加组为 dba、oper。
- 资源与内核参数
- limits 建议:oracle soft/hard nofile 1024/65536,soft/hard nproc 16384/16384,soft/hard stack 10240/32768,soft/hard memlock 134217728/134217728(单位 KB)。
- sysctl 建议:fs.file-max=6815744,kernel.sem=250 32000 100 128,kernel.shmmni=4096,kernel.shmall=1073741824,kernel.shmmax 设为接近物理内存一半(单位字节),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 生效。
- 系统优化
- 禁用透明大页(THP):检查状态 cat /sys/kernel/mm/transparent_hugepage/enabled;在 /etc/default/grub 的 GRUB_CMDLINE_LINUX 增加 transparent_hugepage=never,执行 grub2-mkconfig -o /boot/grub2/grub.cfg 并重启。
- 主机解析:在 /etc/hosts 绑定主机名与 IP,例如:172.16.200.1 oracle-db-19c。
- 防火墙与 SELinux:测试环境可临时关闭防火墙(如 systemctl stop firewalld)与 SELinux(如 setenforce 0 并修改 /etc/selinux/config 为 SELINUX=permissive),生产环境请按需放行端口与策略。
- 依赖包
- CentOS 7 可安装 Oracle 提供的预安装 RPM:oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm,自动配置依赖与内核参数。
- CentOS 8 可直接用 dnf 安装常用依赖:bc、binutils、elfutils-libelf、elfutils-libelf-devel、fontconfig-devel、glibc、glibc-devel、ksh、libaio、libaio-devel、libXrender、libXrender-devel、libX11、libXau、libXi、libXtst、libgcc、librdmacm-devel、libstdc++、libstdc+±devel、libxcb、make、net-tools、smartmontools、sysstat、unzip、libnsl、libnsl2。
二 安装 Oracle 软件
- 准备安装介质
- 从 Oracle 官网下载 LINUX.X64_193000_db_home.zip(19c),上传至服务器(如 /soft)。
- 解压与安装
- 以 root 创建并授权目录:mkdir -p /opt/oracle/product/19c/dbhome_1,chown -R oracle:oinstall /opt/oracle。
- 以 oracle 用户解压:cd $ORACLE_HOME && unzip /soft/LINUX.X64_193000_db_home.zip。
- 图形化安装:切换到 oracle,./runInstaller;按向导选择安装类型、基目录、清单目录、语言、OS 组等。
- 静默安装(可选):准备响应文件(如 db_install.rsp),执行 ./runInstaller -silent -responseFile /path/db_install.rsp -ignorePrereq。
- 执行 root 脚本
- 安装过程中或完成后,按提示以 root 执行 $ORACLE_HOME/root.sh 与 /opt/oracle/oraInventory/orainstRoot.sh。
三 创建监听与数据库实例
- 配置监听
- 以 oracle 执行 netca(图形或静默),完成 LISTENER 配置,默认端口 1521。
- 创建数据库
- 以 oracle 执行 dbca(图形或静默),选择创建数据库(如 General Purpose),设置 SID/DB_NAME(示例:orcl),字符集建议 AL32UTF8,内存分配按物理内存与用途调整(测试库可较小,生产库适度增大),完成后自动生成 spfile 与数据文件。
- 常见图形化问题
- 若报 “DISPLAY 未设置/颜色检查失败”,在本地或跳板机启用 X11 转发,root 执行 xhost +,设置 export DISPLAY=客户端IP:0.0,并安装 xorg-x11-server-utils、xdpyinfo、xclock 验证显示。
四 启动与自启动配置
- 开机自启监听与实例
- 修改 /etc/oratab,将实例行末尾改为 Y(示例:ORCL:/opt/oracle/product/19c/dbhome_1:Y)。
- 方式一(传统):在 /etc/rc.d/rc.local 追加
- su oracle -lc “/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start”
- su oracle -lc “/opt/oracle/product/19c/dbhome_1/bin/dbstart”
- 执行 chmod +x /etc/rc.d/rc.local。
- 方式二(systemd,推荐):创建服务单元(示例 oracle.service),ExecStart 指向 dbstart $ORACLE_HOME,ExecStop 指向 dbshut $ORACLE_HOME,并设置开机启用。
- 常用启停
- 监听:lsnrctl start|stop|status
- 实例:sqlplus / as sysdba 后执行 startup|shutdown immediate。
五 验证与常见问题
- 连接与验证
- 本地:sqlplus / as sysdba 查询 select name from v$database;、select instance_name from v$instance;。
- 远程:使用 sqlplus sys/口令@//主机IP:1521/orcl as sysdba 或客户端工具连接 1521 端口。
- 常见问题处理
- 交换空间不足:创建 Swap 文件(如 dd if=/dev/zero of=/swapfile bs=1M count=8192;mkswap /swapfile;swapon /swapfile;并在 /etc/fstab 添加 /swapfile swap swap defaults 0 0)。
- 透明大页未禁用:按上文步骤在 grub 增加 transparent_hugepage=never 并重启。
- OS 版本识别问题:19c 在 CentOS 上安装时,可在环境变量设置 CV_ASSUME_DISTID=OEL7 以避免识别为不支持发行版导致的检查报错。