SYBASE内存和缓冲区管理

本文介绍如何在 SQL Server 中管理和配置数据缓冲区及过程缓冲区,包括确定缓冲区大小、配置数据缓冲区、创建缓冲池以及进行缓冲区捆绑等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内存和缓冲区管理
-------------------------------------
   为SQL SERVER提供的可用内存越多,SQL SERVER就有越多的资源使用于缓冲区,即可减少服务器
从磁盘读取数据以获取静态信息或编译过程计划的次数。调整SQL SERVER所占内存可通过在服务器配
置文件中设置total memory参数进行,该参数的值指定了SQL SERVER在启动时所需的内存总量,如若
该值为10000页,则SQL SERVER在启动时就将试图获得10000*2K=19.5M的内存,若不能满足则启动失败。
注意,若操作系统在进程的整个生命周期中支持动态内存分配,则可在SQL SERVER启动后为其分配额
外的内存。
   SQL SERVER启动时将内存分配给SQL SERVER可执行代码,SQL SERVER使用的静态内存,用户可配
置参数占用的内存及不驻留在缓存上的数据结构,剩余的内存分配给两种SQL SERVER缓冲区即:数据
缓冲区和过程缓冲区。两缓冲区的大小对整个系统的性能影响很大,在一个开发系统上可能要增加过多端
程缓冲区的专用内存,而在一生产系统上则需减少过程缓冲区大小以便获得更大的数据缓冲区。    
1。 确定缓冲区大小
       在total memory配置的总空间中,首先要除去可爱执行代码所占空间,其大小因平台和版本
   不同而异,可使用sp_configure查询executable codesize参数的值得知,一般为3-4MB;其次需
   除去内部结构所占空间,内部结构分成内核结构和服务器结构,亦可将此部分内存看成静态开销
   和用户配置参数占用两个部分,前者大小不受用户可配置参数的影响,一般为2-3MB,而后者即用
   户可配置参数的大小则取决于配置参数的类型及其值的大小,包括number of user connections,
   number of open databases,number of devices,number of open objects,number of locks等,
   要得到这些用户配置参数使用内存大小的精确估计,可调用不带选项的sp_configure以显示所有
   参数和每个参数使用的内存量,其和即是用户配置参数所占用内存。
       除去上述占用,剩余内存将以procedure cache percent配置参数的值按比例分配给过程缓冲
   区和数据缓冲区,例若值为20,即表示剩余内存的20%分配给过程缓冲区而80%分配给数据缓冲区。
       确定缓冲区大小的另一种方法是检查SQL SERVE启动时写入SQL SERVER错误日志的内存信息,
   其中准确地说明了分配给过程缓冲区和数据缓冲区的数据量,以及多少个过程或其他编译对象能
   同时驻留在缓冲区中,如相关信息为:
     server:Number of proc buffers assocated:556
     server:Number of blocks left for proc headers:629
     server:Memory allocated for the default data cache:4144kb
     前两行为过程缓冲区信息,过程缓冲区总大小是分配给过程缓冲区的内存(第一行)及分配给过
   程头(即存放编译对象如存储过程的地方,根据被存储对象的大小,可能需要一个或多个过程头)
   的内存(第二行)之和,可存储在过程缓冲区中的编译对象受到此二者中较小者的限制。上述信息
   中,第一行指明了分配给过程缓冲区的缓冲区数量为556,每个缓冲区大小为76B,故过程缓冲区
   大小即为42256B,合21页;第二行则指明了分配给过程头的空间为629页,由此可以得出,过程
   缓冲区总大小为629+21=650页,合1.27M。
     信息中第三行则指明了分配给默认数据库缓冲区的空间大小。此外,若配置了命名缓冲区,则
   相关信息还将包含每个命名缓冲区的信息,再加上这些命名缓冲区所占内存大小即得到总的数据
   缓冲区大小。欲知数据缓冲区大小还可通过sp_helpcache过程得到每个缓冲区和捆绑到这些缓冲
   区中的对象以及与不同缓冲区大小相关的开销的详细信息。 
2。 缓冲区管理    
     数据缓冲区保存SQL SERVER当前使用和最近使用过的数据页,索引页和日志页.初装SQL SERVER
   时,会产生一个默认的数据缓冲区.SQL SERVER允许系统管理员把数据缓冲区分成独立的命名数据
   缓冲区,然后可把数据库或数据库对象捆绑到这些命名缓冲区上,以对缓冲区空间进行更合理的组
   织,控制数据库,表和索引在内存的驻留.另外,系统管理员还可在缓冲区内创建缓冲池,用于执行
   大块的磁盘I/O,改善数据查询性能,减少磁盘I/O.有关数据库缓冲区的指令有:
     sp_cacheconfig     创建或删除命名缓冲区,改变缓冲区的大小或类型
     sp_poolconfig      创建或删除I/O缓冲池,并改变其大小
     sp_bindeache       将数据库或数据库对象捆绑到缓冲区
     sp_unbindcache     从一个缓冲区中取消对指定对象或数据库的捆绑
     sp_unbindcache_all 从一个缓冲区中取消所有对象的捆绑
     sp_helpcache       报告有关数据缓冲区的小结信息,并显示捆绑于缓冲区的数据库和对象
     sp_cachestrategy   报告有关为表,索引设置的缓冲区策略,禁止或重新允许先提或MRU策略
     sp_logiosize       为日志改变默认的I/O大小
     sp_spaceused       估计表和索引大小或有关数据库使用的空间量的信息
     sp_estspace        估计表和索引的大小,给出表包含的行的数目
     sp_help            报告表将捆绑于哪个缓冲区
     sp_helpindex       报告索引将捆绑于哪个缓冲区
     sp_helpdb          报告数据库将捆绑于哪个缓冲区
     setshowplanon      报告有关用于查询的I/O大小和缓冲区的应用策略
     setstatisticsioon  报告为查询进行的读操作数量
     setprefetch on/off 允许或禁止某个会话的预先提取
(1)  查询数据库缓冲区的信息
       查看默认数据缓冲区的大小,可使用指令sp_cacheconfig "default data cache",显示
     结果如下,由两部分构成,上部分报告每个缓冲区中的内存池配置信息并总计了所有配置缓
     冲区的大小;下部分提供了每个缓冲区中的其他详细信息.
       第一部分输出各列含义为:cache name为缓冲区名;status指示该缓冲区是否激活(值为
     pend/act时表示该缓冲区刚建立,重启后将被激活;值为active时表示该缓冲区目前正处于
     激活状态;值为pend/del时表示该缓冲区处于激活状态,但在服务器重启后将被删除);type
     指示缓冲区是否可以存储数据("mixed")和日志页("logonly"),只有默认缓冲区才会有
     "default"类型,且默认的数据缓冲区类型不能改变,其他类型缓冲区也不能改为"default";
     config value显示下次SQL SERVER重启后缓冲区的大小,在此情况下,默认缓冲区不能显式
     配置,故信息中其大小为0;run value显示SQL SERVER目前使用的大小,对于默认数据缓冲
     区,该值将作为未显示配置到其他缓冲区中的所有数据缓冲区空间.
       第二部分输出各列含义为:IO size显示缓冲池中的缓存大小,所有缓冲池缺省都分配2K
     空间(有效空间大小为2K,4K,8K,16K);wash size指示缓冲池的刷洗区大小;config size和
     run size显示配置大小和目前使用的大小,该两值在2K的缓冲池中是不同的(因为不能显式
     配置其大小),而对于其他缓冲池,若试图在缓冲池间移动空间而一些空间又不能被释放时,
     上述两值也不同.
        Cache   Name       Status    Type    Config value     Run value
      ----------------     ------   ------ ---------------- -------------
     default data cache    Active  Default  0.00MB           59.36MB
                                          -------------------------------
                                     Total  0.00MB           59.36MB
      ===================================================================
      Cache:default data cache,   status:Active,    Type:Default
      Config Size:0.00MB,         Run size:59.36MB
         IO Size      Wash Size     Config Size     Run Size
         -------      ---------     -----------     --------
         2KB          512KB         0.00MB          59.36MB 
(2)  配置数据缓冲区 
       配置数据缓冲区有两种途径:一是使用过程sp_cacheconfig和sp_poolconfig进行交互
     式配置,二是编辑配置文件中的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,    Type:Default
      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"
   >;   缓冲区悃绑操作
       系统管理员把数据缓冲区分成独立的命名数据缓冲区后,可将数据库对象捆绑到这
     些缓冲区上,以控制数据库,表和索引在内存的驻留.若建立命名缓冲区后未将任何对
     象捆绑到该命名缓冲区上,则该命名缓冲区所占内存将被浪费,因为任何未指定缓
     冲区的对象都将缺省使用默认数据缓冲区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.00MB
                                          -------------------------------
                                     Total  20.00MB           20.00MB
      ===================================================================
      Cache:pubs_cache,           status:Active,    Type:mixed  
      Config Size:20.00MB,        Run size:20.00MB
         IO Size      Wash Size     Config Size     Run Size
         -------      ---------     -----------     --------
         2KB          512KB         0.00MB          13.00MB  
         4KB          1024KB        4.00MB           4.00MB
         16KB         1424KB        3.00MB           3.00MB
       返回pubs_log缓冲区报告:
       >;sp_cacheconfig pubs_log      
        Cache   Name       Status    Type    Config value     Run value
      ----------------     ------   ------ ---------------- -------------
       pubs_log            Active  log only  7.00MB            7.00MB
                                          -------------------------------
                                     Total  7.00MB            7.00MB
      ===================================================================
      Cache:pubs_log,             status:Active,    Type:log only
      Config Size:7.00MB,        Run size:7.00MB
         IO Size      Wash Size     Config Size     Run Size
         -------      ---------     -----------     --------
         2KB          512KB         0.00MB           4.00MB  
         4KB          1024KB        3.00MB           3.00MB
       再运行以指令sp_cacheconfig pubs_log,"6M"后重启,则改变为:
       >;sp_cacheconfig pubs_log      
        Cache   Name       Status    Type    Config value     Run value
      ----------------     ------   ------ ---------------- -------------
       pubs_log            Active  log only  6.00MB            6.00MB
                                          -------------------------------
                                     Total  6.00MB            6.00MB
      ===================================================================
      Cache:pubs_log,             status:Active,    Type:log only
      Config Size:6.00MB,        Run size:6.00MB
         IO Size      Wash Size     Config Size     Run Size
         -------      ---------     -----------     --------
         2KB          512KB         0.00MB           3.00MB  
         4KB          1024KB        3.00MB           3.00MB
      欲彻底删除一个数据缓冲区,将其大小复位为0可使用sp_cacheconfig pubs_log,"0".
    则将缓冲区状态变为"pend/del",重启SQL SERVER后此改变生效.在执行该操作前,缓冲
    区需保持激活状态,捆绑至缓冲区的所有对象仍使用该缓冲区执行I/O操作.若有对象捆
    绑于待删除的数据缓冲区,则SQL SERVER重启后,缓冲区的捆绑被标记为无效,所有无效
    缓冲区捆绑的对象都使用默认数据缓冲区.当捆绑被标记为无效时,警告信息将被输入
    错误日志.注意,默认数据缓冲区不能删除.

 


 
 

原文链接:http://bbs.chinaunix.net/viewthread.php?tid=2303
转载请注明作者名及原文出处
 
 

