天天看點

資料遷移後的遷移結果比對方法

 資料遷移之後,總是需要進行源庫和目标庫的核對,來判斷本次資料遷移是否成功。以下采用DBLINK方法進行核對,是在工作中總結的,通過對象和資料量來進行判定資料遷移是否成功,如果以下核對内容完全一緻,基本上可以判定遷移成功。DBLINK中的使用者需要有DBA權限,在目标庫中建立DBLINK。

一、核對遷移對象

找出遷移對象差異,如果查出結果,說明遷移過程中漏了對象,查詢結果即為漏的對象。 SELECT *   FROM [email protected]_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 [email protected]_101701622 T, USER_TABLES TT          WHERE T.OWNER = 'U_SJZX_WEB'            AND T.TABLE_NAME = TT.TABLE_NAME(+)) A  ORDER BY BDJG; 補充說明:PUBLIC類型的DBLINK是遷移不到目标庫的,得需要手動建立。