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参数