升级迁移前,存储过程统计各个用户下表的数据量,和迁移后的比对

  使用xtts升级数据库10.2.0.5到11.2.0.4后,比对两边数据量是否一致。

  首先,在源端新建一张表:

  

CREATE TABLE TMP_TAB_COUNT(owner VARCHAR2(30) ,TABLE_NAME VARCHAR2(50),TABLE_CNT_O INT) tablespace users;

  使用以下存储过程,查询用户ntcis下所有表的数据量:

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:

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可以查看到有异常的数据量:

select * from tmp_tab_count minus select * from tmp_tba_count1@desttns;

转载于:https://www.cnblogs.com/ocp-100/p/10916163.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值