最近公司要做一次数据迁移,由于本人无相关经验,至今一头雾水,特请各位高手献策!
数据是从一公司的oracle9i迁移到另一公司的oracle11g的brm数据库 ,即Oracle Billing and Revenue Management (BRM)计费系统中,迁移后的表结构与原先的表结构不同。
数据量30g左右,20多张表,千万条记录。oracle brm官方文档推荐的迁移方案是将数据转化为xml结构的数据,然后用oracle官方提供的cmt迁移工具实施,我查看了配置文件,迁移工具实际上是用
sqlloader进行的。
我的问题是:
1。迁移数据前,我应该注意些什么?
2。相对与sqlloader,有无其他方案?
3。如何将数据转化成xml格式的数据?
4。9i的表结构与11g的表结构是不同的,我该怎么做映射?
数据是从一公司的oracle9i迁移到另一公司的oracle11g的brm数据库 ,即Oracle Billing and Revenue Management (BRM)计费系统中,迁移后的表结构与原先的表结构不同。
数据量30g左右,20多张表,千万条记录。oracle brm官方文档推荐的迁移方案是将数据转化为xml结构的数据,然后用oracle官方提供的cmt迁移工具实施,我查看了配置文件,迁移工具实际上是用
sqlloader进行的。
我的问题是:
1。迁移数据前,我应该注意些什么?
2。相对与sqlloader,有无其他方案?
3。如何将数据转化成xml格式的数据?
4。9i的表结构与11g的表结构是不同的,我该怎么做映射?
我想sqlloader应该是很高效的方案了
数据导出为xml格式就好了啊
1,做好完全备份。2,如果数据量小的话,可以用应用程序或者plsql导出xml数据或者excel数据,然后再通过应用程序或者plsql工具导入到oracle11g库里面去。3,用plsql工具或者写java代码。4,表结构不同,你需要一个个字段映射,去校对,没有捷径可言,一个个字段比对。
表结构不一样可以试试:
1. 在11g上创建db link到9i
2. alter table new_table nologging.
3. 迁移数据
create new_table tablespace ts_name as
select c1, c2, c3...
from old_table1@db_link_name, old_table2@db_link_name...
where condition1...
4. 然后再补上PK,indexes,constraints等.
5. grant
6. alter table new_table logging.
谢谢各位给的意见,对我很受用。