服务器 频道

Sybase 安装及系统管理之下篇

  七.用户数据库的完整性和性能管理:

  数据库完整性:

  1页级和行级的页链和资料指针用dbcccheckstorage,dbccchecktable,

  dbcccheckdb

  dbcccheckdb(dbname)数据库级检测

  dbccchecktable(tablename)表级检测

  2.检查页分配用dbcccheckstorag,dbcccheckalloc,dbcccheckverif,dbcctablealloc,dbccindexalloc

  3.dbcccheckcatalog(dbname)

  我们可在sqladvantage中执行dbcc命令然后观察输出结果是否报错,如若有错采取相应措施。

  注:dbcc需要开销一定的磁盘等资源,请勿在服务器繁忙时执行。其它dbcc命令请参考sybase管理手册

  性能管理:

  表的更新活动会导致空间利用不充分及性能下降。reorg命令既用来重组表空间并提高性能。

  1.reorgreclaim_space回收因删除和行缩短更新操作产生的页上的未用空间。

  reorgreclaim_spacetablename回收表上的未用空间

  2.reorgrebuild撤消行转移及回收空间,重写所有行以便与表的聚簇索引一致,向数据页写入行以便与通过sp_chgattribute对空间管理设置所做的改变保持一致,删除并重建表的所有索引

  reorgrebuildtablename回收表空间,重建所有索引。

  注:reorg同dbcc一样需要开销一定的磁盘等资源,请勿在服务器繁忙时执行。其它dbcc命令请参考sybase管理手册。

  3.updatestatistics,updateallstatistics更新制定索引中键值分布信息和列信息。更新索引或表中所有列的信息。

  Updatestatisticstable更新索引和表中的信息。

  4.sp_recompile让使用该表的存储过程和触发器在下次运行时重新编译。在添加索引或对数据库进行其它影响统计信息的更改时,表的存储过程和触发器可能会失效。通过重新编译可将查询优化到最有效的状态。

  sp_recompiletablename使用该表的存储过程和触发器在下次运行时重新编译。

  八.数据库备份和恢复:

  备份

  添加备份设备:sp_addumpdevicetape,logicalname,physicalname,tapesize

  假设添加unix下的备份设备容量为4G,磁带路径为/dev/rmt/c1b0t0l0n

  sp_addumpdevicetape,tape,''/dev/rmt/c1b0t0l0n'',4000

  NT:

  1.备份到硬盘dumpdatabasedbnameto‘x:pathfilename’

  2.备份到磁带dumpdatabasedbnameto‘\.ape0’withinit,capacity=xxxxx

  其中init参数为初始化磁带,capacity为容量。单位为K

  3.备份到备份设备tapedumpdatabasedbnametotapewithinit

  指定备份设备就不需指定绝对路径和容量

  UNIX:

  1.备份到硬盘dumpdatabasedbnameto‘/path/filename’

  2备份到磁带dumpdatabasedbnameto‘/dev/rmt/tapedevie’withinit,capacity=xxxxx

  其中/dev/rmt/tape为unix下磁带设备名。init参数为初始化磁带,capacity为容量。单位为K

  恢复:

  NT:

  1.从硬盘恢复loaddatabasedbnamefrom‘x:pathfilename’

  2.从磁带恢复loaddatabasedbnamefrom‘\.ape0’或loaddatabasedbnamefromtape

  \.ape0为未添加到sybase的备份设备名

  tape为添加到sybase的备份设备名

  UNIX:

  3.从硬盘恢复loaddatabasedbnamefrom‘/path/filename’

  4.从磁带恢复loaddatabasedbnamefrom‘/dev/rmt/cxbxtxlx’或loaddatabasedbnamefromtape

  /dev/rmt/cxbxtxlx为未添加到sybase的备份设备名

  tape为添加到sybase的备份设备名

  九.一些可能出现的问题及相应措施

  1.Dbcc在数据库活动频繁时执行可能会报告索引损坏。此时并不一定真是索引有问题,可能只是因为checkpoint未执行导致缓存中的页同磁盘页不一致,先checkpoint看能否解决问题,如果不行的话再执行dbccreindex(table_name)一般来说就可以解决的。如果还不行的话看是否需要将索引删除再重建。还有一个办法就是将表中的资料bcpout后再创建table将资料bcp进去。

0
相关文章