免费注册 查看新帖 |

Chinaunix

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

突然掉电导致sybase master库异常求救 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-26 11:03 |只看该作者 |倒序浏览
我们一台服务器上周突然掉电后,sybase就无法启动了,启动日志如下:

00:00000:00000:2014/05/26 18:36:30.57 server  Proc header memory allocated 40632 pages for each per engine cache
00:00000:00000:2014/05/26 18:36:33.40 server  Size of the 8K memory pool: 1625680 Kb
00:00000:00000:2014/05/26 18:36:33.40 server  Memory allocated for the default data cache cachelet 1: 1625680 Kb
00:00000:00000:2014/05/26 18:36:33.40 kernel  Enabling Linux Native Kernel asynchronous disk I/O strategy.
00:00000:00000:2014/05/26 18:36:33.40 kernel  Enabling batch I/O using Linux Native Kernel asynchronous disk I/O strategy.
00:00000:00000:2014/05/26 18:36:33.40 kernel  Initializing virtual device 0, '/zxindata/sybase/data/master.dat' with dsync 'off'.
00:00000:00000:2014/05/26 18:36:33.40 kernel  Virtual device 0 started using asynchronous (with DIRECTIO) i/o.
00:00000:00000:2014/05/26 18:36:33.40 server  Loaded default Unilib conversion handle.
00:00000:00000:2014/05/26 18:36:33.41 kernel  Either the config parameter 'use security services' is set to 0, or ASE does not support use of external security mechanisms on this platform. The Security Control Layer will not be initialized. No external security mechanisms will be supported.
00:00000:00000:2014/05/26 18:36:33.42 kernel  Begin processing to generate RSA keypair.
00:00000:00000:2014/05/26 18:36:33.43 kernel  Unix interval timer enabled for sysclk interrupts.
00:00000:00000:2014/05/26 18:36:33.46 kernel  Completed processing to generate RSA keypair.
00:00000:00000:2014/05/26 18:36:33.46 kernel  Encryption provider initialization succeeded on engine 0.
00:00000:00000:2014/05/26 18:36:33.46 kernel  engine 0, os pid 2229  online
00:00000:00000:2014/05/26 18:36:33.46 server  No active traceflags
00:00000:00001:2014/05/26 18:36:33.47 kernel  libomni1 - Component Integration Services: using 'Sybase Client-Library/15.0/P-EBF16721 ESD #18/DRV.15.0.7/Linux x86_64/Linux 2.4.21-27.ELsmp x86_64 Native Threads/BUILD1500-116/OPT/Sun Mar 22 23:34:35 2009'
00:00000:00001:2014/05/26 18:36:33.47 server  Opening Master Database ...
00:00000:00001:2014/05/26 18:36:33.48 server  Loading ASE's default sort order and character set
00:00000:00001:2014/05/26 18:36:33.49 server  Recovering database 'master'.
00:00000:00001:2014/05/26 18:36:33.49 server  Started estimating recovery log boundaries for database 'master'.
00:00000:00001:2014/05/26 18:36:33.49 server  Database 'master', checkpoint=(3017, 19), first=(3017, 19), last=(3017, 37).
00:00000:00001:2014/05/26 18:36:33.49 server  Completed estimating recovery log boundaries for database 'master'.
00:00000:00001:2014/05/26 18:36:33.49 server  Started ANALYSIS pass for database 'master'.
00:00000:00001:2014/05/26 18:36:33.49 server  Completed ANALYSIS pass for database 'master'.
00:00000:00001:2014/05/26 18:36:33.49 server  Log contains all committed transactions until 2014/05/24 00:30:56.23 for database master.
00:00000:00001:2014/05/26 18:36:33.49 server  Started REDO pass for database 'master'. The total number of log records to process is 19.
00:00000:00001:2014/05/26 18:36:33.49 server  Error: 3474, Severity: 21, State: 1
00:00000:00001:2014/05/26 18:36:33.49 server  During redo the page timestamp value is less than old timestamp from log. Page #=241, object id = 30, page timestamp=0000 10000f703. Log old timestamp=0000 10000f713. Log record marker = (3017, 21).
00:00000:00001:2014/05/26 18:36:33.49 server  Cannot recover the master database, exiting.
00:00000:00001:2014/05/26 18:36:33.49 kernel  ueshutdown: exiting


尝试了在RUN_xxx文件中加入-T3607参数后启动,并使用dump tran master with no_log命令,该命令也无效:

1> dump tran master with truncate_only
2> go
Msg 4237, Level 16, State 1:
Line 1:
Cannot dump master database's log as distributed transaction resolution is not
complete yet. Please retry later.

还请各位大侠看看有没有什么办法恢复?

谢谢!


论坛徽章:
0
2 [报告]
发表于 2014-05-26 15:52 |只看该作者
用-T3607進去後,試一下:dbcc rebuild_log(master,1,1)

