数据库集成与PHP库的使用
1. 数据库连接池
数据库连接池是Oracle 11g中引入的一项重要功能。在介绍连接池之前,先了解一下传统的数据库连接方式:
- 专用服务器连接 :当应用程序请求专用服务器时,会分配一个Oracle服务器进程为其服务。该进程仅为单个应用程序服务,若应用程序空闲,该进程无法处理其他待处理请求。每个进程有自己的工作区域,即进程全局区域(PGA),用于排序和哈希。当专用进程退出时,其PGA会被释放。每个专用服务器连接都会产生创建服务器进程的开销,数据库需要配置为每个连接用户允许一个进程。
- 共享服务器连接 :自Oracle 7起就存在这种连接方式。数据库可配置一组共享服务器进程,为请求用户执行SQL语句。一个进程完成应用A的一个SQL语句后,可开始处理应用B的另一个SQL语句。但不能保证同一请求进程执行的两个连续SQL语句由同一共享服务器执行。所有共享服务器进程的工作区域都在共享内存中,即共享全局区域(SGA),这需要大量的配置工作以确保系统顺利运行,并且需要大量的共享内存,即使不需要时也不能释放。配置和监控共享服务器系统较为复杂,很少使用。
连接池(也称为数据库驻留连接池,DRCP)结合了两者的优点。一旦从池中分配一个进程到一个会话,该进程将在会话期间一直为该会话服务。而且,池中的每个进程都有自己的PGA,避免了昂贵的共享内存配置问题。
连接池的配置步骤如下:
1. 在Oracle RDBMS端配置池 :使用 DBMS_CONNECTION_POOL 提供的PL/SQL包进行配置。
超级会员免费看
订阅专栏 解锁全文
1656

被折叠的 条评论
为什么被折叠?



