ITPub博客

首页 > 数据库 > Oracle > 旷日持久的数据迁移总结

旷日持久的数据迁移总结

原创 Oracle 作者:dawn009 时间:2014-03-08 17:48:31 0 删除 编辑

     下午完成了旷日持久的单实例跨版本oracle数据迁移任务,本来是两个schema逐步在分类脚本中进行(expdp表结构,再是数据,再是索引约束,再是其他数据库对象),由于没有使用并行,两个任务一起处理,出现了不少问题(无故出现impdp表数据翻倍现象,索引约束违背问题,还有cluster引起的问题).其实数据不是很大,两个schema加起来就20G的样子,针对上面出现的繁琐离奇问题处理时真心纠结,有点拆东墙补西墙的窘境。

    后来,看到网上有朋友就分两步,先是数据和其他DB对象,然后是索引约束,其建议是如果想提升速度,最好将数据与索引约束分开,由于我们数据不是很大,就一起expdp了,结果这样下来几乎没遇到什么问题,就是由于数据库版本差异,导致几个package body失效的问题,最后查明是由于db_link的问题,后来也轻松处理了。

接着,迁移完成后的善后工作:重新编译schema信息,重新收集DB统计信息。

最后,总结这次迁移心得体会如下:

(1)迁移前的流程得事先想明白,会遇到的问题需要尽可能多的有预见性处理,还有就是效率和优化的问题;

(2)一条路走不通时可以换个思路尝试新的方法,说不定可以高效解决你的问题,当然一切都是在实践前提下进行;

(3)最后,感觉迁移完成后的善后三项工作很重要也很实用,贴出来,分享给大家:

       --->>迁移后对比目标库和源库数据库对象类别和数据:

    SQL> select object_type,count(*) cnt from dba_objects where owner='AAA' GROUP BY OBJECT_TYPE;

 

外网14环境统计信息                      RAC环境统计信息 

 

OBJECT_TYPE                CNT          OBJECT_TYPE                CNT     

------------------- ----------          ------------------- ----------   

TABLE SUBPARTITION         850          TABLE SUBPARTITION         850   

INDEX PARTITION             72          INDEX PARTITION             72   

TABLE PARTITION             98          TABLE PARTITION             98   

SEQUENCE                    47          SEQUENCE                    47                             

PROCEDURE                    1          PROCEDURE                    1   

DATABASE LINK                1          DATABASE LINK                1   

PACKAGE                     15          PACKAGE                     15   

PACKAGE BODY                13          PACKAGE BODY                13   

TRIGGER                     38          TRIGGER                     38   

INDEX                      116          INDEX                      116   

TABLE                      131          TABLE                      130   

VIEW                        11          VIEW                        11   

FUNCTION                     7          FUNCTION                     7   

SYNONYM                     40          SYNONYM                     40   

CLUSTER                      3          CLUSTER                      3   

TYPE                         3          TYPE                         3   

       

                                                                    

16 rows selected                      16 rows selected              

---->>迁移后重新编译schema信息:

begin

dbms_utility.COMPILE_SCHEMA(AAA);

end;

/

---->>迁移后查询失效DB对象:

SQL> select t2.owner,t2.object_name,t2.object_type from all_objects t2 where owner in (AAA) and status='INVALID';

 

OWNER                          OBJECT_NAME                    OBJECT_TYPE

------------------------------ ------------------------------ -------------------

FLTF                            FLT_PSF                         PACKAGE BODY

FLTF                           FLT_STATF                       PACKAGE BODY

FLTF                            FLT_DATA_STAT_PROXYF            PACKAGE BODY

----->>迁移后重新收集schema统计信息:

BEGIN

  DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME          => 'FFF',

                                 ESTIMATE_PERCENT => DBMS_STATS.AUTO_SAMPLE_SIZE,

                                 METHOD_OPT       => 'FOR ALL COLUMNS SIZE 1',

                                 DEGREE           => 32);

END;

(4)贴出expdpimpdp脚本供参考:

Expdp_all_bus.sh----->>

expdp aaa/bbb DIRECTORY=expdp_dir DUMPFILE=expdp_all_man%U.dump filesize=6G CONTENT=all  logfile=expdp_all_bus_parallel.log parallel=3 SCHEMAS=AAA version=10.2.0.1.0  exclude=table_statistics,index_statistics;

 

Impdp_all_bus.sh----->>

impdp BBB/CCC DIRECTORY=impdp_dir DUMPFILE=expdp_all_bus%U.dump  CONTENT=all  logfile=impdp_all_bus_parallel.log parallel=3 SCHEMAS=DDD version=10.2.0.1.0;

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

上一篇: ORA-02019 错误处理
请登录后发表评论 登录
全部评论

注册时间:2013-08-15

  • 博文量
    595
  • 访问量
    4847934