Sybase ASE 15.7 开发文档:系统管理指南(卷二)共两卷 第 1 章 限制对服务器资源的访问 第 2 章 镜像数据库设备 第 3 章 配置内存 第 4 章 配置数据高速缓存 第 5 章 管理多处理器服务器 第 6 章 创建管理用户数据库 第 7 章 装入卸下数据库 第 8 章 分布式事务管理 第 9 章 创建使用段 第 10 章 使用 reorg 命令 第 11 章 检查数据库一致性 第 12 章 制定备份恢复计划 第 13 章 备份恢复用户数据库 第 14 章 恢复系统数据库 第 15 章 存档数据库访问 第 16 章 自动扩展数据库 第 17 章 使用阈值管理可用空间 第 1 章限制对服务器资源的访问 .......... 1 资源限制 .......... 1 计划资源限制 .......... 2 启用资源限制 .......... 2 定义时间范围 .......... 3 确定所需的时间范围 .......... 3 创建指定的时间范围 .......... 4 修改指定的时间范围 .......... 5 删除指定的时间范围 .......... 5 时间范围更改何时生效? .......... 6 确定用户限制 .......... 6 标识使用大量资源的用户 .......... 7 标识使用大量资源的应用程序 .......... 7 选择限制类型 .......... 8 确定强制时间 .......... 9 确定资源限制的范围 .......... 9 了解限制类型 .......... 10 限制 I/O 开销 .......... 11 限制经历时间 .......... 12 限制结果集的大小 .......... 13 设置 tempdb 空间使用限制 .......... 14 限制空闲时间 .......... 14 创建资源限制 .......... 14 资源限制示例 .......... 15 获得关于现有限制的信息 .......... 16 列出所有现有资源限制 .......... 16 修改资源限制 .......... 17 删除资源限制 .......... 17 资源限制的优先级 .......... 18 时间范围 .......... 18 资源限制 .......... 18 第 2 章镜像数据库设备 .......... 19 磁盘镜像 .......... 19 确定镜像对象 .......... 19 使用最小物理磁盘空间进行镜像 .......... 20 不间断恢复的镜像 .......... 21 不禁用镜像的条件 .......... 22 磁盘镜像命令 .......... 23 初始化镜像 .......... 23 取消镜像设备 .......... 24 重新启动镜像 .......... 24 waitfor mirrorexit .......... 25 镜像主设备 .......... 25 获取有关设备镜像的信息 .......... 25 磁盘镜像教程 .......... 26 调整磁盘大小磁盘镜像 .......... 28 第 3 章配置内存 .......... 29 确定可供 Adaptive Server 使用的内存 .......... 29 Adaptive Server 如何分配内存 .......... 30 磁盘空间分配 .......... 31 较大逻辑页大小缓冲区 .......... 32 堆内存 .......... 32 Adaptive Server 如何使用内存 .......... 34 确定 Adaptive 所需的内存量 .......... 36 确定 Adaptive Server 内存配置 .......... 37 如果正在升级 .......... 38 确定 Adaptive Server 可以使用的内存量 .......... 38 影响内存分配的配置参数 .......... 39 动态分配内存 .......... 41 如果 Adaptive Server 不能启动 .......... 41 动态降低内存配置参数 .......... 41 配置线程池 .......... 45 确定线程总数 .......... 47 Tuning the syb_blocking_pool .......... 48 配置内存的系统过程 .......... 48 使用 sp_configure 设置配置参数 .......... 48 使用 sp_helpconfig .......... 50 使用 sp_monitorconfig .......... 51 控制 Adaptive Server 内存的配置参数 .......... 53 Adaptive Server 可执行代码大小 .......... 53 数据过程高速缓存 .......... 54 Kernel resource memory .......... 56 用户连接数 .......... 56 打开的数据库、打开的索引打开的对象 .......... 57 锁数目 .......... 57 数据库设备磁盘 I/O 结构 .......... 58 使用内存的其它参数 .......... 58 并行处理 .......... 59 远程服务器 .......... 59 参照完整性 .......... 60 影响内存的其它参数 .......... 60 语句高速缓存 .......... 61 设置语句高速缓存 .......... 61 第 4 章配置数据高速缓存 .......... 69 Adaptive Server 数据高速缓存 .......... 69 高速缓存配置命令系统过程 .......... 71 有关数据高速缓存的信息 .......... 72 配置数据高速缓存 .......... 73 创建新高速缓存 .......... 75 向现有命名高速缓存添加内存 .......... 76 减小高速缓存的大小 .......... 77 删除高速缓存 .......... 78 显式配置缺省高速缓存 .......... 79 更改高速缓存类型 .......... 81 配置高速缓存替换策略 .......... 81 将数据高速缓存划分为若干内存池 .......... 83 匹配日志高速缓存的日志 I/O 大小 .......... 85 将对象绑定到高速缓存 .......... 86 高速缓存绑定限制 .......... 87 获得有关高速缓存绑定的信息 .......... 87 检查高速缓存开销 .......... 88 开销如何影响总的高速缓存空间 .......... 88 删除高速缓存绑定 .......... 89 更改内存池的清洗区 .......... 90 如果清洗区过小 .......... 92 如果清洗区过大 .......... 93 设置管家以避免高速缓存的清洗 .......... 93 更改缓冲池的异步预取限制 .......... 94 更改内存池的大小 .......... 94 从内存池移走空间 .......... 94 从其它内存池移走空间 .......... 95 增加高速缓存分区数 .......... 97 设置高速缓存分区数 .......... 97 设置本地高速缓存分区数 .......... 97 优先级 .......... 98 删除内存池 .......... 98 由于页的使用而不能删除缓冲池时 .......... 99 高速缓存绑定对内存查询计划的影响 .......... 99 从高速缓存中刷新页 .......... 99 锁定以执行绑定 .......... 99 高速缓存绑定对存储过程触发器的影响 .......... 100 使用配置文件配置数据高速缓存 .......... 100 配置文件中的高速缓存缓冲池条目 .......... 100 高速缓存配置指南 .......... 104 第 5 章管理多处理器服务器 .......... 107 Adaptive Server 内核 .......... 107 目标体系结构 .......... 108 内核模式 .......... 112 切换内核模式 .......... 113 任务 .......... 114 使用线程运行任务 .......... 114 配置 SMP 环境 .......... 115 线程池 .......... 115 管理引擎 .......... 117 启动停止引擎 .......... 118 管理用户连接(仅进程模式) .......... 121 影响 SMP 系统的配置参数 .......... 122 第 6 章创建管理用户数据库 .......... 125 创建管理用户数据库的命令 .......... 125 管理用户数据库的权限 .......... 126 使用 create database 命令 .......... 127 为数据库指派空间设备 .......... 128 缺省数据库大小设备 .......... 129 估计所需空间 .......... 129 把事务日志存放在单独的设备上 .......... 130 估计事务日志大小 .......... 130 缺省日志大小设备 .......... 131 将事务日志移动到其它设备 .......... 131 缩减日志空间 .......... 133 缩减日志空间时使用 dump load database .......... 133 缩减日志空间时使用 dump load transaction .......... 137 使用 for load 选项进行数据库恢复 .......... 143 使用 create database 的 with override 选项 .......... 144 更改数据库所有权 .......... 145 变更数据库 .......... 145 alter database 语法 .......... 146 使用 drop database 命令 .......... 147 管理空间分配的系统表 .......... 147 sysusages 表 .......... 148 获取有关数据库存储的信息 .......... 152 数据库设备名选项 .......... 152 检查使用的空间量 .......... 153 查询系统表中的空间使用信息 .......... 155 第 7 章装入卸下数据库 .......... 157 概述 .......... 157 清单文件 .......... 158 复制移动数据库 .......... 159 性能考虑事项 .......... 160 设备检验 .......... 160 装入卸载数据库 .......... 160 卸下数据库 .......... 161 装入数据库 .......... 162 创建数据库的可装入副本 .......... 164 将数据库从一个 Adaptive Server 移到 另一个 Adaptive Server .......... 164 系统限制 .......... 165 quiesce database 扩展 .......... 165 第 8 章分布式事务管理 .......... 167 受影响的事务类型 .......... 168 由外部事务管理器协调的分布式事务 .......... 168 RPC CIS 事务 .......... 169 SYB2PC 事务 .......... 170 启用 DTM 功能 .......... 171 安装许可密钥 .......... 171 启用 DTM 功能 .......... 171 配置事务资源 .......... 172 使用 Adaptive Server 协调服务 .......... 174 事务协调服务概述 .......... 174 需求行为 .......... 176 配置参与者服务器资源 .......... 177 在异构环境中使用事务协调服务 .......... 178 监控协调事务参与者 .......... 179 DTM 管理故障排除 .......... 179 事务控制线程 .......... 179 获取有关分布式事务的信息 .......... 181 执行外部事务的步骤 .......... 185 分布式事务的崩溃恢复过程 .......... 186 尝试完成事务 .......... 187 编程与配置注意事项 .......... 191 第 9 章创建使用段 .......... 193 Adaptive Server 段 .......... 193 系统定义的段 .......... 194 Adaptive Server 如何使用段 .......... 195 控制空间使用 .......... 195 改善性能 .......... 195 将表移到另一设备 .......... 197 创建段 .......... 198 更改段的范围 .......... 198 扩展段的范围 .......... 198 减小段的范围 .......... 199 向段指派数据库对象 .......... 200 在段上创建新对象 .......... 200 在段上放置已存在的对象 .......... 201 把文本页放在单独的设备上 .......... 204 对段创建聚簇索引 .......... 204 删除段 .......... 205 获取有关段的信息 .......... 205 sp_helpsegment .......... 206 sp_helpdb .......... 207 sp_help sp_helpindex .......... 208 段系统表 .......... 208 段的教程 .......... 209 第 10 章使用 reorg 命令 .......... 215 reorg 命令及其参数 .......... 215 使用 optdiag 实用程序评估对 reorg 的需求 .......... 216 将转移的行移动到主页 .......... 217 使用 reorg compact 撤消行转移 .......... 217 回收删除更新后留下的未使用空间 .......... 217 不使用 reorg 命令的空间回收 .......... 218 回收未使用的空间并撤消行转移 .......... 219 重新创建表 .......... 219 运行 reorg rebuild 的前提条件 .......... 220 对索引使用 reorg rebuild 命令 .......... 221 使用 reorg rebuild index_name partition_name 重建索引 ...... 221 重建索引的空间要求 .......... 222 状态消息 .......... 222 用于大表重组的 resume time 选项 .......... 222 在 time 选项中指定 no_of_minutes .......... 223 第 11 章检查数据库一致性 .......... 225 什么是数据库一致性检查程序? .......... 225 页对象分配 .......... 226 了解对象分配映射 (OAM) .......... 228 了解页链接 .......... 230 使用 dbcc 可执行哪些检查? .......... 230 了解各个 dbcc 命令的输出 .......... 231 检查数据库表的一致性 .......... 233 dbcc checkstorage .......... 233 dbcc checktable .......... 236 dbcc checkdb .......... 238 检查页分配 .......... 239 dbcc checkalloc .......... 239 dbcc indexalloc .......... 240 dbcc tablealloc .......... 241 dbcc textalloc .......... 241 使用 fix | nofix 选项更正分配错误 .......... 242 使用 dbcc tablealloc dbcc indexalloc 生成报告 .......... 243 检查系统表的一致性 .......... 243 使用一致性检查命令的策略 .......... 244 使用大 I/O 异步预取 .......... 245 在您的节点安排数据库维护 .......... 245 数据库一致性问题导致的错误 .......... 247 报告被中止的 checkstorage checkverify 操作 .......... 247 软故障硬故障的比较 .......... 248 使用 dbcc checkverify 检验故障 .......... 249 dbcc checkverify 的工作方式 .......... 249 何时使用 dbcc checkverify .......... 251 如何使用 dbcc checkverify .......... 252 使用 dbcc checkstorage 之前的准备工作 .......... 252 计划资源 .......... 253 配置工作进程 .......... 257 为 dbcc 设置命名高速缓存 .......... 258 配置一个 8 页的 I/O 缓冲池 .......... 259 为 dbccdb 分配磁盘空间 .......... 260 用于工作空间的段 .......... 260 创建 dbccdb 数据库 .......... 260 更新 dbcc_config 表 .......... 262 使用 sp_dbcc_updateconfig 添加缺省配置值 .......... 262 使用 sp_dbcc_updateconfig 删除配置值 .......... 263 查看当前配置值 .......... 263 维护 dbccdb .......... 263 重新评估并更新 dbccdb 配置 .......... 264 清除 dbccdb .......... 264 删除工作空间 .......... 265 对 dbccdb 执行一致性检查 .......... 265 从 dbccdb 生成报告 .......... 266 报告 dbcc checkstorage 操作的摘要 .......... 266 报告配置、统计故障信息 .......... 266 使用 dbcc upgrade_object 升级编译对象 .......... 267 在生产之前查找编译对象错误 .......... 268 在升级中使用数据库转储 .......... 271 确定编译对象是否已升级 .......... 271 第 12 章制定备份恢复计划 .......... 273 跟踪数据库的变化 .......... 274 获取有关事务日志的信息 .......... 274 使用 delayed_commit 确定提交日志记录的时间 .......... 274 指定备份的职责 .......... 277 同步数据库及其日志:检查点 .......... 277 设置恢复间隔 .......... 277 自动检查点过程 .......... 278 进行自动检查点操作后截断日志 .......... 278 可用检查点 .......... 279 手动请求检查点 .......... 279 在系统出现故障或关机后自动恢复 .......... 280 快速恢复 .......... 280 Adaptive Server 启动序列 .......... 281 尽早使引擎进入联机状态 .......... 281 并行恢复 .......... 281 数据库恢复 .......... 282 恢复顺序 .......... 282 并行检查点 .......... 284 恢复状态 .......... 285 为进行快速恢复调优 .......... 285 恢复期间的故障隔离 .......... 286 脱机页的持续性 .......... 287 配置恢复故障隔离 .......... 287 获取有关脱机数据库页的信息 .......... 288 使脱机页联机 .......... 289 DOL 锁定表的索引级故障隔离 .......... 290 脱机页的副作用 .......... 290 使用恢复故障隔离的恢复策略 .......... 291 评估损坏的程度 .......... 293 使用 dump load 命令 .......... 294 进行例行数据库转储:dump database .......... 294 进行例行事务日志转储:dump transaction .......... 294 设备出现故障后复制日志:dump tran with no_truncate ....... 295 恢复整个数据库:load database .......... 295 将更改应用到数据库:load transaction .......... 296 使用户可以使用数据库:online database .......... 296 跨平台转储装载数据库 .......... 296 关于转储装载数据库事务的限制 .......... 298 性能注释 .......... 299 将数据库移到另一 Adaptive Server .......... 299 升级用户数据库 .......... 300 使用特殊 dump transaction 选项 .......... 301 使用特殊装载选项标识转储文件 .......... 301 从备份恢复数据库 .......... 302 挂起恢复对数据库的更新 .......... 304 使用 quiesce database 的准则 .......... 305 维护在主服务器辅助服务器关系中的服务器角色 .......... 307 使用 -q 选项启动辅助服务器 .......... 307 更新的“in quiesce”数据库日志记录值 .......... 307 更新转储序列号 .......... 308 使用 quiesce database 备份主设备 .......... 310 在抑制状态下制作存档副本 .......... 313 使用 mount unmount 命令 .......... 315 使用 Backup Server 执行备份恢复 .......... 315 与 Backup Server 通信 .......... 318 装入新卷 .......... 318 启动停止 Backup Server .......... 319 配置服务器用于远程访问 .......... 320 选择备份介质 .......... 320 创建本地转储设备的逻辑设备名 .......... 321 列出当前设备名 .......... 322 添加备份设备 .......... 322 安排用户数据库的备份 .......... 323 安排例行备份 .......... 323 在其它时间备份数据库 .......... 323 安排 master 的备份 .......... 324 在每次更改后转储 master 数据库 .......... 325 保存脚本系统表 .......... 325 截断 master 数据库事务日志 .......... 326 避免卷更换恢复 .......... 326 安排 model 数据库的备份 .......... 326 截断 model 数据库的事务日志 .......... 326 安排 sybsystemprocs 数据库的备份 .......... 327 配置 Adaptive Server 以用于同时装载 .......... 327 收集备份统计信息 .......... 328 第 13 章备份恢复用户数据库 .......... 329 指定数据库转储设备 .......... 332 指定数据库名的规则 .......... 332 指定转储设备的规则 .......... 333 Backup Server 确定磁带设备 .......... 334 压缩转储 .......... 335 Backup Server 转储文件压缩转储 .......... 337 装载压缩转储 .......... 338 指定远程 Backup Server .......... 339 指定磁带密度、块大小容量 .......... 339 替换缺省密度 .......... 340 替换缺省块大小 .......... 340 指定转储命令的磁带容量 .......... 341 Backup Server 的非回绕磁带功能 .......... 341 指定卷名 .......... 342 从多个卷装载 .......... 342 标识转储 .......... 343 提高转储或装载性能 .......... 344 与之前版本的兼容性 .......... 344 以整数格式存储的标签 .......... 345 配置系统资源 .......... 345 指定其它转储设备:stripe on 子句 .......... 348 转储到多个设备 .......... 348 从多个设备装载 .......... 348 与转储相比装载所使用的设备较少 .......... 348 指定单个设备的特性 .......... 349 磁带处理选项 .......... 349 指定是否卸下磁带 .......... 350 回绕磁带 .......... 350 防止转储文件被覆盖 .......... 350 转储前重新初始化卷 .......... 351 转储装载数据库时使用口令保护 .......... 351 替换缺省的消息显示目标 .......... 352 通过 with standby_access 使数据库处于联机状态 .......... 353 确定何时使用 with standby_access .......... 353 通过 with standby_access 使数据库处于联机状态 .......... 354 获取有关转储文件的信息 .......... 354 请求转储标头信息 .......... 354 确定数据库、设备、文件名日期 .......... 355 设备出现故障后复制日志 .......... 356 截断日志 .......... 357 截断不在单独的段上的日志 .......... 357 在开发环境的早期截断日志 .......... 358 截断没有可用空间的日志 .......... 358 响应卷更改请求 .......... 361 用于转储的卷更改提示 .......... 361 用于装载的卷更改提示 .......... 363 恢复数据库:分步指导 .......... 364 获取事务日志的当前转储 .......... 365 检查空间使用情况 .......... 365 删除数据库 .......... 367 重新创建数据库 .......... 368 装载数据库 .......... 369 装载事务日志 .......... 369 使数据库处于联机状态 .......... 370 从较旧的版本装载数据库转储 .......... 371 将转储升级到当前版本的 Adaptive Server .......... 371 数据库脱机状态位 .......... 372 版本标识符 .......... 373 高速缓存绑定装载数据库 .......... 373 数据库高速缓存绑定 .......... 374 数据库对象高速缓存绑定 .......... 375 跨数据库约束装载数据库 .......... 376 第 14 章恢复系统数据库 .......... 377 恢复系统数据库 .......... 377 恢复 master 数据库 .......... 378 关于恢复进程 .......... 378 恢复过程总结 .......... 379 查找系统表的副本 .......... 379 建立新的主设备 .......... 380 在主恢复方式下启动 Adaptive Server .......... 382 重新创建 master 的设备分配 .......... 383 检查 Backup Server sysservers 信息 .......... 383 检验 Backup Server 是否在运行 .......... 384 装载 master 的备份 .......... 384 更新 number of devices 配置参数 .......... 385 在主恢复方式下重新启动 Adaptive Server .......... 385 检查系统表以检验 master 的当前备份 .......... 385 重新启动 Adaptive Server .......... 386 恢复服务器用户 ID .......... 386 恢复 model 数据库 .......... 387 检查 Adaptive Server .......... 387 备份 master .......... 387 恢复 model 数据库 .......... 388 恢复 sybsystemprocs 数据库 .......... 388 使用 installmaster 恢复 sybsystemprocs .......... 389 使用 load database 恢复 sybsystemprocs .......... 391 如何减小 tempdb 的大小 .......... 391 将 tempdb 重新设置为缺省大小 .......... 391 使用 disk reinit disk refit 恢复系统表 .......... 394 使用 disk reinit 恢复 sysdevices .......... 394 使用 disk refit 恢复 sysusages sysdatabase .......... 395 第 15 章存档数据库访问 .......... 397 概述 .......... 398 存档数据库的组件 .......... 399 使用存档数据库 .......... 401 配置存档数据库 .......... 402 调整修改页面区域的大小 .......... 402 增加分配给修改页面区域的空间量 .......... 403 实现存档数据库 .......... 403 使存档数据库联机 .......... 405 将事务日志装载到存档数据库中 .......... 405 删除存档数据库 .......... 405 使用存档数据库 .......... 406 将 SQL 命令用于存档数据库 .......... 406 将 dbcc 命令用于存档数据库 .......... 407 典型的存档数据库命令序列 .......... 407 存档数据库的压缩转储 .......... 409 创建压缩内存池 .......... 409 升级降级存档数据库 .......... 410 升级带有存档数据库的 Adaptive Server .......... 410 降级带有存档数据库的 Adaptive Server .......... 410 压缩转储的兼容性问题 .......... 411 存档数据库的限制 .......... 411 第 16 章自动扩展数据库 .......... 413 了解磁盘、设备、数据库段 .......... 413 阈值操作过程 .......... 416 安装自动数据库扩展过程 .......... 416 运行 sp_dbextend .......... 417 sp_dbextend 接口中的命令选项 .......... 417 验证当前阈值 .......... 417 对数据库进行自动扩展设置 .......... 420 约束限制 .......... 422 第 17 章使用阈值管理可用空间 .......... 425 使用最后机会阈值监控可用空间 .......... 425 达到阈值 .......... 426 控制执行 sp_thresholdaction 的频率 .......... 426 回退记录最后机会阈值 .......... 427 计算回退记录的空间 .......... 428 确定回退记录的当前空间 .......... 428 回退记录对最后机会阈值的影响 .......... 429 用户定义的阈值 .......... 429 共享的日志段数据段的最后机会阈值用户日志高速缓存 ........ 430 使用 lct_admin abort 中止挂起的事务 .......... 430 为 master 数据库的事务日志增加空间 .......... 432 自动中止或挂起进程 .......... 432 使用 abort tran on log full 中止事务 .......... 432 唤醒挂起的进程 .......... 433 添加、更改删除阈值 .......... 433 显示现有阈值的有关信息 .......... 434 阈值系统表 .......... 434 添加可用空间阈值 .......... 434 更改或指定新的可用空间阈值 .......... 435 删除阈值 .......... 435 为日志段创建可用空间阈值 .......... 436 测试调整新阈值 .......... 436 在其它段上创建其它阈值 .......... 439 确定阈值放置位置 .......... 439 创建阈值过程 .......... 440 声明过程参数 .......... 440 生成错误日志消息 .......... 440 转储事务日志 .......... 441 一个简单的阈值过程 .......... 442 一个更复杂的过程 .......... 442 决定在何处放置阈值过程 .......... 444 禁用数据段的可用空间计数 .......... 444 索引 ..........447
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值