首页主机资讯centos lsnrctl配置步骤

centos lsnrctl配置步骤

时间2025-10-01 04:05:04发布访客分类主机资讯浏览292
导读:1. 准备工作 确保已安装Oracle Database,且ORACLE_HOME(如/u01/app/oracle/product/19.0.0/dbhome_1)、ORACLE_SID(如orcl)环境变量已正确配置(可通过echo...

1. 准备工作

  • 确保已安装Oracle Database,且ORACLE_HOME(如/u01/app/oracle/product/19.0.0/dbhome_1)、ORACLE_SID(如orcl)环境变量已正确配置(可通过echo $ORACLE_HOMEecho $ORACLE_SID验证)。
  • 切换至Oracle用户(Oracle数据库操作需该用户权限):su - oracle

2. 找到监听器配置文件

  • 监听器主配置文件listener.ora的默认路径为$ORACLE_HOME/network/admin/listener.ora(如/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora)。
  • 可通过find / -name listener.ora命令全局查找文件位置(若路径非默认)。

3. 编辑listener.ora文件

  • 使用文本编辑器(如vi)打开文件:vi $ORACLE_HOME/network/admin/listener.ora
  • 配置核心参数(示例如下):
    LISTENER = 
      (DESCRIPTION_LIST = 
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname_or_ip)(PORT = 1521))   监听地址及端口(默认1521)
        )
      )
    SID_LIST_LISTENER = 
      (SID_LIST = 
        (SID_DESC = 
          (SID_NAME = your_sid)   数据库实例SID(如orcl)
          (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)   Oracle主目录
        )
      )
    
  • 保存并退出编辑器(vi中按:wq)。

4. 重启监听器使配置生效

  • 停止监听器:lsnrctl stop
  • 启动监听器:lsnrctl start
  • 或使用reload命令重新加载配置(无需重启):lsnrctl reload

5. 验证监听器状态

  • 执行lsnrctl status命令,查看以下关键信息:
    • 监听器名称(如LISTENER)、状态(RUNNING表示运行中)。
    • 监听的地址及端口(如TCP: your_hostname_or_ip:1521)。
    • 注册的数据库服务(如Service "orcl")及SID列表。

6. (可选)配置自动启动

  • CentOS 7/8(Systemd系统)

    1. 创建Systemd服务文件:sudo vi /etc/systemd/system/oracle-listener.service
    2. 添加以下内容(替换路径及用户):
      [Unit]
      Description=Oracle Listener Service
      After=network.target
      
      [Service]
      Type=forking
      User=oracle
      Group=oinstall
      ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl start
      ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl stop
      Restart=on-failure
      
      [Install]
      WantedBy=multi-user.target
      
    3. 重新加载Systemd配置:sudo systemctl daemon-reload
    4. 启用自动启动:sudo systemctl enable oracle-listener
    5. 启动服务:sudo systemctl start oracle-listener
  • CentOS 6(SysVinit系统)

    1. 创建启动脚本:sudo vi /etc/init.d/oracle-listener
    2. 添加以下内容(替换路径及用户):
      !/bin/bash
       chkconfig: 345 99 10
       description: Oracle Listener Service
      
      ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
      LSNRCTL=$ORACLE_HOME/bin/lsnrctl
      USER=oracle
      
      case "$1" in
        start)
          su - $USER -c "$LSNRCTL start"
          ;
          ;
          
        stop)
          su - $USER -c "$LSNRCTL stop"
          ;
          ;
          
        restart)
          su - $USER -c "$LSNRCTL stop"
          su - $USER -c "$LSNRCTL start"
          ;
          ;
          
        status)
          su - $USER -c "$LSNRCTL status"
          ;
          ;
      
        *)
          echo "Usage: $0 {
      start|stop|restart|status}
          "
          exit 1
          ;
          ;
          
      esac
      exit 0
      
    3. 设置脚本权限:sudo chmod +x /etc/init.d/oracle-listener
    4. 添加至启动服务:sudo chkconfig --add oracle-listener
    5. 启用自动启动:sudo chkconfig oracle-listener on

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


若转载请注明出处: centos lsnrctl配置步骤
本文地址: https://pptw.com/jishu/715209.html
centos lsnrctl服务管理 centos lsnrctl端口设置

游客 回复需填写必要信息