转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
[讨论]大家讨论一下在使用sybase过程中,数据库备份策略         ★★★★

[讨论]大家讨论一下在使用sybase过程中,数据库备份策略

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2652 更新时间:2009/4/22 23:10:00
dure to put the affected database in single-user mode:
  1> use master 
  2> go
  1> sp_dboption database_name, single, true
  2> go
  1> use database_name 
  2> go
  1> checkpoint
  2> go
2.Check the value of the "indid on extent" in the error message to determine whether it is a table (value is 0) or an index (value is greater than 0).
3.Run dbcc tablealloc or dbcc indexalloc, depending on whether the object named in the 2540 error message is a table or an index. Then execute the appropriate command. Before you run the appropriate command, keep the following in mind:
 - dbcc tablealloc corrects either a table or an index, but if the problem is on an index, you can avoid affecting the entire table by using dbcc indexalloc. If you need to minimize the amount of time the table is unavailable, it may be most practical to use dbcc indexalloc.
 - These commands correct the error only when run in the full or optimized mode, with the fix option specified, because the default value is nofix on system tables.
 - You can use the "object name" or "object id on extent" in the commands above where the argument object_name appears.Use the command appropriate for your situation:
For Tables (index id in extent = 0)
For Indexes (0 < index id in extent < 255)
1> dbcc tablealloc (object_name,
2> full, fix)
3> go
1> dbcc indexalloc (object_name, 
2> indid_on_extent, full, fix)
3> go
4.Turn off single-user mode in the database:
 - If the database is master, refer to "Returning SQL Server to Multiuser Mode".
 - If the database is not master, use the following procedure:
  1> use master 
  2> go
  1> sp_dboption database_name, single, false
  2> go
  1> use database_name 
  2> go
  1> checkpoint
  2> go
Refer to "dbcc" in the SQL Server Reference Manual and "Checking Database Consistency" in the System Administration Guide for information about dbcc tablealloc and dbcc indexalloc.
Releases in Which This Error Is Raised
11.0 and later


 jazy 回复于:2002-11-21 16:44:32 谢谢molin提供的资料!

 aladdin 回复于:2002-11-29 17:45:31 小小感受:
增量备份是个理论概念
全备的同时最好也来个bcp数据备份,这在生产环境中是最实用的. bcp可做在crontab中.


 jazy 回复于:2002-11-30 13:05:04 同意,这样当然是最保险的!但是做bcp对于大量数据也是需要很长时间的,而且这些数据的存储也是个问题!

 xbycn 回复于:2002-12-01 20:34:15 如果数据不大,可以在crontab 定时dump ,然后在rcp 到另一台机器(远程)这样即使是发生911事件好像也可以避免

 hefan 回复于:2002-12-01 23:10:59 原来我的系统(Sybase 11.9.2+AIX 4.3.2/RS 6000 H80)上也是用Crontab定时备份,但现在我们的系统上了复制,那个东西一上就复杂多了,现在所有的备份都不好了。。。。异常情况很多的。。。。。不知道那位有这方面的经验,就是上了复制系统(Replication Server 11.5)的备份策略。

 jazy 回复于:2002-12-05 19:32:21 你所说的异常是什么,能否列出来看看?

我觉得,上复制的目的之一就是实现了实时备份阿,当然你要是觉得不好,还可以同时使用backup server或bcp阿!

 我爱SYBASE 回复于:2002-12-10 16:05:49 这个问题我正好前几天遇到了,我们采用11。9,数据量大概每天存储二十万条左右,而且有时实时系统,日志空间我也分配了1G多,我没有备份只是定期清楚,dump tran dbname with no_log ,结果后来用这个也不行了,慢了以后我只好再分配空间,最后,我把所有有关对数据库操做的应用都停了,最后才清调日志,但这也不是办法,用户不大可能自己清,(我们不考虑备份),我把dump tran dbname with no_log写在定时器里,但有时候不起作用,各位又什么更好的办法


 joson 回复于:2002-12-10 20:56:41 各位高手,大家的讨论对我很有启发。只是我现在对增量备份(即仅备份日志)有些怀疑,对于一些不完全记日志的操作(select into)对数据库的改变将不能被恢复,是否存在这个问题呢?请各位指点一下。

 jazy 回复于:2002-12-10 21:13:25 我是这样想的,既然我们选择了不记日志操作,那么我们就是考虑在不需要进行恢复的情况下获取较快的速度!所以这个时候我们在操作完之后,可以先进行一次整库备份,这样下次就可以在此备份的基础上继续进行增量备份了!
另外增量备份并不是只备日志,而是在整库备份的基础上进行日志的备份,这样减少了备份的时间,恢复时,需要结合之前的整库备份和之后故障点之前的日志备份进行恢复!

 我爱SYBASE 回复于:2002-12-11 11:55:31 请问斑主
    我设定阈值管理日志,但当到了这个值时,如果还有事物在进行,能删掉日志么
我到了阈值后执行 dump tran with no_log


 jazy 回复于:2002-12-11 13:15:36 如果这个时候执行 no_log选项,很可能会造成数据不一致性!
建议还是只截掉不活动的日志,使用 truncate_only选项!

 我爱SYBASE 回复于:2002-12-11 15:24:38 我现在才有点醒悟,我们给用户做的有几张表数据是固定的
剩余两张表,历史数据表,历史告警表是不断变化的,如果可以允许数据库服务停止一段时间,那我们只需要备份我们的数据表不就可以了么,还那么麻烦作这么多库备份,日志备份
最多坏了以后重新装了。只要重要的表数据没丢失就可以了



 我爱SYBASE 回复于:2002-12-11 15:31:25 to: jackhoo72      
  你好,你那个shell脚本怎么编写的,能发给我么,谢谢 
  artucwj@263.net




 我爱SYBASE 回复于:2002-12-11 15:51:59 to:jazy
你好,你所说得不活动的日志具体指什么,我总是有点不明白,而且用truncate_only能删除掉syslogs日志表中的记录么

 jazy 回复于:2002-12-11 20:05:09 所谓不活动的日志是指那些数据已经写入磁盘的日志页!
可能这个解释并不是很专业,欢迎指正!

对于:
dump tran dbname to 'device_name'
with truncate_only 可以备份checkpoint点之前的日志页,并将其从syslogs中删除!



 onku 回复于:2003-06-16 10:21:09 to jackhoo72      
能不能把你的shell发给我学习学习

onku@tom.com

 

上一页  [1] [2] [3] 


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台