暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux系统下配置Oracle监听程序和客户端

原创 bingo 2023-01-12
4205

  监听器是客户端和服务器端的中间组件,负责对客户端传入的连接请求进行监听,并且对服务器端的连接负荷进行调整。当客户端视图建立一个到服务器端的连接时,监听器接收到客户端的请求,然后再将它交给服务器进行处理,一旦客户端和服务器建立连接,客户端和服务器以后就直接进行通信,而不再需要监听器的参与。

创建监听程序

方法一、

1.用oracle用户登录到操作系统,然后启动图形界面。

2.在终端输入netca,启动监听器的图形界面配置。选择“侦听器配置(Listener Configuration)”,然后单击“Next”。

[oracle@myoracle ~]$ netca

3.由于是添加第一个侦听器,所以这里只能选“添加(Add)”,然后单击“Next”。

4.这里输入侦听器的名字,也可以保持默认,然后单击“Next”。

5.侦听器使用的协议,这里选择默认,然后单击“Next”。

6.配置侦听器的端口,默认是使用1521,如果有需要可以按照要求进行修改。这里选择默认,然后单击“Next”。

7.是否还要配置另外的侦听器,这里不配置了,所以选择默认的“NO”,然后单击“Next”。

8.这里单击“Next”,在跳出来的对话框选择“Finish”。

9.在终端输入netmgr,打开Net Manager。

[oracle@myoracle install]$ netmgr

10.打开“本地(local)”--“监听程序(Listeners)”,找到我们前面创建的监听程序。

11.单击右侧的下拉菜单,选择“数据库服务(Database Services)”,输入数据库的名称和SID。然后选择“文件(Files)”--“保存网络设置(Save Network Configuration)”

12.查看监听程序的状态。如果有看前面创建的服务名处于ready状态,说明是OK的。

lsnrctl status ---查看监听程序的状态

lsnrctl stop ---停止监听程序

lsnrctl start ---启动监听程序

[oracle@myoracle install]$ lsnrctl status

命令Status将会列出下面的有关监听器的信息:

  • 监听器的名称,监听器的版本号、监听器的启动时间、运行时间、跟踪级别、监

听器配置文件listener.ora的位置等。

  • 监听器的地址信息,包括主机名、断开号等。
  • 监听器的实例的状态信息,实例有下面几种状态:
    1. READY表示实例可以接受连接。
    2. BLOCKED表示实例不能接受连接。
    3. READY/SECONDARY表示这是群集(Real Application Cluster)的第

二个实例,准备接受连接。

    1. UNKNOWN表示监听器的静态注册的(Registered Statically)。


方法二、

因为方法一的图形界面其实就是生成了一个listener.ora的文件,所以我们可以进入到$ORACLE_HOME/network/admin下面直接创建listener.ora,然后修改相应的内容即可。

1.进入$ORACLE_HOME/network/admin目录下面。

[oracle@myoracle1 ~]$ cd $ORACLE_HOME/network/admin

[oracle@myoracle1 admin]$ pwd

/opt/app/product/11.2.0/db_1/network/admin

2.创建和编辑listener.ora

[oracle@myoracle1 admin]$ vi listener.ora

3.输入下面的内容(需要相应的修改),然后保存即可。

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = myora--修改为自己的数据库名)

(ORACLE_HOME = /opt/app/product/11.2.0/db_1 ---修改为自己的数据库主目录)

(SID_NAME = myora ---修改为自己的SID)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = myoracle1--修改为自己的主机名)(PORT = 1521))

)

ADR_BASE_LISTENER = /opt/app


方法三、

使用应答文件以自动方式运行netca实用程序。使用这种模式可以使处理过程脚本化,还可以确保以复用方式创建和实现监听器。

1、找到ORACLE_BASE目录下面默认应答文件。

[oracle@oralce12 admin]$ find /u01/app/ -name "netca.rsp"


2、将默认应答文件拷贝到某个路径下面。

[oracle@oralce12 admin]$ cp

//u01/app/oracle/product/19.3.0/dbhome_1/assistants/netca/netca.rsp

/u01/app/mynet.rsp


3、如果想修改默认的名称和其他属性,可以编辑该应答文件。

[oracle@oralce12 admin]$ vi /u01/app/mynet.rsp


4、这里使用默认值运行netca实用程序。

[oracle@oralce12 admin]$ netca -silent -responsefile /u01/app/mynet.rsp


该命令会在ORACLE_HOME/network/admin/目录中创建listener.ora和sqlnet.ora文件,并启动了默认的监听器。


客户端配置

配置监听器只是配置Oracle网络的第一步;监听器配置完成之后,还需要配置Oracle客户端网络,才能实现客户端到服务器端的连接。

方法一、

1.在终端输入netca,启动监听器的图形界面配置。选择“侦听器配置(Listener

Configuration)”,然后单击“Next”。

[oracle@myoracle ~]$ netca

2.选择“本地  络服务名称配置(Local Net Service Name configuration)”,然后单击“Next”。

3.选择默认的“Add”,然后单击“Next”。

4.输入服务的名称,这个根据自己的实际情况填写,然后单击“Next”。

5.选择“TCP”协议,然后单击“Next”。

6.输入主机的IP地址,然后单击“Next”。

7.是否测试,按照自己的需要进行选择,我这里就不测试了,直接单击“Next”。

8.输入一个网络服务名,然后单击“Next”。

9.是否还配置其他的网络服务名,这里选“NO”,然后单击“Next”。

10.选择“Next”。

11.选择“Finish”。

方法二、

其实上面的图形界面是在$ORACLE_HOME/network/admin路径下面创建了一个

tnsnames.ora的文件,所以我们可以通过手动创建该文件,然后输入相应的内容即可。

1.进入$ORACLE_HOME/network/admin目录下面。

[oracle@myoracle1 ~]$ cd $ORACLE_HOME/network/admin

[oracle@myoracle1 admin]$ pwd

/opt/app/product/11.2.0/db_1/network/admin

2.创建和编辑tnsnames.ora。

[oracle@myoracle1 admin]$ vi tnsnames.ora

3.输入下面的内容,按照自己的情况进行修改,然后保存退出即可。

MYORA = ---修改为自己要设定的名称

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.83.174 --修改为自己主机IP)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = myora ---修改为自己的服务名)

)

)


测试客户端到服务器的连接

上面的客户端配置好了以后,可以测试下客户端到服务器的连通性是否有问题。可以使用tnsping命令进行测试,返回OK,说明是正常的。

[oracle@bingo admin]$ tnsping bingo

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论