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

    数据迁移之后,总是需要进行源库和目标库的核对,来判断本次数据迁移是否成功。以下采用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是迁移不到目标库的,得需要手动创建。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值