bomb1969 发表于 2012-08-10 15:45

求指教!sybase 克隆方案

新人遇到大问题,请高手指点!
当前有一个sybase数据库在正常生产中(目标),目的是想要在新的设备上克隆这个sybase数据库(目的),使两个数据库完全一样(除db_name外).
方案:
    (1)使用ddlgen命令
1、存储过程
ddlgen -Usa -P -SSYB_SERV -Duserdb -TP -N% -O proc.ddl
2、数据库
ddlgen -Usa -P -SSYB_SERV -Duserdb -TDB -Nuserdb -O db.ddl
3、表结构
ddlgen -Usa -P -SSYB_SERV -Duserdb -TU -N% -O table.ddl
4、视图
ddlgen -Usa -P -SSYB_SERV -Duserdb -TV -N% -O view.ddl
导出*.ddl文件。
   (2) 再导出数据
    (3)在新设备上建库
      (4)将导出的 *.ddl文件导入新建库。
       (5)将数据导入新建库
请高手指点一下该方案是否可行?
有没有别的简便方法?
其中第4步 将在目标数据库导出的.ddl文件,导入到新建库里的命令及语法是什么呢?
只找到了导出ddlgen命令,没找到导入命令。
哪位老师,前辈指点一下。
万分感谢,万分感谢,万分感谢!

Eisen 发表于 2012-08-10 16:43

本帖最后由 Eisen 于 2012-08-10 16:45 编辑

什么版本和平台的?直接dump-load不行吗?

bomb1969 发表于 2012-08-13 09:34

感谢楼上朋友指点,
ase12-5
linux平台

Eisen 发表于 2012-08-13 11:30

ase-12_5是一个大目录,你要看 select @@version值。

一般克隆你就用dump database- load database可以了,除非很大很忙的,你还得用dump tran-load tran 辅助。

bomb1969 发表于 2012-08-13 11:54

你好 朋友
呵呵 首先感谢你的指导。
我现在想克隆的库比较复杂
现在的方案是把老库用ddlgen导出表结构、视图、索引。
然后bcp导出数据。
最后在新库中恢复表结构(ddlgen导出的.ddl文件)。
最最后是恢复数据。
呵呵 我是新人,相当的菜。
我现在已经用ddlgen导出了表结构(table.ll)等机构文件。
但现在不知道 这类ddl文件怎样在新库中生成?
用bcp命令还是,直接执行什么?
还望前辈再给些指点。

Eisen 发表于 2012-08-14 14:55

不用那么复杂,直接dump-load database就可以了。

2BeSybPro 发表于 2012-08-16 01:43

Eisen 说得对,最简单的方法是:dump你的源数据库,load到你的目标数据库。如果你想继续用ddlgen和bcp,我们会告诉你怎么做。

bomb1969 发表于 2012-08-16 14:47

感谢楼上两位哥们够帮忙,万分感谢!
我现在倒是对dump load的方法更感兴趣
但不知道这种方法能不能实现我的目的。
我要实现两个库完全一样(dbname不一样,内容一样)。
能指点一下dump load 怎样用么?
再次感谢!

Eisen 发表于 2012-08-16 16:30

给你个例子:A=>B
1. create database B照A的结构原样创建出来
2.
dump database A to '/backup/adhoc/A.dmp'
go
load database B from '/backup/adhoc/A.dmp'
go
online database B
go
就成了

kanfu_cu 发表于 2012-08-20 12:39

本帖最后由 kanfu_cu 于 2012-08-20 12:47 编辑

如果是12.5.4可以mount 和 unmount的方式,类似微软SQLSEVER的分离和附加。
页: [1]
查看完整版本: 求指教!sybase 克隆方案