使用xtts升级数据库10.2.0.5到11.2.0.4后,比对两边数据量是否一致。sql
首先,在源端新建一张表:数据库
CREATE TABLE TMP_TAB_COUNT(owner VARCHAR2(30) ,TABLE_NAME VARCHAR2(50),TABLE_CNT_O INT) tablespace users;
使用如下存储过程,查询用户ntcis下全部表的数据量:spa
begin for tb in (select table_name from dba_tables where owner='DSG' and TEMPORARY='N' ) LOOP execute immediate 'insert into TMP_TAB_COUNT(owner,table_name,table_cnt_o) select ''DSG'' as owner,''' ||tb.table_name ||''',(select count(*) from DSG.' ||'"' ||tb.table_name ||'"' ||') from dual'; END LOOP; COMMIT; END; /
或者手动插入owner:code
begin for tb in (select table_name from dba_tables where owner='NTCIS' and TEMPORARY='N' ) LOOP execute immediate 'insert into TMP_TAB_COUNT1(table_name,table_cnt_o) select ''' ||tb.table_name ||''',(select count(*) from NTCIS.' ||'"' ||tb.table_name ||'"' ||') from dual'; END LOOP; COMMIT; END; / UPDATE TMP_TAB_COUNT1 SET OWNER='NTCIS' WHERE OWNER IS NULL; commit;
同理,升级完成后,在目标端也进行相同的查询,再建立dblink使用minus能够查看到有异常的数据量:blog
select * from tmp_tab_count minus select * from tmp_tba_count1@desttns;