ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 将一个DB改名前的数据文件备份加入改名后的数据库

将一个DB改名前的数据文件备份加入改名后的数据库

原创 Linux操作系统 作者:westzq1984 时间:2013-01-22 22:00:28 0 删除 编辑
朋友的一个问题,就是数据库在修改数据库名和ID后,误删了数据文件。
只有一个数据库修改名称前的冷备,想把这个备份的数据文件强制加到现在用。

测试了下,需要修改如下位置:
file 1 为改名前的备份
file 2 为改名后的同表空间的数据文件

assign /x dba 1,1 offset 28 = dba 2,1 offset 28
assign /x dba 1,1 offset 29 = dba 2,1 offset 29
assign /x dba 1,1 offset 30 = dba 2,1 offset 30
assign /x dba 1,1 offset 31 = dba 2,1 offset 31
p kcvfh.kcvfhhdr.kccfhdbi

assign /x dba 1,1 offset 32 = dba 2,1 offset 32
assign /x dba 1,1 offset 33 = dba 2,1 offset 33
assign /x dba 1,1 offset 34 = dba 2,1 offset 34
assign /x dba 1,1 offset 35 = dba 2,1 offset 35
assign /x dba 1,1 offset 36 = dba 2,1 offset 36
assign /x dba 1,1 offset 37 = dba 2,1 offset 37
assign /x dba 1,1 offset 38 = dba 2,1 offset 38
assign /x dba 1,1 offset 39 = dba 2,1 offset 39
p kcvfh.kcvfhhdr.kccfhdbn

assign /x dba 1,1 offset 484 = dba 2,1 offset 484
assign /x dba 1,1 offset 485 = dba 2,1 offset 485
assign /x dba 1,1 offset 486 = dba 2,1 offset 486
assign /x dba 1,1 offset 487 = dba 2,1 offset 487
assign /x dba 1,1 offset 500 = dba 2,1 offset 500
assign /x dba 1,1 offset 501 = dba 2,1 offset 501
assign /x dba 1,1 offset 502 = dba 2,1 offset 502
assign /x dba 1,1 offset 503 = dba 2,1 offset 503
assign /x dba 1,1 offset 504 = dba 2,1 offset 504
assign /x dba 1,1 offset 505 = dba 2,1 offset 505
assign /x dba 1,1 offset 506 = dba 2,1 offset 506
assign /x dba 1,1 offset 507 = dba 2,1 offset 507
p kcvfh.kcvfhhdr.kcvfhckp

assign /x dba 1,1 offset 116 = dba 2,1 offset 116
assign /x dba 1,1 offset 117 = dba 2,1 offset 117
assign /x dba 1,1 offset 118 = dba 2,1 offset 118
assign /x dba 1,1 offset 119 = dba 2,1 offset 119
assign /x dba 1,1 offset 120 = dba 2,1 offset 120
assign /x dba 1,1 offset 121 = dba 2,1 offset 121
p kcvfh.kcvfhrls

assign /x dba 1,1 offset 420 = dba 2,1 offset 420
assign /x dba 1,1 offset 421 = dba 2,1 offset 421
assign /x dba 1,1 offset 422 = dba 2,1 offset 422
assign /x dba 1,1 offset 423 = dba 2,1 offset 423
assign /x dba 1,1 offset 424 = dba 2,1 offset 424
assign /x dba 1,1 offset 425 = dba 2,1 offset 425
p kcvfhprs.kcvfhprs

assign /x dba 1,1 offset 40 = dba 2,1 offset 40
assign /x dba 1,1 offset 41 = dba 2,1 offset 41
assign /x dba 1,1 offset 42 = dba 2,1 offset 42
assign /x dba 1,1 offset 43 = dba 2,1 offset 43
p kcvfh.kcvfhhdr.kccfhcsq

assign /x dba 1,1 offset 112 = dba 2,1 offset 112
assign /x dba 1,1 offset 113 = dba 2,1 offset 113
assign /x dba 1,1 offset 114 = dba 2,1 offset 114
assign /x dba 1,1 offset 115 = dba 2,1 offset 115
p kcvfh.kcvfhrlc

sum apply

然后重建控制文件
RECOVER DATABASE USING BACKUP CONTROLFILE,指定REDO恢复
alter database open resetlogs

搞定。不过这样生产环境弄,可能有很多逻辑损坏。要看到底有多少数据动过。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8242091/viewspace-753087/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-04-06

  • 博文量
    251
  • 访问量
    1042158