net oracle连接池配置,Oracle ODP.NET连接池
数据库连接池
连接池是数据库连接的缓存,每当应用程序需要连接数据库时向连接池申请数据库连接,连接池负责具体数据库连接的创建和销毁。连接池中的数据库连接会缓存一段时间,后续的连接请求首先使用缓存中的数据库连接,如果缓存中有空闲的连接则直接使用,无空闲连接时就去新创建。这样可以提高因数据库连接创建而额外消耗的资源,从而提高整体性能。
.NET连接Oracle
.NET连接Oracle数据库的库主要有3种:
.NET自带的 .NET Framework Data Provider for Oracle
Devart提供的dotConnect for Oracle
Oracle提供的 Oracle Data Provider for .NET / ODP.NET
目前xAsset系统使用的是第3种,由Oracle提供的ODP.NET。ODP.NET提供了一套实现了ADO.NET相关接口的类,并提供了使用Oracle数据库一些高级功能的接口,比如RAC,XML DB,批量插入等。相对于.NET自带的库性能上也提高不少。
ODP.NET现在是Oracle ODAC(Oracle Data Access Component)的一部分。使用前需要先安装ODAC组件,Oracle提供了xcopy的方式和可执行程序的方式供下载安装。具体安装方法见xAsset系统发布说明或官方文档。
ODP.NET的数据库连接字符串格式主要有以下几种:
使用TNS
该方式需要配置TNS,一般需要提供用户id和密码(集成认证方式可以省略用户id和密码)。具体的字符串格式如下:
Data Source=TORCL;User Id=myUsername;Password=myPassword;
不依赖tnsnames.ora的ODP.NET方式
该方式不需要配置TNS,以把配置在TNS里的连接字符串直接放到Data Source节点中的方式实现。连接字符串中直接提供了服务器地址,端口,实例等信息,具体格式如下:
Data Source=(DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=MyHost) (PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));
User Id=myUsername;Password=myPassword;
使用EZ Connect的方式
使用EZ Connect方式也不需要进行特殊配置,但需要数据库服务中的sqlnet.ora启用该方式,添加NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)启用,具体连接字符串格式如下:
Data [email protected]//instancename;
ODP.NET的连接池及相关功能
ODP.NET提供了连接池的功能。当然我们可以选择使用或不使用,是否启用连接池功能由数据库连接字符串决定。连接参数提供了Pooling这个参数,如果值为true则启用连接池,否则不启用,不提供该参数时默认是启用连接池的。
数据库连接参数中除了上面提到的标准参数Data Source,User Id,Password外,与连接池相关的参数主要有几个:Connection Lifetime, Connection Timeout, Decr Pool Size, Incr Pool Size, Max Pool Size, Min Pool Size, Pooling, Validate Connection。
当启用连接池时,取得一个数据库连接的过程大致如下:
l 如果连接池不存在(比如应用程序刚启动第一次访问数据库),则ODP.NET创建连接池并按参数“Min Pool Size”设置的值(默认1)初始化数据库连接。这个值指定了连接池中的最小连接数量,无论如何连接池中至少有该值设定的数据库连接存在。直到连接池销毁。
l 如果连接池存在,则检查是否有可用连接。
u 如果有可用连接,连接就从池中取出返回给应用程序。
n 如果启用了“Validate Connection”,则连接池会去数据库服务器验证当然连接是否有效。
u 如果没有可用连接,连接池会检查当前池中的连接数是否已达到指定的上限“Max Pool Size”(默认100)。
n 如果已经达到最大上限,则请求会等待一段“Connection Timeout”(默认15秒)指定的时间,检查是否这段时间内有连接返回到池中。
如果有连接返回到池中,则直接取该连接返回给请求的应用程序。
如果指定时间内仍没有连接可用,则抛出“Connection request timed out”异常。
n 如果还没达到上限,则连接池会主动创建“Incr Pool Size”(默认5)指定的值的连接,并返回其中一个给请求的应用程序。
当应用程序从数据库取得数据并调用Close()/Dispose()时,连接池检查连接的生命同期是否超过了“Connection Lifetime”(默认0,不检查)。
如果连接的生命周期超过了定义的值,则该连接会被真正关闭。这个关闭,指应用程序所在连接池到数据库服务器的物理连接关闭。
连接只有返回到池中时才会做该检查,如果在使用中不会检查。
当然如果连接真正关闭后池中的连接数量会小于“Min Pool Size”指定的值时,连接也不会关闭。
连接池每隔3分钟会关闭池中没有使用的连接,每次关闭的数量由“Decr Pool Size”设定的值(默认1)指定。
原文:http://www.cnblogs.com/jmax/p/4238676.html
net oracle连接池配置,Oracle ODP.NET连接池相关推荐
- 电脑显示系统无法自动配置网络连接服务器,win10系统本地连接IP配置出现故障无法连接网络如何解决-win10 网络...
连接网络的时候,出现故障无法上网.经诊断后,Win10系统弹出提示"本地连接没有有效的IP配置".这则说明网络连接故障是因为本地连接没有有效的IP配置.不同的网络环境下,有些网络故 ...
- 连接池配置oracle aix,一次AIX系统swap使用过高的故障解决过程
今天早上回到办公室没多久就接到了新炬过来的电话,说我们的数据库服务器swap使用已经过了告警基准线,让我去看看应用是否还运行正常.于是赶紧登陆服务器查了一下swap的活动情况: [cramer@zhz ...
- 配置oracle网络连接命令,配置oracle网络环境
向数据库注册实例的方法有静态注册和动态注册两种.对于静态注册来说,我们可以将一列硬编码在listener.ora文件中.动态注册意味着实例在启动时要定位侦听器并注册到侦听器中. 动态注册是向侦听器注册 ...
- websphere配置oracle数据源,Websphere - 配置Oracle数据源
Websphere 6.0下Oracle数据源配置 一.配置Oracle数据库 打开Oracle Enterprise Manager Console,右键点击数据库FLOW-〉查看/编辑详细资料-〉 ...
- 系统dsn oracle,linux平台配置oracle odbc dsn的方法.docx
linux平台配置oracle odbc dsn的方法.docx LINUX平台配置ORACLEODBCDSN的方法1DSN配置方法ORACLE11编辑配置文件一.OSRHEL5X86(ORACLED ...
- oracle运行环境配置,oracle 环境配置开机自启动
环境:centos 6.5 + oracle 11g 自启动之前问题 虚拟机里的oracle环境,每次重启完系统,用plsql developer连接,先是报错: 无TNS监听程序 解决方法是切换到系 ...
- oracle rac war配置,Oracle RAC安装配置流程
系统部分 1.建立用户 2.设定IP 3.每个节点的IP解析 4.SSH的配置 为用户等效性配置SSH(在所有节点上执行) 在安装Oracle RAC 10g期间,OUI需要把文件复制到集群中的其他主 ...
- oracle 数据库基础配置,Oracle数据库网络服务配置基础、SQL编程详解-Oracle
Oracle数据库是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.Oracle数据库的主要内容包括:表空间.用户权限.四种约束等基础概念,DDL ...
- oracle开启ssl配置,oracle SSL 配置
百度CDN 网站SSL 配置 百度CDN SSL配置步骤 一般从SSL提供商购买到的证书是CRT二进制格式的. 1. 将 CRT 导入到IIS中, 然后从IIS中导出为PFX格式 2. 下载opens ...
最新文章
- 解题报告:luogu P2341 受欢迎的牛(Tarjan算法,强连通分量判定,缩点,模板)
- ubuntu nohup php,Ubuntu安装PhpStorm并设置快速启动phpstorm
- 抽象方法可以有方法体_抽象类和模板方法设计模式
- (计算机组成原理)第一章计算机系统概述-第四节:计算机的性能指标
- MSP430学习笔记2---两个LED同时亮灭和顺闪
- TensorFlow官方文档术语表
- 基于LD3320的非特定人语音识别方案
- python函数 模块先加载到内存后执行_Python从内存中使用编译后的模块
- R可能让您惊喜的10件事
- 新建Office文件丨默认模板文件
- 数据结构中数据元素与数据项的区别
- linux 极路由救砖,极路由刷机教程 极路由救砖方法图文详解
- ocelot和nginx比较_针对 Ocelot 网关的性能测试
- [cv]郑哲东 Deep-ReID——Learn pedestrian representations from
- mac mini u盘安装系统_用u盘安装win7系统安装步骤
- 腾讯的核心竞争力是什么!
- 数学之路(3)-数据分析(4)
- 利用Python访问Mysql数据库
- GPU CUDA Python笔记
- 有道云笔记中markdown插入本地图片(绝对路径)后无法显示图片问题