Oracle: 1个用户连接在服务器上,占用多少内存?如何调整?
来源:互联网 发布:手机淘宝联盟没有鹊桥 编辑:程序博客网 时间:2024/05/16 16:58
客户端通过和服务器创建一下个连接后,才能连接到服务器,此时,服务器需要分配一定的资源给用户连接,也就是PGA.那么,Oracle是如何管理PGA的呢?一个PGA到底需要服务器分配多少资源呢?如何调节这种分配呢?
PGA是服务器分配的用来管理所有用户连接的资源的总和.当有用户连接服务器时,Oracle从PGA中分配一定内存,组成UGA,也就是一个连接对应一个UGA,
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
PGA大小:
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ----------------------
pga_aggregate_target big integer 16777216
所有的session使用的pga总和由两个参数决定
一个是pga_aggregate_target ,另一个是:
SQL>show parameter workare
NAME TYPE VALUE
------------------------------------ ----------- ----------------
workarea_size_policy string AUTO
当前session使用的pga和uga:
SQL> select a.name,b.value/1024/1024 value
2 from v$statname a,v$mystat b
3 where a.statistic# = b.statistic#
4* and a.name like '%ga memory%';
NAME VALUE
---------------------------------------------------------------- ----------
session uga memory .073394775
session uga memory max .135826111
session pga memory .194011688
session pga memory max .256511688
如果workarea_size_policy 为 AUTO, sort area将失去意义.
在这个参数出现之前,DBA要调整参数SORT_AREA_SIZE、 HASH_AREA_SIZE,、BITMAP_MERGE_AREA_SIZE 和CREATE_BITMAP_AREA_SIZE,使性能和PGA内存消耗最佳。对这些参数的调整是非常麻烦的,因为即要考虑所有相关的操作,使工作区适合它们输入数据大小,又要使PGA内存不消耗过大导致系统整体性能下降。
9i以后,通过设置了参数PGA_AGGREGATE_TARGET,使所有会话的工作区的大小都是自动分配。同时,所有*_AREA_SIZE参数都会失效。在任何时候,实例中可用于工作区的PGA内存总数都是基于参数PGA_AGGREGATE_TARGET的。工作区内存总数等于参数PGA_AGGREGATE_TARGET的值减去系统其他组件(如分配给会话的PGA内存)的内存消耗。分配给Oracle进程的PGA内存大小是根据它们对内存的需求情况来的。
- Oracle: 1个用户连接在服务器上,占用多少内存?如何调整?
- 游戏服务器内存占用动态调整
- Oracle的实例占用内存调整
- Oracle数据库如何查看当前服务器有多少个数据库?
- 如何在samba服务器上添加用户
- Oracle 在AIX上的性能调整 -- 内存篇
- Oracle数据如何查看有多少用户连接以及如何kill某个连接
- 如何在oracle数据库里面建立多个用户连接到plsql客户端
- 调整服务器运行占用内存大的过程
- 9i如何确认每个连接用户占用的内存量
- Oracle表中的一条记录占用weblogic多少内存
- 服务器安装oracle前的内存调整
- 【转】sql server 2000可以放多少个表,多少个数据库,多少个用户连接?
- sqlserver如何查询sql语句占用内存多少
- 在C++中一个类对象究竟占用多少内存
- 在C++中一个类对象究竟占用多少内存
- 在C++中一个类对象究竟占用多少内存
- 在 Chrome 中 JavaScript 数组到底占用了多少内存?
- 经典算法-C#四种排序算法
- Vi操作指南
- sendmessage全力打造无标题栏如有标题栏(C#)
- 不可不读的20条生活的忠告(中英文)
- CSS基础
- Oracle: 1个用户连接在服务器上,占用多少内存?如何调整?
- 旅途的包袱
- 程序员真实写真:35岁前成功的12条黄金法则
- 转贴: Kademlia详解
- 企业管理软件需要怎样的UI? - 从微软的Dynamic系列看起
- MS WEB SKILL
- VC中窗口ID,句柄,指针三者相互转换函数
- 关于vc++中的坐标转换的几点认识
- [转贴]Windows内核技术的精华站点