首页主机资讯如何快速配置CentOS上的Oracle

如何快速配置CentOS上的Oracle

时间2025-12-06 00:53:03发布访客分类主机资讯浏览1219
导读:快速配置 CentOS 上的 Oracle 19c 一 环境准备与最小化配置 以 root 执行:更新系统并安装常用工具 sudo yum update -y && sudo yum install -y unzip w...

快速配置 CentOS 上的 Oracle 19c

一 环境准备与最小化配置

  • 以 root 执行:更新系统并安装常用工具
    • sudo yum update -y & & sudo yum install -y unzip wget which
  • 创建 Oracle 用户与组
    • sudo groupadd -g 54321 oinstall
    • sudo groupadd -g 54322 dba
    • sudo useradd -u 54321 -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(执行 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
  • 会话限制 /etc/pam.d/login
    • session required pam_limits.so
  • Oracle 用户环境变量(~oracle/.bash_profile 或 /etc/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
  • 可选加速 使用 Oracle 预安装 RPM(会自动设置内核参数、limits、yum 源等)
    • 对于 OL7/兼容 CentOS 7:sudo yum -y --nogpgcheck install oracle-rdbms-server-19c-preinstall
    • 对于 OL6/兼容 CentOS 6:sudo yum -y --nogpgcheck install oracle-rdbms-server-12cR1-preinstall
    • 注:预安装包会修改内核与 limits,建议优先使用,减少手工失误。

二 安装 Oracle 19c 软件

  • 以 oracle 用户上传并解压安装介质(示例为 19c ZIP 包)
    • unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
  • 图形化安装(推荐)
    • 在本地有 X11 或通过 X11 转发执行:cd $ORACLE_HOME & & ./runInstaller
    • 按向导选择“仅安装数据库软件”,完成后再用 DBCA 建库(见下一节)。
  • 静默安装(无图形界面)
    • 生成响应文件模板:./runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp -ignorePrereq
    • 关键应答项示例(其余保持默认或按需调整):
      • oracle.install.option=INSTALL_DB_SWONLY
      • UNIX_GROUP_NAME=oinstall
      • INVENTORY_LOCATION=/u01/app/oraInventory
      • ORACLE_HOME=$ORACLE_HOME
      • ORACLE_BASE=$ORACLE_BASE
      • oracle.install.db.InstallEdition=EE
      • oracle.install.db.OSDBA_GROUP=dba
      • oracle.install.db.OSOPER_GROUP=dba
      • oracle.install.db.OSBACKUPDBA_GROUP=dba
      • oracle.install.db.OSDGDBA_GROUP=dba
      • oracle.install.db.OSKMDBA_GROUP=dba
      • oracle.install.db.OSRACDBA_GROUP=dba
    • 安装完成后按提示以 root 执行脚本:/u01/app/oraInventory/orainstRoot.sh 与 $ORACLE_HOME/root.sh。

三 建库与网络配置

  • 配置监听(图形或静默)
    • 图形:netca
    • 静默:netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
  • 建库(DBCA,图形或静默)
    • 图形:dbca
    • 静默示例(创建名为 orcl 的数据库,字符集 AL32UTF8,快速恢复区在 /u01/app/oracle/fast_recovery_area)
      • dbca -silent -createDatabase
        -templateName General_Purpose.dbc
        -gdbName orcl -sid orcl
        -createAsContainerDatabase false
        -sysPassword YourSysPassword -systemPassword YourSysPassword
        -characterSet AL32UTF8
        -storageType FS
        -datafileDestination /u01/app/oracle/oradata
        -recoveryAreaDestination /u01/app/oracle/fast_recovery_area
        -emConfiguration NONE
  • 远程访问与防火墙
    • 监听端口默认 1521;如需远程连接,开放防火墙:
      • sudo firewall-cmd --permanent --add-port=1521/tcp & & sudo firewall-cmd --reload
    • 客户端可使用 EZConnect:sqlplus sys/口令@//服务器IP/orcl as sysdba。

四 自启动与服务管理

  • 允许实例随系统启动
    • 编辑 /etc/oratab,将 orcl 行末尾改为 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=/u01/app/oracle/product/19.0.0/dbhome_1”
        • ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOME
        • ExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOME
        • Restart=on-abort
      • [Install]
        • WantedBy=multi-user.target
    • 启用与启动:
      • sudo systemctl daemon-reload
      • sudo systemctl enable oracle
      • sudo systemctl start oracle
  • 常用运维
    • 查看监听:lsnrctl status
    • 登录数据库:sqlplus / as sysdba
    • 启动/停止监听:lsnrctl start | stop。

五 常见问题与快速排查

  • 依赖缺失:安装 19c 常用依赖(CentOS 7/8)
    • sudo yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel libXi libXtst make sysstat unixODBC unixODBC-devel
  • 内核参数/资源限制未生效:确认已执行 sysctl -p,检查 /etc/security/limits.conf 与 /etc/pam.d/login 配置;如使用预安装 RPM,可对比日志 /var/log/oracle-rdbms-server-*/results/orakernel.log 与 orainstRoot.sh 输出。
  • 远程连不上:确认监听已启动(lsnrctl status)、监听端口 1521 已放行、客户端使用正确的 SID/服务名 与 EZConnect 格式。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何快速配置CentOS上的Oracle
本文地址: https://pptw.com/jishu/765354.html
CentOS Oracle配置中常见问题解析 怎样在CentOS中优化Oracle配置

游客 回复需填写必要信息