ustcboy 发表于 2008-04-16 08:34

原帖由 chuxu 于 2008-4-16 08:15 发表 http://bbs.chinaunix.net/images/common/back.gif
我觉得是不需要恢复master,model,sybsystemprocs,sybsystemdb,tempdb这些库的,建立server的同时这些库就建立好了。
建立用户数据库时候会改写master的相关内容,所以master也不需要手工load。
因为我做的是数据移植,就是说我新安装一个sybase环境,想把数据全部导过来,所以还请针对移植再请chuxu说说此问题

---针对移植,为保证和原服务器完全一致,是否要对master,model,sybsystemprocs,sybsystemdb,tempdb进行load(或dll+bcp)
如果要做load(或DLL+bcp),除正常数据外,是否只做master,还是对master,model,sybsystemprocs,sybsystemdb,tempdb全部load


因为我是新手,还请chuxu再赐高见

[ 本帖最后由 ustcboy 于 2008-4-16 08:40 编辑 ]

chuxu 发表于 2008-04-16 08:40

不需要对master,model,sybsystemprocs,sybsystemdb,tempdb做load
或者bcp in.

通过建用户设备、用户库的操作就完成了对master库相关信息的修改。

所以在一个新的环境,只有建用户的库,并bcp或者load用户的库就可以了。

ustcboy 发表于 2008-04-16 08:53

原帖由 chuxu 于 2008-4-16 08:40 发表 http://bbs.chinaunix.net/images/common/back.gif
不需要对master,model,sybsystemprocs,sybsystemdb,tempdb做load
或者bcp in.

通过建用户设备、用户库的操作就完成了对master库相关信息的修改。

所以在一个新的环境,只有建用户的库,并bcp或者loa ...
只有建用户的库--这个是指的用户的数据码?

另外相关的存储过程,和sybase相关的用户权限等数据等是放在哪个库里,不在上述5库中吗?
-----

chuxu 发表于 2008-04-16 09:02

只有,笔误应该是只要建。是只需要建立用户的数据库。


用户的权限在相应的用户数据库中,并不在上述的5个库里。只需要用sp_addlogin增加登陆名即可(这个记录在master库的syslogins中)。如果你还对这些用户授予了什么系统的role,也在master库中。上述操作可以用相关的语句增加。

存储过程正常的情况下也应该在用户自身的数据库中,如果你建在了master或者sybsystemprocs,就需要手工重建了。

ustcboy 发表于 2008-04-16 09:20

原帖由 chuxu 于 2008-4-16 09:02 发表 http://bbs.chinaunix.net/images/common/back.gif
用户的权限在相应的用户数据库中,并不在上述的5个库里。只需要用sp_addlogin增加登陆名即可(这个记录在master库的syslogins中)。如果你还对这些用户授予了什么系统的role,也在master库中。上述操作可以用相关的语句增加。

存储过程正常的情况下也应该在用户自身的数据库中,如果你建在了master或者sybsystemprocs,就需要手工重建了。
如果你建在了master或者sybsystemprocs,就需要手工重建了///-----如果真是这样,是否可以在sybase单用户模式下通过load(bcp)master&sybsystemprocs来完成相关创建?并load(bcp&dll)数据来完成全部移植?

[ 本帖最后由 ustcboy 于 2008-4-16 09:22 编辑 ]

chuxu 发表于 2008-04-16 09:38

1。master库的sysdevices有所以数据库设备的物理指向,如果load master 就必须保证在新环境下设备使用必须和老环境完全一致(大小,路径),否则load 之后就可能有库不能启动。 bcp的道理是一样的,必须对相关数据进行修改,例如sysdevices,sysusages,sysdatabases,才能进行bcp。
2、load 系统库master,sybsystemprocs还必须确认一个问题就是老库和新环境的数据库版本(包括补丁)是一致的。

[ 本帖最后由 chuxu 于 2008-4-16 09:40 编辑 ]

ustcboy 发表于 2008-04-16 09:43

原帖由 chuxu 于 2008-4-16 09:38 发表 http://bbs.chinaunix.net/images/common/back.gif
1。master库的sysdevices有所以数据库设备的物理指向,如果load master 就必须保证在新环境下设备使用必须和老环境完全一致(大小,路径),否则load 之后就可能有库不能启动。
2、load 系统库master,sybsyst ...
非常感谢,呵呵,辛苦
----
1.如果不采用load,用DLL+BCP方式若与老环境不一致可以吗?
2.load 系统库master,sybsystemprocs还必须确认一个问题就是老库和新环境的数据库版本(包括补丁)是一致的。
因为我现在是移植,从11.1.1->11.9.2而且是(aix->solaris)环境,那通过DLL+BCP方式是否可以完成
或者你有什么更好的建议.

chuxu 发表于 2008-04-16 09:58

版本不一致的话,建议用DLL+BCP的方式移植。
我一直建议你的都是一个办法,建新的server,这样就有了(master等5个系统库)不要对这5个系统的库执行load或者bcp in,
手工建里各个用户数据库,采用dump或者 DLL+bcp方法恢复用户库数据。
如果在master或sybsystemprocs中有自己建立表或者过程,采用在老库上导出DLL的方法,在新环境下手工执行DLL创建。

ustcboy 发表于 2008-04-16 10:28

原帖由 chuxu 于 2008-4-16 09:58 发表 http://bbs.chinaunix.net/images/common/back.gif
版本不一致的话,建议用DLL+BCP的方式移植。
我一直建议你的都是一个办法,建新的server,这样就有了(master等5个系统库)不要对这5个系统的库执行load或者bcp in,
手工建里各个用户数据库,采用dump或者...
好的,非常感谢,我接下来会做相关的移植,会记录下详细的信息,也给大家share,呵呵
---另外我的tape是dds4 20/40Gb的,怎么每次只能使用2GB容量?
backup_tape.cfg

###
Revision 1
ibm1 /dev/rmt0   2 1 65536 4 1 0


-----
我看到需要sp_addumpdevice 设置相关dump tape信息,是这样吗?可以直接修改这个文件吗?
ibm1 /dev/rmt0   2 1 65536 4 1 0这些信息分别都代表什么内容?
页: 1 [2]
查看完整版本: 请高手高见:sybase数据库移植完毕后,如何验证数据和原库一致?