|
|
|
SYBASE内存和缓冲区管理(rekcah0) |
热 ★★★★ |
|
SYBASE内存和缓冲区管理(rekcah0) |
|
作者:闵涛 文章来源:闵涛的学习笔记 点击数:2414 更新时间:2009/4/22 23:09:55 |
|
----------- --------
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"
> 缓冲区悃绑操作
系统管理员把数据缓冲区分成独立的命名数据缓冲区后,可将数据库对象捆绑到这
些缓冲区上,以控制数据库,表和索引在内存的驻留.若建立命名缓冲区后未将任何对
象捆绑到该命名缓冲区上,则该命名缓冲区所占内存将被浪费,因为任何未指定缓
冲区的对象都将缺省使用默认数据缓冲区default data cache.为了将任何系统表,
包括事务日志syslogs捆绑至缓冲区中,数据库须处于单用户模式.对象被捆绑后立即
生效而无需重启SQL SERVER.注意,进行捆绑或删除捆绑操作时,SQL SERVER需锁定相
应对象,故相应对象上的其它操作可能有延迟.此外,可不删除现有的捆绑而重新捆绑
对象.另外,当被捆绑对象上有脏的读活动或有打开的游标时,捆绑或删除捆绑的操作
将不能进行.
1>sp_dboption pubs2,single,true 置pubs2库为单用户状态
2>use pubs2
3>checkpoint
4>go 准备进行数据库对象的捆绑。注意,捆绑对象须在对象所在的库中进行。
>sp_bindcache pubs_cache,pubs2,titles
将pubs2库中的表titles捆绑至缓冲区pubs_cache.
>sp_bindcache pubs_cache,pubs2,titles.titleind
在titles上捆绑索引,并将pubs2库中的表titles捆绑至缓冲区pubs_cache.
>sp_bindcache pubs_cache,pubs2,"hj.sale_east"
将pubs2库中用户hj的表sale_east捆绑至缓冲区pubs_cache.
>sp_bindcache pubs_log,pubs2,syslogs
将pubs2库的事务日志syslogs捆绑至缓冲区pubs_log.
>sp_bindcache pubs_cache,pubs2,au_pix,"text only"
表的text和image列存储在一个单独的数据结构中,若将此表捆绑至缓冲区,需加
"text"参数.
1>sp_dboption pubs3,single,true 置pubs3库为单用户状态
2>use pubs3
3>checkpoiot
4>use master
5>go 准备进行数据库的捆绑,注意,捆绑数据库须在master库中进行。
>sp_bindcache tempdb_cache,tempdb
将数据库tempdb捆绑至缓冲区tempdb_cache。
注意,被捆绑到日志缓冲区上的对象只能是syslogs表。
可通过sp_helpcache过程查询所有或指定缓冲区及其中被捆绑对象的捆绑信息.如下
例示,其中status列报告缓冲区的捆绑是("V")否("I")有效.若数据库或对象被捆绑至缓
冲池而该缓冲区已被删除,则捆绑信息仍保留在系统表中但缓冲区捆绑被标记无效,所有
无效的捆绑对象均使用默认的数据库缓冲区.若随后用与被删除的缓冲区相同的名字创建
了另一个缓冲区,则当该缓冲区通过重启SQL SERVER而被激活时,上述捆绑又将变为有效.
删除缓冲区捆绑可用两个过程:sp_unbindcache用于删除缓冲区中对一个实体的捆绑;
sp_unbindcache_all则用于删除缓冲区中对所有对象的捆绑,但若捆绑至缓冲区的数据库
超过8个,或数据库的对象超过8个,就不能使用sp_unbindcache_all,此情况下,必须使用
sp_unbindcache删除单个的数据库或对象,使捆绑的数据库不超过8个.此外,当删除缓冲
区对一个对象的捆绑时,内存中所有当前的页都被从缓冲区中清除.
>sp_unbindcache pubs2
删除对数据库pubs2的捆绑
>sp_unbindcache pubs2,titles
删除对pubs2库中对titles表的捆绑
>sp_unbindcache pubs2,titles,titleidind
铲除对pubs2库中titles表上titleidind索引的捆绑.
> 改变命名数据缓冲区大小
可通过sp_cacheconfig指定一个新的空间以增加或减少指定缓冲区的大小,所有新增空
间都将从缺省数据缓冲区default data cache内的2K缓冲池中被加到指定缓冲区内的2K
页缓冲池中,所有减少的空间亦从指定缓冲区内的2K页缓冲池中被释放到缺省数据库缓冲
区default data cache内的2K缓冲池中.
>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 720KB 0.00MB 3.00MB
4KB 1024KB 4.00MB 4.00MB
16KB 1424KB 3.00MB 3.00MB
现以sp_cacheconfig pubs_cache,"20M"后重启,则改变如下:
>sp_cacheconfig pubs_cache
Cache Name Status Type Config value Run value
---------------- ------ ------ ---------------- -------------
pubs_cache Active mixed 20.00MB 20.00上一页 [1] [2] [3] [4] 下一页 [SyBase]SYBASE内存和缓冲区管理
|
|
教程录入:mintao 责任编辑:mintao |
|
|
上一篇教程: sybase 临时数据库tempdb (Arnold) 下一篇教程: SYBASE dbccdb的安装配置攻略(陈苏文) |
|
|
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网] |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
|
|
|
|
|
|
|
同类栏目 |
|
|
赞助链接 |
|
|
500 - 内部服务器错误。
|
|
|
|
|
|