zoukankan      html  css  js  c++  java
  • 升级迁移前,存储过程统计各个用户下表的数据量,和迁移后的比对

      使用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;
  • 相关阅读:
    家庭网络拓扑架构
    网络基础概念(IP、MAC、网关、子网掩码)
    centos7搭建docker并部署lnmp (转)
    docker容器里面安装php的redis扩展
    docker 安装ps命令
    Docker Ubuntu容器安装ping
    docker 安装nginx
    CentOS7 安装特定版本的Docker
    docker 卸载旧版本
    Centos7搭建Docker部署LNMP
  • 原文地址:https://www.cnblogs.com/ocp-100/p/10916163.html
Copyright © 2011-2022 走看看