首页主机资讯oracle配置文件在centos上怎么设置

oracle配置文件在centos上怎么设置

时间2025-12-02 02:08:03发布访客分类主机资讯浏览1217
导读:在 CentOS 上配置 Oracle 的关键文件与步骤 一 配置文件位置与加载顺序 核心网络配置文件: listener.ora:监听器配置,路径为 $ORACLE_HOME/network/admin/listener.ora。 t...

在 CentOS 上配置 Oracle 的关键文件与步骤

一 配置文件位置与加载顺序

  • 核心网络配置文件:
    • listener.ora:监听器配置,路径为 $ORACLE_HOME/network/admin/listener.ora
    • tnsnames.ora:客户端连接串(Net Service Name)配置,路径为 $ORACLE_HOME/network/admin/tnsnames.ora
    • sqlnet.ora:Oracle Net 基础参数,路径为 $ORACLE_HOME/network/admin/sqlnet.ora
  • 文件查找顺序由环境变量 TNS_ADMIN 决定:若设置了 TNS_ADMIN,Oracle Net 优先从该目录读取;否则依次查找 Grid_home/network/adminORACLE_HOME/network/admin,只读 Oracle Home 还会检查 ORACLE_BASE_HOME/network/admin
  • 建议做法:统一将自定义配置放在自定义目录(如 /etc/oracle/network/admin),并导出 TNS_ADMIN 指向该目录,便于集中管理与备份。

二 配置监听器 listener.ora

  • 编辑配置文件(以实际 ORACLE_HOME 为准):
    • 建议先设置环境变量:export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
    • 编辑:vi $ORACLE_HOME/network/admin/listener.ora
  • 示例(监听本机所有地址的 1521 端口,主机名请使用服务器的 真实主机名或IP,不要用 localhost):
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = db.example.com)(PORT = 1521))
        )
      )
    
  • 使配置生效并验证:
    • 重启监听:lsnrctl stop;lsnrctl start
    • 查看状态:lsnrctl status(应能看到监听端口 1521 与协议 TCP
  • 注意:HOST 填写服务器的可达主机名或IP,避免 127.0.0.1/localhost 导致远程无法连接。

三 配置客户端解析 tnsnames.ora

  • 编辑配置文件:vi $ORACLE_HOME/network/admin/tnsnames.ora
  • 示例条目(服务名 ORCL,主机名与端口与 listener.ora 保持一致):
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = db.example.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ORCL)
        )
      )
    
  • 测试解析与连通:
    • 解析测试:tnsping ORCL
    • 连接测试:sqlplus system/password@ORCL
  • 说明:tnsnames.ora 保存“网络服务名→连接描述符”的映射,客户端或本机工具通过服务名连接数据库。

四 系统级与数据库级配置要点

  • 环境变量(建议写入 /etc/profile.d/oracle.sh,对所有用户生效):
    export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
    export ORACLE_SID=ORCL
    export PATH=$ORACLE_HOME/bin:$PATH
    # 可选:统一网络配置目录
    export TNS_ADMIN=/etc/oracle/network/admin
    
  • 资源与内核参数(示例,按实际内存与业务调整):
    • /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
      
      执行: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
      
  • 主机名与解析:
    • 设置主机名:hostnamectl set-hostname db.example.com
    • 配置 /etc/hosts:192.168.1.100 db.example.com
  • 防火墙与 SELinux(测试环境可直接放行,生产环境请按需最小化放通):
    • 放行端口:firewall-cmd --add-port=1521/tcp --permanent & & firewall-cmd --reload
    • SELinux:setenforce 0(临时),或编辑 /etc/selinux/configSELINUX=permissive/disabled(永久,重启生效)
  • 数据库动态注册(可选,避免手工维护 tnsnames.ora 的监听关联):
    • 若需让数据库向多个监听注册,可在数据库内设置 LOCAL_LISTENER,例如:
      alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=2012))))' scope=BOTH SID='ORCL';
          
      
    • 集群环境通常由集群代理动态设置 LOCAL_LISTENER/REMOTE_LISTENER,无需在 tnsnames.ora 维护监听别名。

五 快速验证与常见问题

  • 监听状态:lsnrctl status(检查监听端口、协议、服务映射)
  • 本地登录:sqlplus / as sysdba(确认实例可启动/关闭)
  • 远程连接:sqlplus system/password@ORCL 或 tnsping ORCL(验证客户端解析与连通)
  • 常见错误与处理:
    • ORA-12541: TNS:no listener:监听未启动或端口不对,执行 lsnrctl start,确认监听端口为 1521
    • ORA-12154: TNS:could not resolve the connect identifier specified:tnsnames.ora 中无对应服务名或 TNS_ADMIN 路径不对,检查拼写与 TNS_ADMIN 设置。
    • TNS-03505: Failed to resolve name:同上,确认服务名与文件路径、权限无误。

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


若转载请注明出处: oracle配置文件在centos上怎么设置
本文地址: https://pptw.com/jishu/760800.html
centos上oracle数据库如何启动配置 如何通过命令行配置centos上的oracle

游客 回复需填写必要信息