迁移数据到Oracle的方法思考

本文提供了多种Oracle数据库迁移方案,包括使用DBLINK、RMAN、直接拷贝文件、exp/expdp工具等,并介绍了针对特殊数据类型的处理方法及非Oracle数据库与Oracle数据库间的迁移策略。
摘要由CSDN通过智能技术生成

/*Oracle迁移到Oracle的方案一--DBLINK*/

数据字典被破坏,无法修复,无法用正常的oracle导入导出工具导入导出数据。考虑使用DBLINK方式。DBLINK无法完成CLOB,BLOB,LONG,LONG RAW类型的数据抽取。所以要将相关的表排除。

--生成启用表的nologging属性的批量SQL
select 'alter table '||owner||'.'||table_name||' nologging;' from dba_tables where owner in ('SSO','WEBLOGIC') ;
--where table_name not in (
--select table_name from dba_tab_columns where owner in ('SSO','WEBLOGIC') and (data_type  like '%LOB' or --data_type='LONG' or data_type='LONG RAW'));

--生成禁用表的约束的批量SQL
select 'alter table '||owner||'.'||table_name||' disable constraint '||constraint_name||';' from dba_constraints   where owner in ('SSO','WEBLOGIC');
--where table_name not in (
--select table_name from dba_tab_columns where owner in ('SSO','WEBLOGIC') and (data_type  like '%LOB' or --data_type='LONG' or data_type='LONG RAW'));

--生成清空表的数据,%_BAK是系统中的备份表,可以排除
select 'truncate table '||owner||'.'||table_name||';' from dba_tables where owner in ('SSO','WEBLOGIC')  and  table_name not in (
select table_name from dba_tab_columns where owner in ('SSO','WEBLOGIC') and (data_type  like '%LOB' or data_type='LONG' or data_type='LONG RAW')) and table_name not like '%_BAK';

--生成插入数据的批量SQL,@QHPORTAL87是连接到远程服务器的DBLINK。
select 'insert into /*+append nologging*/ '||owner||'.'||table_name ||' select * from '||owner||'.'||table_name ||'@QHPORTAL87;' from dba_tables  where owner in ('SSO','WEBLOGIC') and table_name not in (
select table_name from dba_tab_columns where owner in ('SSO','WEBLOGIC') and (data_type  like '%LOB' or data_type='LONG' or data_type='LONG RAW'))   and table_name not like '%_BAK';

--完成插入后,再修改上面的脚本生成启用约束和启用logging属性的批量SQL,执行这些批量SQL完成dblink数据的抽取工作。

/*剩余的包含CLOB,BLOB,LONG,LONG RAW字段的表用SQLSERVER DTS进行抽取。*/

 

/*Oracle迁移到Oracle的方案二--使用RMAN进行迁移*/
/*Oracle迁移到Oracle的方案三--直接拷贝数据文件、控制文件、日志文件、参数文件*/
/*Oracle迁移到Oracle的方案四--使用exp、expdp|imp、impdp工具完成迁移*/
/*Oracle迁移到Oracle的方案五--使用pl/sql(ODBC转换器) DBArtiscan工具(数据库同步工具) sqlserver dts的导入导出工具 powercenter等第三方抽取工具*/
/*Oracle迁移到Oracle的方案六--生成数据的批量SQL(pl/sql、oracle sql developer等)*/
/*Oracle迁移到Oracle的方案七--GodenGate、DataGuard*/


/*导入表结构*/
--1.使用原有的dmp文件,利用imp或impdp工具将表结构导入。
--2.使用erwin,power designer等工具的反转功能导入数据库的表,生成表结构的DDL语句,然后执行。
--3.使用dblink执行CTAS方式进行表的COPY。

 

/*非Oracle数据库与Oracle数据库的迁移*/
--1.部署oracle gateway组建,利用这个组建+DBLINK+CTAS方式完成数据的抽取,BLOB,CLOB,LONG,LONG RAW使用sqlserver dts完成抽取。
--2.使用DBArtiscan、sqlserver dts、powercenter等第三方迁移工具。
--3.Sybase使用bcp,sqlserver使用企业管理器的导出成文本功能导出成文本,然后使用oracle sqlloader工具导入到数据库。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23135684/viewspace-674034/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23135684/viewspace-674034/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值