Chinaunix

标题: 请问个位大虾,现有ASE12.5.3在AIX下dump出的数据,如何导入到Windows环境下 [打印本页]

作者: sheepxxy    时间: 2008-11-26 10:26
标题: 请问个位大虾,现有ASE12.5.3在AIX下dump出的数据,如何导入到Windows环境下
前提是AIX环境已经没有了,手头只有几个.dat的文件

dump是直接dump的 没加任何参数
原来数据库的大小等情况也不清楚

直接在Windows 2003下的Sybase12.5.3下load也不成功

请问如何load?
如不能load,有没有使用SqlServer2005的SSIS或Powerbuilder的数据管道的方法呢?
任何一种方法都行 只要能重新看到里面的数据!
作者: Eisen    时间: 2008-11-26 16:24
没加任何参数——看来是全量备份,而且看来是备份成.dat文件,还是可以恢复滴,那要多做几次load了,还好时间都比较快,不成问题,可以分以下两种情况
1.如果有master库的备份,可以第一次先随便建一个小库,load一下master库,肯定不成功,不过提示会告诉你那个master库应该有多大,然后你再按照提示的大小重建一遍就可以了,把master给load上去,到里面去select a.segmap,a.size/(1M/你原来的页面大小) as size from sysusages a,sysdatabases b where a.dbid=b.dbid and b.name=你原来的应用库
就能得到你原来库的结构和大小以及顺序了,然后照这个建你真正要恢复的库,建好之后load即可
2. 如果没有master备份,也一样先随便建一个小库test,load一下,按照提示建一个和你应用库大小一致的库testdb,然后再load你的应用库备份,其间会有n多报dat和log在同一个device上的提示,不管它,统统掠过,等load完之后再sp_helpdb testdb看得到其原来的库结构,drop database testdb,再按照刚才看到的库结构重建你要的库,然后再load就不会出错了。
作者: sheepxxy    时间: 2008-11-28 09:00
Server Message:  Number  3216, Severity  10
Server 'SHE3PXXY', Line 1:
Backup Server session id is:  5.  Use this value when executing the 'sp_volchanged' system stored procedure after fulfilling any volume change request from the Backup Server.
Server Message:  Number  606602, Severity  2
Server 'SHE3PXXY_BS', Procedure 'bs_read_header', Line 0:
Backup Server: 6.66.2.1: Volume validation error: illegal volume change, device E:\test\test.dat: volume mounted out of order, expected volume 0001, got volume 16777216.
Server Message:  Number  603602, Severity  2
Server 'SHE3PXXY_BS', Procedure 'bs_read_header', Line 0:
Backup Server: 6.36.2.4: Header labels of rejected volume:
Server Message:  Number  603402, Severity  2
Server 'SHE3PXXY_BS', Procedure 'bs_read_header', Line 0:
Backup Server: 6.34.2.4:  VOL1                                0                                          7 HDR1BH_CWZW083220B30A HDR2F
Server Message:  Number  101402, Severity  2
Server 'SHE3PXXY_BS', Procedure 'bs_read_header', Line 0:
Backup Server: 1.14.2.2: Unrecoverable I/O or volume error.  This DUMP or LOAD session must exit.
Server Message:  Number  603202, Severity  2
Server 'SHE3PXXY_BS', Procedure 'bs_read_header', Line 0:
Backup Server: 6.32.2.3: E:\test\test.dat: volume not valid or not requested (server: , session id: 5.)
Server Message:  Number  101402, Severity  2
Server 'SHE3PXXY_BS', Procedure 'bs_read_header', Line 0:
Backup Server: 1.14.2.4: Unrecoverable I/O or volume error.  This DUMP or LOAD session must exit.
Server Message:  Number  8009, Severity  16
Server 'SHE3PXXY', Line 1:
Error encountered by Backup Server.  Please refer to Backup Server messages for details.
作者: sheepxxy    时间: 2008-11-28 09:04
load database test_db from 'E:\test\test.dat'

