温馨提示×

centos环境下oracle安装步骤是什么

小樊
51
2025-11-19 21:08:08
栏目: 云计算

CentOS 环境下安装 Oracle 的标准流程

一 环境准备与系统配置

  • 设置主机名与解析
    • 执行:sudo hostnamectl set-hostname db
    • /etc/hosts 增加条目:<服务器IP> db,确保本机解析正常。
  • 安装常用依赖(以 Oracle 19c 为例,CentOS 7/8)
    • 执行:sudo yum install -y libnsl libnsl2-devel libaio-devel libcap-devel xorg-x11-utils xauth gcc make libstdc++-devel sysstat smartmontools glibc-compat-2.17
    • 如为 Oracle 11gR2,建议同时安装:binutils compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
  • 关闭 SELinux(测试环境常用)
    • 临时:sudo setenforce 0
    • 永久:编辑 /etc/selinux/config,将 SELINUX=enforcing 改为 SELINUX=disabled
  • 防火墙(测试环境可直接关闭;生产环境请放行端口)
    • 关闭:sudo systemctl stop firewalld && sudo systemctl disable firewalld
    • 或放行端口:sudo firewall-cmd --permanent --add-port=1521/tcp && sudo firewall-cmd --reload
  • 创建 Oracle 用户与组
    • 执行:sudo groupadd oinstallsudo groupadd dba
    • 执行:sudo useradd -g oinstall -G dba oracle && sudo passwd oracle
  • 创建目录并授权
    • 执行:sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
    • 执行:sudo chown -R oracle:oinstall /u01 && sudo chmod -R 775 /u01
  • 内核参数 /etc/sysctl.conf
    • 建议值:
      fs.aio-max-nr = 1048576
      fs.file-max = 6815744
      kernel.shmall = 2097152
      kernel.shmmax = 1073741824
      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
      
    • 使生效:sudo 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
      
    • /etc/pam.d/login 增加:session required pam_limits.so
    • /etc/profile 为 oracle 用户追加:
      if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
          ulimit -p 16384
          ulimit -n 65536
        else
          ulimit -u 16384 -n 65536
        fi
      fi
      
    • 执行:source /etc/profile
  • 交换空间建议
    • 至少准备 2GB Swap,生产环境建议更高。

二 安装 Oracle 软件

  • 准备安装介质
    • 从 Oracle 官网获取对应版本安装包(如 19c 的预安装 RPM 或安装介质;11gR2 为两个 zip 包)。
    • 上传至服务器并解压(示例目录:/u01/software)。
  • 图形化安装(有桌面或 X11 转发)
    • 以 oracle 用户执行:cd /u01/software/database && ./runInstaller
    • 按向导选择安装类型(单实例)、软件位置(如:/u01/app/oracle/product/19.0.0/dbhome_1)、清单目录、OSDBA/OSOPER 组等,完成安装后按提示以 root 执行脚本(如 orainstRoot.shroot.sh)。
  • 静默安装(无图形界面)
    • 使用响应文件(response file)执行:cd /u01/app/oracle/product/19.0.0/dbhome_1 && ./runInstaller -silent -responseFile /path/to/response_custom.rsp
    • 安装完成后同样以 root 执行上述脚本。

三 配置监听与创建数据库

  • 配置监听器
    • 以 oracle 用户执行:netca
    • 按向导完成监听端口(默认 1521)与协议配置,或手工编辑 $ORACLE_HOME/network/admin/listener.ora
      LISTENER =
        (DESCRIPTION_LIST =
          (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))
          )
        )
      
    • 启动监听:lsnrctl start
  • 创建数据库实例
    • 图形化:dbca
    • 静默示例(字符集 AL32UTF8):
      $ORACLE_HOME/bin/dbca -silent \
        -createDatabase \
        -templateName General_Purpose.dbc \
        -gdbname orcl -sid orcl \
        -responseFile NO_VALUE \
        -characterSet AL32UTF8
      
  • 环境变量(oracle 用户 .bashrc.bash_profile
    • 建议值:
      export ORACLE_BASE=/u01/app/oracle
      export ORACLE_HOME=$ORACLE_BASE/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 ~/.bashrc

四 启动与验证

  • 启动与登录
    • 启动监听:lsnrctl start
    • 登录实例:sqlplus / as sysdba
    • 启动数据库:startup(如需开机自启,可将监听与数据库纳入系统服务或使用 dbstart/dbshut 脚本配合开机执行)
  • 基础验证
    • 查看实例与监听状态:select status from v$instance;lsnrctl status
    • 简单查询:select name from v$database;select * from v$version;
  • 日志与排错
    • 关注告警日志(通常位于 $ORACLE_BASE/diag/rdbms/<sid>/<sid>/trace/alert_<sid>.log)、监听日志与 dbca/runInstaller 日志,定位安装与启动问题。

五 常见问题与注意事项

  • 依赖缺失
    • 11gR2 常见缺失包:compat-libstdc++-33、libaio-devel、unixODBC、unixODBC-devel、ksh 等;19c 可按需补充 libnsl2-devel、glibc-compat-2.17 等。
  • 内核参数与资源限制
    • fs.file-maxkernel.semoracle 用户的 nofile/nproc/stack 未正确设置,安装或启动会报错。
  • SELinux 与防火墙
    • SELinux 未关闭或策略限制会导致权限/访问异常;防火墙未放行 1521 端口会导致远程连接失败。
  • 主机名与解析
    • /etc/hosts 未正确配置或主机名不一致,可能导致监听与客户端连接异常。
  • 字符集与 NLS
    • 建议数据库字符集使用 AL32UTF8,客户端 NLS_LANG 与之匹配,避免乱码。

0