操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

带你深入理解系统全局区(SGA)的概念

2007-11-29 作者:chenyulian 网友评论 0 条 点击进入论坛

  简介:系统全局区(SGA)是一个分配给Oracle 的包含一个 Oracle 实例的数据库的控制信息内存段。

  主要包括:

  数据库高速缓存(the database buffer cache),

  重演日志缓存(the redo log buffer),

  共享池(the shared pool),

  数据字典缓存(the data dictionary cache)以及其它各方面的信息。

  ...

  db_block_buffers :

  1、数据高速缓冲区

  2、访问过的数据都放在这一片内存区域,该参数越大,Oracle在内存中找到相同数据的可能性就越大,也即加快了查询速度。

  3、db_block_buffers以块为单位,假如DB_BLOCK_SIZE=2K,db_block_buffers=3200,则占用内存=3200*2K=6400K。

  share_pool_size :

  1、SQL共享缓冲池

  2、该参数是库高速缓存和数据字典的高速缓存。

  Log_buffer:

  1、重演日志缓冲区

  sort_area_size:

  1、排序区

  processes:

  1、同时连接的进程数

  global_names:

  1、如果“数据库链路名”和它所要连接的“数据库”拥有相同的名字,则设置global_names = TRUE否则,设置global_names = FALSE

  db_block_size:

  1、数据库块大小

  2、Oracle默认块为2KB,太小了,因为如果我们有一个8KB的数据,则2KB块的数据库要读4次盘,才能读完,

  而8KB块的数据库只要1次就读完了,大大减少了I/O操作。

  3、数据库安装完成后,就不能再改变db_block_size的值了,只能重新建立数据库

  并且建库时,要选择手工安装数据库。

  open_links:

  1、同时打开的链接数

  dml_locks:

  1、用户一次可对表设定锁的最大数目

  2、如果有三个用户修改6个表,则需18个DML锁来实现并行操作,如果设定DML_LOCKS不够大,操作时执行将中断,你可以通过你的应用程序的操作规模和最大的并行使用的用户数来估算系统所需要的DML_LOCKS的值,但该值的大小对数据库的其他性能没有影响,所以一般都把它设得很大,远超过实际中可能达到的值,如果在系统运行中经常发生表锁死的现象,就应该考虑加大该值。

  open_cursors:

  1、打开光标数

  2、这个参数可以同时被每个用户进程拥有,这个参数的最大值依操作系统不同而不同。

  3、在创建一个包含很多表的合成视图时,如果此参数很小,则视图创建会不成功。

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46473 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail