oracle 11g rac 修改监听端口号
本帖最后由 guyeh 于 2013-08-27 17:33 编辑求助:生产RAC环境上有三个实例,现要修改其中一个实例的监听端口号,同事不影响其他实例的业务。从网上找到的资料进行了如下操作未成功,请大侠们指点,生产环境不敢轻易处理。
SQL> show parameter local
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
DRESS=(PROTOCOL=TCP)(HOST=10.1
72.19.4)(PORT=1521))))
log_archive_local_first boolean TRUE
parallel_force_local boolean FALSE
SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.172.19.4)(PORT=1522))))' scope =both sid='rac1';
System altered.
SQL>alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.172.19.2)(PORT=1522))))' scope =both sid='rac2';
System altered.
SQL> alter system register;
System altered.
$ ls srvctl
srvctl
$ pwd
/u01/app/oracle/product/11.2/bin
$ ./srvctl stop listener -n rac1
$ ./srvctl stop listener -n rac2
$ ./srvctl start listener -n rac1
$ ./srvctl start listener -n rac2
lsnrctl status检查没有失败的
监听文件的内容
$ cat listener.ora
LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent
LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
系统环境:redhat 6.2 64bit+oracle11g rac 在listener.ora文件里配置新的监听端口,列如:1522,1523等,和原来的监听端口1521不冲突
举例:
1521端口:
在listener.ora文件里:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = user-PC)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
1522端口:
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = user-PC)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
1523端口:
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = user-PC)(PORT = 1523))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
这样就实现了不同的监听端口给不同的应用连接使用。
回复 2# www_xylove
listener.ora中不用指定端口对应的实例名吗?监听程序工作的时候怎么区分哪个实例是1522端口,而其他实例是1521端口呢
我现在对这个文件中该怎么写有点迷糊。:mrgreen: 你可以在listener.ora文件添加SID_LIST_LISTENER2区分实例名称
我新建了一个监听,
srvctl add listener -l NEW_XDRAC_LISTENER -o $ORACLE_HOME -p 1600 -k 1
srvctl start listener -l NEW_XDRAC_LISTENER
在listener.ora中添加了如下内容
SID_LIST_NEW_XDRAC_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = URPJW)
(ORACLE_HOME = /u01/app/11.2.0/grid)
(SID_NAME = rac1)
)
)
现在的情况是在rac某个节点上只要在tnsnames.ora文件中配置好 tnsping可以成功,但是sqlplus不能连接,jdbc都访问不到,防火墙都开放了的,这是为啥
$ lsnrctl start NEW_XDRAC_LISTENER
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 02-SEP-2013 11:45:51
Copyright (c) 1991, 2011, Oracle.All rights reserved.
TNS-01106: Listener using listener name NEW_XDRAC_LISTENER has already been started
$ lsnrctl statu NEW_XDRAC_LISTENER
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 02-SEP-2013 11:46:02
Copyright (c) 1991, 2011, Oracle.All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=NEW_XDRAC_LISTENER)))
STATUS of the LISTENER
------------------------
Alias NEW_XDRAC_LISTENER
Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date 30-AUG-2013 08:35:48
Uptime 3 days 0 hr. 10 min. 14 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File /u01/app/11.2.0/grid/log/diag/tnslsnr/xdrac2/new_xdrac_listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=NEW_XDRAC_LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.172.19.3)(PORT=1600)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.172.19.4)(PORT=1600)))
Services Summary...
Service "RAC" has 1 instance(s).
Instance "racurpjw1", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
$ tnsping rac
TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 02-SEP-2013 11:49:22
Copyright (c) 1997, 2011, Oracle.All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xdrac2-vip)(PORT = 1600)) (ADDRESS = (PROTOCOL = TCP)(HOST = xdrac1-vip)(PORT = 1600)) (LOAD_BALANCE = yes)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = rac) (FAILOVER_MODE = (TYPE = select) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5))))
OK (0 msec)
$
$ sqlplus
SQL*Plus: Release 11.2.0.3.0 Production on Mon Sep 2 11:53:42 2013
Copyright (c) 1982, 2011, Oracle.All rights reserved.
Enter user-name: system/password@rac
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
数据库肯定是起来了的 oracle11g新建监听最好使用图形界面netca,在通过srvctl 加入资源。
页:
[1]