Listener 宝典

在一台陌生主机上,怎样确定网络配置?

 

1. 首先确定ORACLE运行的宿主OS用户。可用pe -ef 以查看 ora_smon_xxx 进程跑在哪个用户下的

bash-3.00$ ps -ef |grep ora_smon
 oslubj0 23581     1   0 00:36:58 ?           0:28 ora_smon_lubj0
 oslucs0 25770     1   0 00:40:04 ?           1:01 ora_smon_lucs0
 osluqd0 20482     1   0 00:31:13 ?           0:31 ora_smon_luqd0

ora_smon_<SID> 后面那个字符串即数据库SID。上例中有三个不通的OS用户,每个用户都起了一个ORACLE instance。

 

2. 切换到oracle宿主用户,运行env等命令,或者ls prof_* ,确保 $ORACLE_SID, $ORACLE_SID等正确。

 

3. env, 看看 TNS_ADMIN 的值,即为 listener.ora 文件之所在! 下面都是浮云了。如果没有TNS_ADMIN这个变量,那么使用的就是默认的$ORACLE_HOME/network/admin/listener.ora 

  

3. 找到正确的listener参数文件:

lsnrctl status $ORACLE_SID, 先看看默认的listener是否启动。如果有异常,可以试着运行 lsnrctl start:

 

 Alias                     LISTENER
Version                   TNSLSNR for Solaris: Version 10.2.0.3.0 - Production
Start Date                03-DEC-2010 14:17:52
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /etc/paic/network/admin/listener.ora
Listener Log File         /paic/bj/lbs/data/app/oracle/product/10.2.0/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=e2cs5010)(PORT=1521)))
The listener supports no services
The command completed successfully

 

注意红色部分的文件,这才是本环境配置的listener文件。

4. 编辑listener参数文件,看看是哪个listener在监听当前SID:

cowlusj0=
  (description_list=
    (description=
      (address_list=
        (address=(protocol=TCP)(HOST=10.31.2.75)(PORT=1560))
      )
    )
  )

 

SID_LIST_COWLUSJ0=
  (SID_LIST=
    (SID_DESC=
      (ORACLE_HOME=/paic/sj/lbs/data/app/oracle/product/10.2.0)
      (SID_NAME=lubj0)
    )
  )

先看SID_NAME=lubj0 定义在哪个 SID_LIST 中。然后找到SID_LIST_COWLUSJ0,“SID_LIST_”后面那部分字符串就是listener名称。

然后找到定义 COWLUSJ0的部分,可以得到IP,端口。

 

注意,listener的名称很重要。lsnrctl 工具里,如果不写具体的listener名称,那么操作的都是默认的1521端口上的listener。如果要启动或者停止特定的listener,必须这样写:

lsnrctl> status cowlusj0

lsnrctl> start cowlusj0

lsnrctl> stop cowlusj0

 

如果只是写 lsnrctl> stop 那么不会影响除1521端口之外其他的listener的。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值