Sybase数据库中分离日志与数据文件

[ 来源: | 作者: | 时间:2007-07-21 | 收藏 | 推荐 ] 【

  详细步骤,已测试成功

  1、备份数据库,包括 master 和你要分离数据与日志的应用库,最好是备份所有数据库;

免费资源www.it55.com

  2、检查数据库的日志是否有单独的存放设备,如有,则直接到第5步;

sflj www.it55.com kg^&fgd

  3、如没有单独的日志设备,则增加一个设备:disk init .....;

免费资源www.it55.com

  4、alter database db_name log on new_log_device=xxx; 免费资源www.it55.com

  5、sp_logdevice dbname,new_logdev (移动日志设备); www.it55.com在线教程

  6、sp_dropsegment logsegment, db_name, device_name (如果数据库有多个设备既放数据又放日志,则要相应的运行几次;

vd;k;l www.it55.com rdfg

  7、创建一个临时表,然后往里面插入足够的数据,然后截断日志;   use db_name
   go
   create table t1 (id int)
   go
   declare @loop int
   select @loop = 1
   while(@loop<500)
   begin
   insert t1 values(@loop)
   select @loop = @loop + 1
   end
   go
   dump tran db_name with truncate_only
   go

vd;k;l www.it55.com rdfg

  8、到此,数据与日志的分离已经完成,使用sp_helpdb db_name或sp_helplog查看是否已分离。

sflj www.it55.com kg^&fgd

  增加和删除 segment 并不移动当前的已分配空间。日志至少有一个扩充(extend)位于以前的 segment 上(还记得吗,为对象分配存贮单元时,实际是以 extend 为单位的。)。如果当前 extend 被填满,需要再为日志分配时,ASE会在新的 segment 上分配(segment 约束它不得不这么做)。此时,截断日志就可以回收以前分配的 extend 了。最后,还是要备份所有数据库. IT资讯之家 www.it55.com

it55.com

(编辑:IT资讯之家 www.it55.com

返回顶部
 

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]