默认及非默认端口的动态监听/静态监听实验汇总

来源:互联网 发布:制作mv软件 编辑:程序博客网 时间:2024/06/05 06:34
步骤大致是:
实验1.配置一个非默认和默认的动态监听同时存在,非默认监听运行在1525端口
实验2:配置一个非默认端口的动态监听--使用local_listener=的值服务器端的tnsnames.ora里的本地名的方法
实验3.配置一个静态监听,运行在1526端口

数据库内一些参数:
SYS@ bys3>show parameter service
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      bys3
SYS@ bys3>show parameter db_na
NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      bys3
SYS@ bys3>show parameter db_unique
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      bys3
SYS@ bys3>show parameter db_domain
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_domain                            string
SYS@ bys3>show parameter instance_na

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      bys3
关于这几个参数的设置及替换,详见:ORACLE监听之动态监听与静态监听特点

配置默认监听加非默认动态监听示例

1.配置listener.ora,增加非默认动态监听的地址、端口条目

[oracle@bys3 admin]$ more listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1525))
      (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = /u01

2.在数据库中配置 local_listener参数,语句如下:--就是把listener.ora中的几行复制过来,注意换行的括号不要少了。

alter system set local_listener='(DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1525))
      (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1521)))';
SYS@ bys3>alter system register;  --手动注册,或者等上一分钟,让PMON自动进行动态监听注册。
因为这里是local_listener的值是两行ADDRESS,要把DESCRIPTION =也加上。如果是一行,不需要加。如:alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1525))';

3.查看监听状态,动态监听已经注册成功:

[oracle@bys3 ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 14-JAN-2014 22:20:16
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bys3.bys.com)(PORT=1525)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                14-JAN-2014 22:02:22
Uptime                    0 days 0 hr. 17 min. 54 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/diag/tnslsnr/bys3/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=bys3.bys.com)(PORT=1525)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=bys3.bys.com)(PORT=1521)))
Services Summary...
Service "bys3" has 1 instance(s).
  Instance "bys3", status READY, has 1 handler(s) for this service...
The command completed successfully

4.使用SQLPLUS进行登陆测试:

[oracle@bys3 admin]$ cat tnsnames.ora
bys3 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT =1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = bys3)
    )
  )
test =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT =1525))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = bys3)
    )
  )
[oracle@bys3 admin]$ tnsping test
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 14-JAN-2014 22:30:42
Copyright (c) 1997, 2013, Oracle.  All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT =1525)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = bys3)))
OK (0 msec)
[oracle@bys3 admin]$ tnsping bys3
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 14-JAN-2014 22:30:46
Copyright (c) 1997, 2013, Oracle.  All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT =1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = bys3)))
OK (10 msec)

[oracle@bys3 admin]$ sqlplus bys/bys@bys3
SQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 14 22:32:02 2014
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
BYS@ bys3>exit

[oracle@bys3 admin]$ sqlplus bys/bys@test
BYS@ test>exit

###################################################

配置单一一个非默认监听的示例:--参数local_listener值改为tnsnames.ora中的本地名


1.需要把非默认的监听器添加到listener.ora:

[oracle@bys3 admin]$ cat listener.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1529))
    )
  )
 

2.服务器端的tnsnames.ora里添加:

[oracle@bys3 admin]$ cat tnsnames.ora
hello =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT =1529))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = hello)
    )
  )
在这个实验中,local_listener='hello';这样配置时,tnsnames.ora中 (SERVICE_NAME = hello)这一行是无效的,也就是不会应用这个服务名。。  sqlplus aa/bb@hello  这样用本地名连接时,当然会用到了。

3.修改local_listener=的值为服务器端的tnsnames.ora里的本地名

SYS@ bys3>alter system set local_listener='hello';
System altered.
SYS@ bys3>show parameter local_l
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------

local_listener                       string      hello


注意注意:如果在配置好之后,tnsnames.ora里内容发生了变化,hello =本地名被删改了总之是找不到这个字段,重启数据库会报错:
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'aa'
但是如果数据库未重启,而删除tnsnames.ora或hello =本地名的字段是没影响的,应该是信息已经加载到内存了。

4.重启监听后查看监听状态:  --这里的服务名还是来自数据库参数service_names

[oracle@bys3 admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-JAN-2014 13:53:14
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bys3.bys.com)(PORT=1529)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                17-JAN-2014 13:51:10
Uptime                    0 days 0 hr. 2 min. 4 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/diag/tnslsnr/bys3/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=bys3.bys.com)(PORT=1529)))
Services Summary...
Service "bys3" has 1 instance(s).
  Instance "bys3", status READY, has 1 handler(s) for this service..
.
The command completed successfully
#################

配置静态监听:

1.配置listener.ora,增加相应条目

[oracle@bys3 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1525))
      (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1521))
    )
  )

l3 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT = 1526))
    )
  )
SID_LIST_l3=
  (SID_LIST=
   (SID_DESC=
   (GLOBAL_DBNAME=bys9)
    (SID_NAME=bys3)
    (ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)))
ADR_BASE_LISTENER = /u01



2.启动监听,查看状态:

[oracle@bys3 ~]$ lsnrctl status l3
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 14-JAN-2014 22:19:49
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bys3.bys.com)(PORT=1526)))
STATUS of the LISTENER
------------------------
Alias                     l3
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                14-JAN-2014 22:15:15
Uptime                    0 days 0 hr. 4 min. 34 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/diag/tnslsnr/bys3/l3/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=bys3.bys.com)(PORT=1526)))
Services Summary...
Service "bys9" has 1 instance(s).
  Instance "bys3", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

#################

3.使用SQLPLUS进行登陆测试

[oracle@bys3 admin]$ cat tnsnames.ora
test9 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT =1526))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = bys9)
        )
  )
[oracle@bys3 ~]$ tnsping test9
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 14-JAN-2014 22:37:56
Copyright (c) 1997, 2013, Oracle.  All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = bys3.bys.com)(PORT =1526))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = bys9)))
OK (10 msec)
[oracle@bys3 ~]$ sqlplus bys/bys@test9
SQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 14 22:38:05 2014
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
BYS@ test9>

0 0
原创粉丝点击