ITPub博客

首页 > 数据库 > Oracle > 配置监听详解

配置监听详解

原创 Oracle 作者:贺子_DBA时代 时间:2014-06-24 16:55:10 0 删除 编辑
1.配置监听在服务器端 配置listeners.ora文件  手写内容
WHS01 =                                
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ENMOEDU)(PORT = 1521))
  )
2.在客户端配置tnsnames.ora文件  编写内容
OVERCOME =                     #
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ENMOEDU)(PORT = 1521))     #cat /etc/hosts 可以查看host  (
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SERVNAME_WHS)   #show parameter name   可以查看
    )
  )
   

知识储备 sqlplus   hr/hr@liuwenhe          第一个hr是用户名   第二个是密码     @后面是tnsname.ora 文件里面的内容的第一行的(所要连接的服务器)。




EMNO_DBA3_王宏声 2014/5/21 21:16:14 

监听的图形化配置,使用netmgr(也可以使用 netca)一、配置服务器端,使用动态注册的方式: 注意:请先修改/etc/hosts文件:           ENMOEDU  192.168.80.10
1、export DISPLAY=192.168.80.1:0.0   #使用xcolck测试
2、netmgr 

3、先配置监听服务器端,选择listener,再点击+,输入Listener Name: whs01

点击ok,先配置Listening Locations;

4、再点击下面的ADD ADDRESS,出现如下:

5、设置好主机名ENMOEDU,端口号1521,protocl为tcp/ip;点击file--Save Network configuration;再exit;

##########################################################
没有配置database选项,所以是动态注册方式;若要静态注册的方式,在这个时候要配置database选项部,请在这个时候参考后面的动态配置分:静态注册部分
##########################################################################################
6、启动监听,  lsnrctl start whs01

7、显示没有服务,因为pmon进程是一分钟注册一次,稍等,或者如下手动注册一下
SYS@SID_WHS> alter system register;  System altered.
8、然后再看监听状态:
 lsnrctl  status

9、监听服务已经启动好了,status 为READY,说明是动态注册的。服务器端动态注册监听配置完成;
10、查看脚本, vim listener.ora,结果如下,也可以手动去编写这个脚本文件,内容如下:
WHS01 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ENMOEDU)(PORT = 1521))
  )
二、配置客户端
1、netmgr

2、选择Service Naming ,点击+添加;

3、输入Net Service Name: overcome,点击Next;
4、选择网络通讯协议,TCP/IP ,点击Next;

5、输入 主机名及端口号,点击Next;

说明:Service Name 一定要与数据库中设置的服务名一致,
查看数据库的服务名:
         show parameter service_name
修改数据库的服务名:              alter system set service_names=SERVNAME_WHS,TEST;
6、输入Service Name : SERVNAME_WHS   , 选择连接的类型Connect Type:Dedicated Server为专用服务器,
点击Next;

7、点击,先修改登陆用户,Change Login ,默认是scott用户,Test进行测试;

 
8、测试成功,点击Finish结束,保存并退出。
9、用tnsping命令测试网络服务名,3为次数;
[oracle@ENMOEDU admin]$ tnsping OVERCOME 3
10、说明成功,然后用网络去连接数据库;
        sqlplus hr/oracle@OVERCOME
 
连接成功;
11、回头看脚本,vim tnsnames.ora ,也可以手动的方式去配置此脚本。
OVERCOME =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ENMOEDU)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SERVNAME_WHS)
    )
  )
注意:静态注册监听,客户端在配置tnsnames.ora服务命名时,“(Oracle 8i或更高版本)服务名”里填写内容要与服务端静态注册监听器时的全局数据库名一致。否则,无法连通。如下:

lsnrctl中显示如下
服务“test”包含1个例程。
   例程“mydata”,状态UNKOWN,包含此服务的一个处理程序。。。
test即从监听配置过程,数据库服务中的“全局数据库名”读到的值(即配置文件中GLOBAL_DBNAME的值),“mydata”是从监听配置中,数据库服务中SID读到的值(即SID_NAME的值)。
SID_LIST_LISTENER =
 (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = test)
      (ORACLE_HOME = /orahome/oracle/product/10.2.0/db_1)
      (SID_NAME = mydata)
    )
  )

客户端在配置tnsname时,服务名(SERVICE_NAME)即为test。否则,连接不到数据库。
ABC =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.23)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME =
test)
    )
  )
这里的ABC,服务命名。可以为任意值,在客户端连接服务器时,填写的主机字符串,即为此服务命名ABC。
总结:创建监听器后,再配置监听(动态静态之分)  静态 要在vi $ORACLE_HOME/network/admin/listener.ora 中加东西。动态不需要。
静态 :写死了  就连接某个数据库 ,动态:找到那个连那个。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29654823/viewspace-1192769/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10年数据库管理员从业经历,熟悉Oracle、mysql、tidb、oceanbase、redis、 mongodb 、python等技术栈,持有11g ocm 、mysql 5.7 ocp 、tidb 5.0 ptcp、tidb 6.0 ptca、oceanbase obcp等

注册时间:2014-05-12

  • 博文量
    327
  • 访问量
    2148924