Linux Oracle网络配置解析
导读:Linux Oracle网络配置解析 一 核心组件与配置文件 关键文件与目录 $ORACLE_HOME/network/admin 为网络配置目录,常见文件包括:listener.ora(监听器)、tnsnames.ora(客户端命名解...
Linux Oracle网络配置解析
一 核心组件与配置文件
- 关键文件与目录
- $ORACLE_HOME/network/admin 为网络配置目录,常见文件包括:listener.ora(监听器)、tnsnames.ora(客户端命名解析)、sqlnet.ora(命名与协议行为)。
- 命名方法与解析顺序
- 通过 sqlnet.ora 的 NAMES.DIRECTORY_PATH 指定解析顺序,常用值为 TNSNAMES、EZCONNECT、LDAP 等;例如:NAMES.DIRECTORY_PATH=(TNSNAMES,EZCONNECT)。
- 典型连接方式
- 本地命名:在 tnsnames.ora 中定义别名、主机、端口、服务名/SID,客户端用别名连接。
- Easy Connect:无需本地配置,格式如 username/password@host:port/service_name(或 /instance_name),需在 sqlnet.ora 启用 EZCONNECT。
二 服务器端监听配置步骤
- 准备与检查
- 确认环境变量:echo $ORACLE_HOME、echo $PATH;确保 Oracle 实例已创建并可启动到 OPEN。
- 配置 listener.ora
- 路径:$ORACLE_HOME/network/admin/listener.ora。示例(最简 TCP 监听):
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = your_sid) (ORACLE_HOME = your_oracle_home) ) )
- 路径:$ORACLE_HOME/network/admin/listener.ora。示例(最简 TCP 监听):
- 启停与验证
- 启动:lsnrctl start;状态:lsnrctl status(应看到监听端口 1521 与注册的服务/SID)。
- 动态注册与静态注册
- 动态注册:实例启动后由 PMON 向监听注册服务,若未立即出现,等待 数分钟属正常延迟。
- 静态注册:在 listener.ora 的 SID_LIST_LISTENER 中显式声明 SID_DESC(必要时可设置 GLOBAL_DBNAME)。
三 客户端连接与 tnsnames 配置
- 配置 tnsnames.ora
- 路径:$ORACLE_HOME/network/admin/tnsnames.ora。示例:
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )
- 路径:$ORACLE_HOME/network/admin/tnsnames.ora。示例:
- 连接测试
- 使用别名:sqlplus username/password@ORCL;或 TNS 探测:tnsping ORCL。
- 使用 Easy Connect
- 示例:sqlplus sys/oracle@dbhost:1521/orcl;需确保 sqlnet.ora 包含 EZCONNECT。
四 主机名解析与网络连通性
- 主机名与 hosts
- 设置主机名:例如 hostnamectl set-hostname orcl;在 /etc/hosts 添加条目:10.211.55.188 orcl,保证节点间可用主机名互通。
- 接口与连通性
- 配置 IP/掩码/网关(如 nmcli 或 ifcfg 文件),并测试:ping 网关IP、ping 其他节点IP、必要时 ping 外网地址。
- 防火墙与 SELinux
- 放行监听端口(默认 1521/tcp):如使用 firewalld,执行 firewall-cmd --add-port=1521/tcp --permanent & & firewall-cmd --reload;不建议直接长期关闭防火墙。
- SELinux 建议保持 enforcing,按需设置策略;如必须禁用,编辑 /etc/selinux/config 将 SELINUX=enforcing 改为 SELINUX=permissive/disabled 并重启。
五 命名解析与连接排错要点
- 解析顺序与 Easy Connect
- 若使用 EZCONNECT,需在 sqlnet.ora 中配置 NAMES.DIRECTORY_PATH=(EZCONNECT);否则仅用 TNSNAMES 时无法使用“主机:端口/服务名”直连。
- service_name、SID 与 GLOBAL_DBNAME
- SERVICE_NAME 通常对应数据库参数 service_names(动态注册);SID 对应实例 instance_name(静态注册);在 listener.ora 的 SID_DESC 中可用 GLOBAL_DBNAME 指定对外公布的服务名。
- 常见排错命令
- 监听状态:lsnrctl status(检查监听端口、服务注册情况);TNS 探测:tnsping ORCL;直连测试:sqlplus user/pass@host:1521/service。
- 动态注册延迟
- 实例启动后 PMON 注册服务可能有数分钟延迟,未见服务时稍候再查 lsnrctl status。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux Oracle网络配置解析
本文地址: https://pptw.com/jishu/755790.html
