nginx TCP 负载均衡在oracle 10g负载均衡实践

原创 2016年11月03日 00:15:42

oracle10g不支持SCAN,尝试了jdbc的多连接方式:

(1)thin模式,这个模式是用本地的连接串来实现数据库连接;

(2)oci模式,这个模式是依赖与tnsname,所以要不得安装client要不dbsoft

因为操作系统所限,因为10g 只能安装在rhel4\5之上(只针对linux上来说)。

而且尝试各种写法在11g的客户端上都有问题。

所以就想到了能不能用代理的方式来实现VIP的负载均衡。

而,nginx0.9版本之后支持了TCP\UDP三层的负载均衡功能,之前只是在http、mail上做的七层负载,尝试了下,结果令人满意。


1.软件安装

./configure --prefix=/usr/local/nginx --with-stream --without-http_rewrite_module

--without-http_rewrite_module 此项目用于url重定向,这里不需要,因为是三层的数据转换,所以不用这个模块;


make && make install

2.配置

worker_processes auto;

error_log /usr/local/nginx/logs/error.log info;

events {
    worker_connections  1024;
}

stream {
    upstream orarac {
        server 192.168.137.130:1521;
        server 192.168.137.131:1521;
    }


    server {
        listen 1522 so_keepalive=on;
        proxy_pass orarac;
    }

}

so_keepalive,会话保持,这个得有,要不然在数据库连接的时候就会一个查询在A点另一个飘了,


[oracle@rhel65 ~]$ sqlplus scott/tiger@127.0.0.1:1522/iwhm

SQL*Plus: Release 12.1.0.2.0 Production on Wed Nov 2 23:12:38 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> show parameters;
ORA-03113: end-of-file on communication channel
Process ID: 11402
Session ID: 19 Serial number: 37

3.在数据库上查询会话情况

SQL>  select inst_id,username from gv$session where username is not null;

   INST_ID USERNAME
---------- ------------------------------
	 1 BMSQL
	 1 BMSQL
	 1 SYS
	 1 SYS
	 1 BMSQL
	 1 BMSQL
	 1 BMSQL
	 1 SYS
	 2 SYS
	 2 BMSQL
	 2 BMSQL
	 2 SYS
	 2 SYS
	 2 BMSQL

14 rows selected.

基本上可以保持均衡



版权声明:本文为博主原创文章,未经博主允许不得转载。

nginx支持tcp代理mysql

公司有一个公网ip,有公网ip(222.222.222.222)那台服务器上装的nginx,mysql装在公司另外一台服务器上假设ip为192.168.0.7,我想利用公网ip去访问内网电脑上mysq...
  • wow4464
  • wow4464
  • 2016年04月28日 15:23
  • 5580

nginx 访问问题及oracle连接问题

nginx默认页面访问不了。发现是防火墙中端口没开   执行 命令 iptables -I INPUT -p tcp --dport 80 -j ACCEPT 默认页面可以访问了。但是配置是好的,还...
  • laokaizzz
  • laokaizzz
  • 2016年11月03日 11:02
  • 800

Oracle 负载均衡解决方案

一般我们在数据库中的操作无非不就是增删改查这四个基本操作,最终数据库和磁盘文件打交道也就是读写操作。如果采用传统的一台服务器去运作,可能会在读写高峰时会出现一些无法预知的问题。这些我们或许可以通过优化...
  • Loydia
  • Loydia
  • 2016年12月15日 15:16
  • 3179

oracle的高可用与负载均衡

oracle的高可用与负载均衡
  • master_yao
  • master_yao
  • 2017年03月19日 01:14
  • 1516

Oracle RAC (或OPS)实现自动并行处理、负载均衡

RAC(Real Application Cluster)“实时应用集群”,以前称作OPS(Oracle Parallel Server)“甲骨文并行服务器”,是Oracle新版数据库中采用的一项 高...
  • typa01_kk
  • typa01_kk
  • 2015年04月12日 18:09
  • 2202

Oracle RAC 客户端连接负载均衡(Load Balance)

实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力。通常情况下有两种方式来实现负载均衡,一个是基于客户端连...
  • robinson_0612
  • robinson_0612
  • 2012年10月11日 15:19
  • 21307

Oracle RAC负载均衡 客户端配置

RAC的负载均衡 RAC的负载均衡主要是指新会话连接到RAC数据库时,如何判定这个新的连接要连到哪个节点进行工作。在RAC中,负载均衡分为两种,一种是基于客户端连接的,另外一种是基于服务器端的。...
  • z69183787
  • z69183787
  • 2014年04月12日 18:18
  • 1538

nginx如何做到TCP的负载均衡

如有转载,请声明出处: 极致博客: http://blog.csdn.net/u011218159 TCP 的 负载均衡 这个片段描述了如何通过nginx插件进行负载均衡 在版本5中,n...
  • u011218159
  • u011218159
  • 2016年03月23日 21:47
  • 12214

Nginx基于TCP的负载均衡的配置例子

nginx-1.9.0 已发布,该版本增加了 stream 模块用于一般的 TCP 代理和负载均衡。 The ngx_stream_core_module module is available s...
  • bigtree_3721
  • bigtree_3721
  • 2017年06月01日 18:13
  • 1446

Nginx1.9 配置TCP负载均衡

将nginx-1.9.9.tar.gz解压 tar -zxvf nginx-1.9.9.tar.gz mv nginx-1.9.9 nginx cd nginx ./configure -...
  • chan112147
  • chan112147
  • 2016年01月05日 12:35
  • 2414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx TCP 负载均衡在oracle 10g负载均衡实践
举报原因:
原因补充:

(最多只允许输入30个字)