Oracle Connection Manager是一个软件组件,可以在oracle客户端上指定安装这个组件,Oracle连接管理器代理发送给数据库服务器的请求,在连接管理器中,我们可以通过配置各种规则来控制会话访问。
简而言之,不同于专用连接的1个client对应1个server进程,和共享连接的n个client进程 由dispatcher 向服务器多个共享server发起会话
连接管理器将client向客户端发起的会话进行统一管理。
简而言之,oracle不能够支持哪一些主机可以访问服务器上面的哪一些service,而连接管理器可以做到,我们可以通过连接管理器实现会话多路复用,即:把多个 客户端的请求进行管理,连接管理器向服务器发起请求时,只需一个连接即可。这样就提高了oracle服务器处理更多客户端请求的任务的能力。
实现过程:两台主机
| 服务器 | 客户端 | |
| ip | 192.168.80.100 | 192.168.80.101 |
| 主机名 | temp | connector |
| 要求 | 安装19c db | 安装19c client |
在安装19c client时选择自定义安装,自主选定Oracle Connection Manager组件,否则默认将不会安装这个组件。
一.修改cman.ora文件
![]()
在示例文件中拷贝一份cman.ora到admin目录下
修改cman.ora文件



修改这三部分即可,注意:不要修改缩进,cman文件对缩进有要求,
如果 cman 和数据库服务器不在同一台主机上,必须设置下面参数,否则无法把数据库上 的 service 注册到 cman 上,如上图。。。
(registration_invited_nodes=192.168.80.100)
二,启动cman实例
cmctl
administer cman_connector
startup

show all --查看配置信息

三,连接管理器获取服务器service

如图,cman已经启动,但是数据库服务未被拉取,客户端还需要配置tnsname和一个参数。
切换到数据库 服务器
1.修改tnsname文件

2.修改 remote_listener 参数 为 LISTENER_CMAN

服务器修改完毕
四,此时去执行show service 服务器service已经被注册到连接控制器。

此时,服务已经注册成功。
零散需要注意的事项:把两个机器个主机名和ip的映射都写入/etc/hosts文件中

cman.ora需要增加如下规则(这个十分重要!!!!!),允许连接管理器连接到本地:

在connector tnsname中添加两个连接:

实验一下是否可以成功登录

在服务器查看 登录状况,可以看到下图system用户使用connector登录,使用专用连接

五.实现多路复用

修改dispatchers参数





















