免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4135 | 回复: 13
打印 上一主题 下一主题

日志清除至今存在疑问?请大家帮忙解惑 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-23 11:31 |只看该作者 |倒序浏览
我以前都是用dump transaction  databasename  with no_log 来清除日志的,这个做法有风险,我也体会到了,但是我的生产库的个别设备上都存放有数据和日志,网上查说
我这种情况好像只能用with  no_log这个参数,是这样的吗? 还有其他更好且没有风险的方法。多谢大家。

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2010-03-23 11:57 |只看该作者
设备上混合data和log是不能做dump tran增量备份的。
清除日志也可以用with truncate_only,可能效果不如no_log明显。

保险的就是及时做全备。
另外,考虑将数据和日志分开存储。

论坛徽章:
0
3 [报告]
发表于 2010-03-23 12:09 |只看该作者
回复 2# andkylee


    andkylee兄,with truncate_only 和 with   no_log 的区别 是不是就是 前者清除时不做备份,但日志记录该操作,而后者清除时不做备份,日志也不记录该操作?

   Sybase手册上说with   no_log 具有风险,总感觉这连个风险一样啊,没啥区别。请赐教。

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2010-03-23 13:25 |只看该作者
回复 3# silamuwang


    dump tran  db_name with truncate_only

    dump tran  db_name with no_log

都是截断日志的不活动部分。都不备份日志的内容。

不同的是: truncate_only 记录该截断日志的操作记录,而no_log不记录。


另外:使用no_truncate选项时可以备份日志的内容。

论坛徽章:
0
5 [报告]
发表于 2010-03-23 13:40 |只看该作者
上述说法有问题
with truncate_only表示清除的是系统中已经没有用的日志
with no_log表示要清除所有的日志,如果有第二截断点,那么第二阶段点的数据要保留
no_truncate表示在仅有日志设备的情况下,可以将日志设备中的日志导出来,而之前加入有相关有效的备份,那么可以用这个命令导出的日志进行增量恢复

论坛徽章:
0
6 [报告]
发表于 2010-03-23 13:51 |只看该作者
本帖最后由 silamuwang 于 2010-03-23 14:16 编辑

看来我以后不能用dump transaction  databasename  with no_log ,要改用with truncate_only了,另外手册上说“如果使用dump transaction with truncate_only 来清除日志的话,然后使用dump database备份数据库”,这句话的意思是执行dump transaction with truncate_only 操作后,必须要备数据库吗?我都是执行前备份的。网上有人说要做执行操作后,要做并发性检查。不是很明白?
各位老大,在执行这条命令后,还需不需要做啥操作?

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
7 [报告]
发表于 2010-03-23 14:08 |只看该作者
本帖最后由 andkylee 于 2010-03-23 14:10 编辑

上述说法有问题
with truncate_only表示清除的是系统中已经没有用的日志
with no_log表示要清除所有的日志,如果有第二截断点,那么第二阶段点的数据要保留
no_truncate表示在仅有日志设备的情况下,可以将日志设备中的日志导出来,而之前加入有相关有效的备份,那么可以用这个命令导出的日志进行增量恢复



版主,感觉我的说法一点没错。

你的第一条:with truncate_only表示清除的是系统中已经没有用的日志。 已经没有用的日志不就是不活动的吗?在ase中是一个概念,就是recovery和restore时不会用的日志部分。

你的第二条:with no_log表示要清除所有的日志,如果有第二截断点,那么第二阶段点的数据要保留。  对于no_log大家第一印象就是不管三七二十一清除所有的日志。但是具体到单纯日志层面上,截断日志也算是一个操作吧,这个操作记录日志吗? no_log就不记录这个操作的日志。 说白了就是将数据库的日志SCN移动一个位置。
你说的第二截断点,我在官方文档上没看到这个概念。估计是楼主自造的概念。 个人揣测第二阶段点的数据应该属于活动的日志部分。

你的第三条:no_truncate表示在仅有日志设备的情况下,可以将日志设备中的日志导出来,而之前加入有相关有效的备份,那么可以用这个命令导出的日志进行增量恢复

和我说的能够备份日志内容不是一个概念吗?
的确你说的是一个灾难处理的一个很不错的方案。在数据设备损坏,而日志设备正常的情况下,用no_truncate及时备份数据库的日志能够将数据损失减少到分钟级别。


个人感觉,我说的没有问题。

论坛徽章:
0
8 [报告]
发表于 2010-03-23 14:12 |只看该作者
呵呵,你很上心,不管如何,正确与否,你心里有答案,但是别人并不一定清楚你表达的意思。象上楼意思就明白多了。

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
9 [报告]
发表于 2010-03-23 14:17 |只看该作者
我说的和官方文档上的意思表述是相同的。
你的说法,我感觉和我的是相同的。

论坛徽章:
0
10 [报告]
发表于 2010-03-23 14:17 |只看该作者
各位老大,先别急着争论啊,我的疑惑还没解决呢?

另外手册上说“如果使用dump transaction with truncate_only 来清除日志的话,然后使用dump database备份数据库”,这句话的意思是执行dump transaction with truncate_only 操作后,必须要备数据库吗?我都是执行前备份的。网上有人说要做执行操作后,要做并发性检查。不是很明白?
各位老大,在执行这条命令后,还需不需要做啥操作来避免dump transaction 的风险?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP