e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 数据库 >> Sybase教程 >> SYBASE内存和缓冲区管理(rekcah0) >> 教程正文
 
教程搜索
 
 
相关教程
  • Sybase数据库简介
  • 为什么有时候数据库事务日志满了,不能
  • 在LINUX下安装 Sybase ASE 11.0.3.3
  • Dealing with identity gaps (Freebo
  • 关于sybase数据库的锁
  • SYBASE内存和缓冲区管理(rekcah0)
  • sybase 临时数据库tempdb (Arnold)
  • SYBASE dbccdb的安装配置攻略
  • 从数据库应用系统查找解决阻塞问题
  • Sybase数据库的碎片整理( arnold )
  • SYBASE数据库用户管理基本概念 (howto
  • sybase 珍藏系列之三(from shanhan)
  • sybase 珍藏系列之四(from shanhan)
  • SYBASE补丁安装指南
  • 解决 Error 605 错误的方案
  • Sybase TraceFlag 定义
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
SYBASE内存和缓冲区管理(rekcah0)
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9
是编辑配置文件中的total memory参数后重启使之生效.


A. 交互式配置

> 创建命名缓冲区 (新创建的命名缓冲区从缺省缓冲区default data cache中分配空间)

每次执行sp_cacheconfig或sp_poolconfig时,SQL SERVER都将新的缓冲区或缓冲池信

息写入配置文件中并将文件的旧版本拷贝到一个备份文件中,给出备份文件名的信息被

送至错误日志.

创建一个新的名为pubs_cache的10M缓冲区指令如下,大小单位除M外,还可为P页,K,G,

(默认为K).该指令将改变系统表并将新值写入配置文件但暂不激活缓冲区,要使其生效

须重启SQL SERVER.

sp_cacheconfig pubs_cache,"10M"

在重启SQL SERVER使新值生效前,可先用sp_cacheconfig "pubs_cache"查看配置信息

如下,其中的status列值为pend/act说明该缓冲区的配置是挂起的,要待重启后生效,故

Config value(配置的值)和Run value(正在使用的值)不同.

Cache Name Status Type Config value Run value

---------------- ------ ------ ---------------- -------------

pubs_cache pend/act mixed 10.00MB 00.00MB

-------------------------------

Total 10.00MB 00.00MB

重启后再允许不带缓冲区名参数的sp_cacheconfig,则信息改变如下,可见pubs_cache

已被激活,默认缓冲区从其空间中分出了10M给该缓冲区.可利用sp_cacheconfig过程设置

默认数据缓冲区的最小值,该部分空间将被锁定给默认数据缓冲区.例如设置默认数据缓

冲区大小最少不低于25M则指令为sp_cacheconfig "default data cache" "25M".

Cache Name Status Type Config value Run value

---------------- ------ ------ ---------------- -------------

default data cache Active Default 0.00MB 49.28MB

pubs_cache Active mixed 10.00MB 10.00MB

-------------------------------

Total 10.00MB 59.28MB

===================================================================

Cache:default data cache, status:Active, Typeefault

Config Size:0.00MB, Run size:49.28MB


IO Size Wash Size Config Size Run Size

------- --------- ----------- --------

2KB 512KB 0.00MB 49.28MB

===================================================================

Cache:pubs_cache, status:Active, Type:mixed

Config Size:10.00MB, Run size:10.00MB

IO Size Wash Size Config Size Run Size

------- --------- ----------- --------

2KB 512KB 0.00MB 10.00MB \

若要保留一个只用于事务日志的缓冲区的类型,可以将缓冲区的类型设为"logonly",

如创建"logonly"类型的pubs_log缓冲区为sp_cacheconfig pubs_log,"7M","logonly",

下示为该缓冲区在重启前的状态.

Cache Name Status Type Config value Run value

---------------- ------ ------ ---------------- -------------

pubs_cache pend/act log only 7.00MB 0.00MB

-------------------------------

Total 7.00MB 0.00MB

创建命名缓冲区后一般都须将某些对象捆绑到该缓冲区上。若建立命名缓冲区后

未将任何对象捆绑到该命名缓冲区上,则该命名缓冲区所占内存将被浪费,因为任

何未指定缓冲区的对象都将缺省使用默认数据缓冲区default data cache.

> 将数据缓冲区划分为缓冲池

建立数据缓冲区后,可将其划分成缓冲池,各不同的缓冲池具有不同的I/O大小,当

SQL SERVER进行大I/O操作时,可将许多页一次读入缓冲区中,故可提高I/O效率.这些

页总是被当作一个单元进行处理,它们共存于缓冲区中,作为一个单元被写到磁盘中.

缓冲池的页大小可为2K,4K,8K,16K,缓冲池的总大小不能低于512K.所有关于缓冲池

的配置都是动态的,无需重启SQL SERVER即可生效.SQL SERVER内2K页缓冲池的个数

必须保持一个合理的值,否则将会影响SQL SERVER性能,因为某些命令只能使用2K

的I/O块如disk init及某些dbcc命令。

在pubs_cache数据缓冲区中创建一个每页16K,总空间为7MB的缓冲池,指令如下.通

常,创建命名数据缓冲区时,其空间总是被默认划分为每页2K的缓冲池,创建其它页大

小的缓冲池时,该2K页缓冲池空间被部分分配给新缓冲池.下例中2K页大小的缓冲池


原共有10M空间,分配给7M给16K页的新缓冲池后,2K页缓冲池还剩3M空间.

>sp_poolconfig pubs_cache,"7M","16K"

>go

>sp_cacheconfig pubs_cache

Cache Name Status Type Config value Run value

---------------- ------ ------ ---------------- -------------

pubs_cache Active mixed 10.00MB 10.00MB

-------------------------------

Total 10.00MB 10.00MB

===================================================================

Cache:pubs_cache, status:Active, Type:mixed

Config Size:10.00MB, Run size:10.00MB

IO Size Wash Size Config Size Run Size

------- --------- ----------- --------

2KB 512KB 0.00MB 3.00MB

16KB 1424KB 7.00MB 7.00MB

在默认数据缓冲区中也可创建缓冲池,如创建16K缓冲池,空间大小为8M,则指令为:

sp_poolconfig "default data cache","8M","16K".

若要为一个数据库的事务日志创建缓冲区,应配置缓冲区中大部分空间来匹配日志

I/O的大小.默认值为4K,若没有4K的可用缓冲池,SQL SERVER就为日志使用2K的I/O.

日志I/O的大小可通过系统过程sp_logiosize来改变,每个数据库的日志I/O大小会在

SQL SERVER启动后的错误日志中报告,也可通过使用数据库和执行不带参数的过程

sp_logiosize来检查一个数据库的日志I/O大小.如为pubs_log缓冲区配置4K页大小

的缓冲池指令为sp_poolconfig pubs_log,"3M","4K",也可在默认数据缓冲区中创

建一个4K页缓冲池,以供未被捆绑至其它缓冲区的任何数据库的事务日志来使用:

sp_poolconfig "default data cache","2.5M","4K".

此外,可修改缓冲池大小,如从16K页I/O的缓冲池中取出1M空间增加到4K页I/O缓

冲池中:sp_poolconifg pub_cache,"1M","4K","16K"

> 缓冲区悃绑操作

系统管理员把数据缓冲区分成独立的命名数据缓冲区后,可将数据库对象捆绑到这

些缓冲区上,以控制数据库,表和索引在

上一页  1 2 3 4 下一页
  • 上一篇教程: sybase 临时数据库tempdb (Arnold)
  • 下一篇教程: 关于sybase数据库的锁
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.