2、在没有数据库连接池 的情况下, 一个客户,每次访问, 就要创建一个 数据库连接, 执行 SQL, 获取结果, 然后关闭、释放掉数据库连接,问题就在于创建一个数据库连接, 是一个很消耗资源,花费很多时间的 *** 作,于是数据库连接池产生了。
3、数据库连接池 预先打开一定数量的数据库连接, 并维持着连接。
4、当客户要执行SQL语句的时候, 从数据库连接池 里面,获取一个连接,执行SQL, 获取结果, 然后把数据库连接,交还给数据库连接池。
5、假如一个 session , 执行10次独立的 *** 作,那么不使用 数据库连接池的,需要创建数据库连接10次,并关闭10次。
6、使用 数据库连接池的,直接使用 数据库连接池中已经打开好的,直接使用。
如何设置数据库的连接数和连接超时时间连接数的话可以修改spfile文件来约束
查看当前的连接数:
select count(*) from v$process
–数据库允许的最大连接数:
select value from v$parameter where name = ‘processes’;
–修改最大连接数:alter system set processes = 500 scope = spfile
–重启数据库:shutdown immediate
startup
–查看当前有哪些用户正在使用数据
SELECT osuser, a.username,cpu_time/executions/1000000||’s’, sql_fulltext,machine
from v$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executions desc
连接超时时间的话有很多办法,最常用的是
在你的oracle服务器的 $ORACLE_HOME/network/admin 中的 sqlnet.ora中设置参数SQLNET.EXPIRE_TIME= n n为一个指定的分钟数
当客户端中断,在 n 分钟内就可以自动断开连接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)