论坛徽章:
0
3 [报告]
发表于 2014-05-26 16:20 |只看该作者
ceozenliu 发表于 2014-05-26 15:52
用-T3607進去後,試一下:dbcc rebuild_log(master,1,1)



sybase@SCP2:~/ASE-15_0/install> isql -Usa -P'db10$ZTE'
1> dbcc rebuild_log(master,1,1)
2> go
Database 1 has not been opened so rebuild of log is impossible.
DBCC execution completed. If DBCC printed error messages, contact a user with
System Administrator (SA) role.


试了一下这种办法,提示无法重建log,因为数据库没有打开。 还有没有其他什么招呢? 谢谢!

论坛徽章:
0
4 [报告]
发表于 2014-05-26 16:48 |只看该作者
如果有備份的master,就重建master,如果沒有的話,那麼就要聯繫sybase了

论坛徽章:
0
5 [报告]
发表于 2014-05-26 16:52 |只看该作者
ceozenliu 发表于 2014-05-26 16:48
如果有備份的master,就重建master,如果沒有的話,那麼就要聯繫sybase了


你好! 目前就是没有master的备份文件。所以看看有没有其他什么办法恢复。

论坛徽章:
0
6 [报告]
发表于 2014-05-26 17:43 |只看该作者
這個方法有風險,請參考:http://blog.csdn.net/andkylee/article/details/5004536

论坛徽章:
0
7 [报告]
发表于 2014-05-26 17:49 |只看该作者
可以再試一下這個方法:
以-T3607進去
一、dbcc checkdb (master)
二、dbcc checktable (sysobjects)
三、dbcc checktable (syslogs)
四、dbcc checktable (sysdatabases)
五、shutdown→restart

試一下吧!

论坛徽章:
0
8 [报告]
发表于 2014-05-26 18:59 |只看该作者
-T3607
dbcc rebuild_log(1,1,1)

论坛徽章:
3
金牛座
日期:2014-03-27 09:49:51双鱼座
日期:2014-04-02 08:34:15戌狗
日期:2015-01-21 15:39:12
9 [报告]
发表于 2014-05-26 19:56 |只看该作者
  1. sybase数据库error 3474的解决。
  2. 3474错误:"During redo the page timestamp value is less than old timestamp from log.Page……"  

  3. isql -Usa -P -Ssybase :
  4. 1>sp_configure "allow updates",1
  5. 2>go

  6. 1>update sysdatabases set status=-32768 where name="xtsum"
  7. 2>go
  8. 1>shutdown
  9. 2>go
  10. 重新启动数据库服务。
  11. isql -Usa -P -Ssybase
  12. 1>dbcc rebuild_log(xtsum,0,0)
  13. 2>go
  14. 1>dbcc rebuild_log(xtsum,1,1)
  15. 2>go
  16. 1>shutdown
  17. 2>g
  18. 重新启动数据库服务器
  19. isql -Usa -P -Ssybas
  20. 1>update sysdatabases set status=12 where name="xtsum"
  21. 2>g
  22. 1>sp_configure "allow updates",0  
  23. 2>
  24. 1>shutdown
  25. 2>
  26. 重启数据库后,恢复正常,rebuild log工作完成。

  27. 返回结果查询
  28. select 'truncate table ' + name from sysobjects where type = 'U' and name like 'Tbt_Mk%Up'


  29. SYBASE3414错误处理:
  30. 解决办法:
  31. 重建数据库日志,方法如下:
  32.  (1)赋予sa用户sybase_ts_role的角色
  33. isql -Usa -P
  34. 1>sp_role "grant","sybase_ts_role",sa
  35. 2>go
  36. 1>quit

  37. (2)将数据库置为"bypass recovery"状态
  38. isql -Usa -P
  39. 1>sp_configure "allow updates",1
  40. 2>go
  41. 1>use master  
  42. 2>go  
  43. 1>update sysdatabases set status=-32768
  44. 2>where name="database_name"
  45. 3>go
  46. 1>shutdown with nowait r`;m'H!  
  47. 2>go
  48. (3)rebuild数据库日志
  49. 重启Server
  50. isql -Usa -P q=7$ |_.  
  51. 1>use master
  52. 2>go
  53. 1>dbcc rebuild_log(database_name,1,1)
  54. 2>go
  55. 1>shutdown with nowait
  56. 2>go
  57. (4)重启server
  58. 1>use master
  59. 2>go
  60. 1>update sysdatabases set status=0 where name="database_name"
  61. 2>go
  62. 1>sp_configure "allow updates",0
  63. 2>go
  64. 1>shutdown with nowait
  65. 2>go
  66. (5)在重启server之后,如果数据库恢复正常,rebuild log工作将会成功完成,否则要恢复数据库备份,使用dump database或bcp命令。
复制代码
参见http://blog.chinaunix.net/uid-7509663-id-25471.html

论坛徽章:
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
10 [报告]
发表于 2014-05-27 00:21 |只看该作者
dbcc rebuild_log(1,1,1)不好使的话, 修改页面吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP