我用pb的数据管道,把sybase的数据库导入oracle中,在导完的时候,发现,索引可以导过来,oracle中的表都是没有主键的,就是说主键没有一起导过来,是怎么一回事?是本身就这样,还是设置错误?
很多数据迁移工具都是不能很好地处理主键、索引和外键的问题。因为,它们的目标是数据转移而不是数据模型的迁移。
因此,我的建议是:
1 利用数据库建模工具,如powerdesign做数据库模型的迁移(sybase==>oracle)
2 再利用数据迁移工具(pb的数据管道/borland datapump/SQL Server的数据导入导出)做数据迁移。
注:需要注意的是,数据迁移工具往往没有分析先后关系的功能,因此,由于外键的影响会导致数据导入失败,需要重复做几次,需要人工来区分先后关系。或者外键再数据导入后再建,这是我的经验。
- 数据类型转换 特别注意Oracle中的varchar2、number、clob
Oracle中varchar2的长度可以大于255,但Sybase不可以
- Sybase中单条记录的长度最好不要超过1962bytes
- Sybase中,create table Test{
name varchar(20)
}
name是不允许为null,若要是name允许为null,要写成name varchar(20) null
- Oracle语句是以分号结尾
- Oracle支持sequence,Sybase不支持
- Sybase中使用字符集cp936避免中文乱码
- 若使用hibernate连接Sybase可能会遇到setReadOnly的警告,在数据库master下执行
update spt_mda set querytype = 4, query = '0'
where mdinfo = 'SET_READONLY_FALSE'
update spt_mda set querytype = 4, query = '0'
where mdinfo = 'SET_READONLY_TRUE'
go
附:
使用SybaseClient注意事项
- dsedit设置添加directoryService时,Url格式为:IP,端口
上周末的活动之后,有朋友问我,Oracle是否有自己的异构数据迁移工具?
答案当然是有的,不过由于使用不够广泛,很多人甚至没有听说过Oracle的这些工具。我在这里简单介绍一下。
最常用的迁移工具是:Oracle Migration Workbench
The Oracle Migration Workbench is a tool that simplifies the process of migrating Informix, and DB2 databases to the Oracle platform (Oracle9i and Oracle10g). The Oracle Migration Workbench migrates the entire database schema, including triggers and stored procedures, in an integrated environment.
To migrate Microsoft Access, Microsoft SQL Server, MySQL and Sybase databases to Oracle refer to Oracle SQL Developer, which now incorporates the Migration Workbench.
这个工具可以用于迁移Informix 、db2等数据库至Oracle数据库;如果要迁移微软的Access、SQL Server、Mysql及Sybase数据库可以参考使用Oracle的SQL Developer工具,这个工具现在内在的集成了Migration Workbench.
关于这些工具的使用,前面提到的几个链接中具有详细的文档介绍,这个工具我很早以前用到过,还是非常方便和直观的。
除此之外Oracle的ODI也可以在数据迁移中发挥作用,ODI(Oracle Data Integrator)是Oracle在2006年10月收购Sunopsis公司后,整合Sunopsis Active Integration Platform而推出的一款数据集成工具,现在是Oracle Fusion Middleware的组件。在SOA和BI领域是一个重要的实现工具。
在以下链接中具有详细的说明和介绍:
http://www.oracle.com/technology/global/cn/pub/articles/rittman-odi.html
BI项目中的异构数据处理、迁移是比不可少的,了解一点ODI的知识即使对于DBA也是大有好处的:
http://www.oracle.com/products/middleware/odi/odi-suite.html
496

被折叠的 条评论
为什么被折叠?



