当前位置: 首页 > news >正文

物化视图优先迁移大表,缩短逻辑迁移时间

有个项目需要把其中一个用户数据迁移出来,但是这个用户下有一个比较大的表,带lob字段,使用数据泵迁移光这个大表就需要花费五六个小时,超出了停机时间范围,并且迁移后要把大表改造成分区表,所以优先把lob的大表同步过去。

在源库上创建表的mview log
CREATE MATERIALIZED VIEW log on T_EC_EVENT
alter table T_EC_EVENT parallel 8

目标数据库上创建与该表一样的表(分区表),并在该表上创建prebuilt mv

create table T_EC_EVENT
(ID           VARCHAR2(50) not null primary key,EVENTID      VARCHAR2(50),FWQBH        VARCHAR2(8),SENDER       VARCHAR2(50),RECEIVER     VARCHAR2(50),NODEID       VARCHAR2(8) not null,ACTIONTYPE   VARCHAR2(100),EVENTSIZE    NUMBER(30),MEMO         VARCHAR2(2000),MESSAGEID    VARCHAR2(50),EVENTTYPE    VARCHAR2(2),CLIENTIP     VARCHAR2(50),CLIENTOS     VARCHAR2(50),MBFWQBH      VARCHAR2(8),JHDATE       DATE,EVENTCONTENT CLOB,KSSJ         TIMESTAMP(6),JSSJ         TIMESTAMP(6)
) partition by range (JHDATE)
INTERVAL(NUMTOYMINTERVAL(1,'MONTH'))
(PARTITION MT1 VALUES LESS THAN (TO_DATE('2016-01-01 00:00:00','YYYY-MM-DD hh24:mi:ss'))storage(initial 8Mnext 100Mminextents 1maxextents unlimited)
)storage(initial 8Mnext 100Mminextents 1maxextents unlimited);

目标库创建dblink到源库

create database link CUTEINFO1
connect to 源库用户 IDENTIFIED BY 源库密码
using 'monitor';

创建prebuilt mv物化视图
CREATE MATERIALIZED VIEW T_EC_EVENT
ON PREBUILT TABLE
REFRESH FAST ON DEMAND
AS
SELECT * FROM T_EC_EVENT@CUTEINFO1

执行数据同步
exec dbms_mview.refresh('T_EC_EVENT','COMPLETE',PARALLELISM=>8);

需要注意undo爆掉


查看数据量
select segment_name, partition_name, bytes / 1024 / 1024
from user_segments
where partition_name in
(select partition_name
from user_tab_partitions t
where table_name in
('T_EC_EVENT'
))
order by segment_name, partition_name;
增量刷新
SQL> exec dbms_mview.refresh('T_EC_EVENT','FAST',PARALLELISM=>1);
数据迁移完成整理,删除物化视图
Drop materialized view T_EC_EVENT
修改sequences与主库保持一致

迁移其他数据,排除已同步的表T_EC_EVENT和物化视图日志MLOG$_T_EC_EVENT

impdp 账号/密码 network_link=CUTEINFO1 directory=backup logfile=impdp_cuteinfo.log PARALLEL=2 exclude=table:"in('T_EC_EVENT')" exclude=MATERIALIZED_VIEW_LOG:"in('MLOG$_T_EC_EVENT')"  TABLE_EXISTS_ACTION=REPLACE schemas=cuteinfo remap_schema=cuteinfo:cuteinfo

http://www.dtcms.com/a/331368.html

相关文章:

  • MySql——binlog和redolog的区别
  • uniapp开发动态添加密码验证
  • Go语言全面解析:从入门到精通
  • C/C++ 指针与内存操作详解——从一级指针到字符串转换函数的完整解析
  • 拒绝“孤岛式”作战,全方位构筑隧道应急通信解决方案
  • Java 学习笔记(基础篇2)
  • 13、C 语言结构体尺寸知识点总结
  • LeetCode 刷题【41. 缺失的第一个正数】
  • 【力扣322】零钱兑换
  • 非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana
  • GraphRAG查询(Query)流程实现原理分析
  • NetLimiter:精准掌控网络流量,优化网络体验
  • 《中国人工智能安全承诺框架》发布
  • arthas火焰图怎么看
  • 搭建 Docker 私有仓库
  • 前端css学习笔记5:列表表格背景样式设置
  • 【Golang】Golang内存泄漏问题排查(二)
  • 服务器路由相关配置Linux和Windows
  • Android POS应用在android运行常见问题及解决方案
  • 当消息队列遇上AI:飞算JavaAI实现智能流量调度与故障自愈实践
  • 在 Windows 系统中解决 Git 推送时出现的 Permission denied (publickey) 错误,请按照以下详细步骤操作:
  • LE AUDIO---Common Audio Service
  • C#WPF实战出真汁02--登录界面设计
  • STM32学习笔记11-通信协议-串口基本发送与接收
  • 从轨道根数计算惯性系到轨道系旋转矩阵
  • 2020/12 JLPT听力原文 问题二 1番
  • [激光原理与应用-268]:理论 - 几何光学 - 人眼结构与颜色感知
  • Nacos 配置热更新:Spring Boot Bean 自动获取最新配置
  • 【21-倾斜数据集的误差指标】
  • 金融风控实战:从数据到模型的信用评分系统构建全解析