使用的就是这样一条命令
请问高手在哪里可以看到有关源数据库的大小等信息呢?
ps:我是sybase菜鸟,只是工作中正好用一下,虽然在官方网上找齐了手册,但晕头转向地没个概念
希望高手能讲解一下 谢谢!
作者: sheepxxy    时间: 2008-11-28 09:09
再补充一些信息,供Eisen兄参考

源数据库的主机平台是 IBMRS6000小型机(64bit),OS为AIX5.1,
Sybase ASE 12.5.3 EBF13199

目的数据库的主机平台是x86(32bit),OS为WindowsXP 或 Windows 2003 server
Sybase ASE 12.5.3 EBF13331
作者: sheepxxy    时间: 2008-11-28 09:16
现在的问题是不可能再接触到源数据库平台了
手头只有用于原平台的全库备份文件

我们也没有小型机 没有能力搭建一个和原平台一样的环境了
有没有方法能够将这几个数据库文件再用上呢?
任何方法都行  我们可以不需要数据库再online了
只需要能够以一种可读的形式 重新看到里面的数据 用于抄录与分析

我尝试过直接用WinHex等16进制编辑器去直接打开.dat的备份文件,还能够看到数据和一些字符
但是是无组织的数据,没法用于抄录和分析。

我在baidu和google都搜过,希望找到sybase ase备份文件的读取工具或导出到其他类型数据库系统的工具或方法
结果是一无所获,真心请教CU的各位高手!
作者: sheepxxy    时间: 2008-11-28 09:24
Backup:
dump database DBNAME to 'j:\xxx.dat'

Restore:
load database DBNAME from 'j:\xxx.dat'

这是原来AIX管理员记录的备份恢复方法,貌似他们是用Windows的操作台连到AIX的主机上
并将数据库备份到Windows的操作机的硬盘上
作者: cctvdd    时间: 2008-11-28 09:52
我请问下 我要从WIN 移到LINUX 是咱操作的呢 能DUMP出来,到LINUX上LOAD不呀 还是直接拷MASTER和DAT过切呢?!谢谢!
作者: WFCJZ    时间: 2008-11-28 10:20
原帖由 cctvdd 于 2008-11-28 09:52 发表
我请问下 我要从WIN 移到LINUX 是咱操作的呢 能DUMP出来,到LINUX上LOAD不呀 还是直接拷MASTER和DAT过切呢?!谢谢!


你的SYBASE版本?低于12。5就有些麻烦了,可以考虑BCP!
作者: cctvdd    时间: 2008-11-28 10:37
我的是12.54的
作者: Eisen    时间: 2008-11-28 14:00
原帖由 sheepxxy 于 2008-11-28 09:00 发表
Server Message:  Number  3216, Severity  10
Server 'SHE3PXXY', Line 1:
Backup Server session id is:  5.  Use this value when executing the 'sp_volchanged' system stored procedure after fulfilli ...


嗯。看到了,原来用的是分卷压缩啊,你去load的那一个不是卷首,会报这样的错误,这个你只有用语句load database ... strip on...
一点点去拼去试原来的备份顺序了。这下子,你可惨了……

ps: 你抄的原来那个aix管理员的命令只能适用于nt平台本地的sybase dump,load,绝对不是在aix上操作的语句。不要被那个给骗了。
作者: Eisen    时间: 2008-11-28 14:04
原帖由 cctvdd 于 2008-11-28 10:37 发表
我的是12.54的

那就dump load,然后重新dbcc reindex一把就行了。
作者: cctvdd    时间: 2008-11-28 15:55
重新dbcc reindex 是什么弄呢 只是重建索引哇?
作者: pandu    时间: 2008-12-01 09:35
印象中好像15.0以下的是不可以跨平台load的吧
作者: WFCJZ    时间: 2008-12-01 10:50
原帖由 pandu 于 2008-12-1 09:35 发表
印象中好像15.0以下的是不可以跨平台load的吧

12.5以上就可以跨平台LOAD!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2