您的位置:首页 > 其它

数据迁移后的迁移结果比对方法

2015-11-29 19:32 465 查看
    数据迁移之后,总是需要进行源库和目标库的核对,来判断本次数据迁移是否成功。以下采用DBLINK方法进行核对,是在工作中总结的,通过对象和数据量来进行判定数据迁移是否成功,如果以下核对内容完全一致,基本上可以判定迁移成功。DBLINK中的用户需要有DBA权限,在目标库中创建DBLINK。

一、核对迁移对象

找出迁移对象差异,如果查出结果,说明迁移过程中漏了对象,查询结果即为漏的对象。

SELECT *

  FROM DBA_OBJECTS@DBLINK_101701622 T

 WHERE T.OWNER = 'U_SJZX_WEB'

   AND T.OBJECT_NAME NOT IN (SELECT OBJECT_NAME FROM USER_OBJECTS T)

   AND T.OBJECT_NAME NOT LIKE '%$$%';

二、核对表的数据量

1.重新分析表的数据量,为了下一步能够获得准确的数据量,源库目标库都需要执行查询结果。

SELECT 'analyze table ' || TABLE_NAME || ' compute statistics;' FROM USER_TABLES;

2.找出数据量差异表对象

SELECT YB_BM  源表表名,

       YB_NUM 源表数据量,

       MB_BM  目标表名,

       MB_NUM 目标数据量,

       BDJG   比对结果

  FROM (SELECT T.TABLE_NAME YB_BM,

               T.NUM_ROWS YB_NUM,

               TT.TABLE_NAME MB_BM,

               TT.NUM_ROWS MB_NUM,

               CASE

                 WHEN T.NUM_ROWS = TT.NUM_ROWS OR T.NUM_ROWS IS NULL THEN

                  '相同'

                 ELSE

                  '不相同'

               END BDJG

          FROM DBA_TABLES@DBLINK_101701622 T, USER_TABLES TT

         WHERE T.OWNER = 'U_SJZX_WEB'

           AND T.TABLE_NAME = TT.TABLE_NAME(+)) A

 ORDER BY BDJG;

补充说明:PUBLIC类型的DBLINK是迁移不到目标库的,得需要手动创建。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: