社区
Oracle
帖子详情
两个库之间的增量更新问题。
hualong2000
2005-10-31 10:56:57
A和B分别是两台机器上的oracle数据库表,结构相同。
其中B表中可能出现更新、删除、增加、定期备份(后清空)等操作,并且每天都会有若干操作发生。
请问,如何将B表增量更新到A表中去,保证A表中保存B表中的历史数据,
但不能包含B中已经删除的记录,且更新、增加记录等操作要体现在A表中。
请大虾们帮忙看看了
...全文
253
12
打赏
收藏
两个库之间的增量更新问题。
A和B分别是两台机器上的oracle数据库表,结构相同。 其中B表中可能出现更新、删除、增加、定期备份(后清空)等操作,并且每天都会有若干操作发生。 请问,如何将B表增量更新到A表中去,保证A表中保存B表中的历史数据, 但不能包含B中已经删除的记录,且更新、增加记录等操作要体现在A表中。 请大虾们帮忙看看了
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
usaspy
2005-11-07
打赏
举报
回复
感觉还是用触发器比较好
hualong2000
2005-11-04
打赏
举报
回复
“增量刷新用物化视图日志来发送主表已经修改的数据行到物化视图中.”
物化视图我们做过,但已修改的数据并不包含A表中已删除的数据行的,还是无法判别那些是删除行。
hualong2000
2005-11-04
打赏
举报
回复
lwty(藏浪) ,你说的前两步都做过的,不知道增量刷新组和增量刷新怎么做?
hualong2000
2005-11-04
打赏
举报
回复
按系统时间好像不能解决B中删除记录的情况,也就是这个问题我一直没有解决好。
zzwind5
2005-11-02
打赏
举报
回复
如果表中有字段记录系统时间的话
可以建立一个定时脚本按月或按天把这段时间的增量数据导过去
lwty
2005-11-02
打赏
举报
回复
1,在A库中建立所有需要更新的对象的快照日志
2,在B库建立连接A库的db link
3,建立刷新组做增量刷新
hualong2000
2005-11-02
打赏
举报
回复
目前我也是这么考虑的,好像也有些问题。
1、但像B表这样的表不止一个,今后随着业务发展,会越来越多,如果每个都写程序的话,工作量比较大。
2、大多表都是大小上G的,建立临时表可能会影响速度。
我先用这个方法了试一下了,谢谢 sasacat
sasacat
2005-11-01
打赏
举报
回复
那就建一个job。每一段时间把这个B表数据全取下来,先放在一个临时表里。然后再自己写个程序慢慢分析哪些数据变了,哪些数据是新增的
hualong2000
2005-11-01
打赏
举报
回复
是这样的,B表不是我们控制的,是我们合作伙伴提供给我们的数据源,只有读权限,B表由于是在线系统,保存数据有时间限,我门这边的分析系统需要保留B表的历史数据,但不能包含B中已删除的记录、同时还要考虑B表备份清空的情况。所以才有这个需求。
bobfang
2005-10-31
打赏
举报
回复
你如果只有select权是没有办法把数据写入的!除非你找到了oracle的安全漏洞。
hualong2000
2005-10-31
打赏
举报
回复
忘了说了,我对B表没有建立触发器的权限,只有select的权限。不知道能不能解决。
谢谢各位了
sasacat
2005-10-31
打赏
举报
回复
用触发器吧
【题目自解】北京大学2016计算机学科夏令营上机考试
【题目自解】北京大学2016计算机学科夏令营上机考试 A:分段函数(NOI1.4编程基础之逻辑表达式与条件分支) 解题思路 这题就像逗我玩似的,这连简单题都算不上。 AC代码 #include<cstdio> using namespace std; int main() { double x, y; scanf("%lf", &...
百练 / 2017计算机学科夏令营上机考试 G:实现堆结构
百练 / 2017计算机学科夏令营上机考试 G:实现堆结构 手搓小顶堆 # 百练 / 2017计算机学科夏令营上机考试 G:实现堆结构 # http://bailian.openjudge.cn/xly2017/g/ # http://bailian.openjudge.cn/practice/4078/ # Author:NitrogenousFish # github:https://github.com/NITROGENousFish/ def getLeft(pos): return 2*p
2017计算机学科夏令营上机考试 G:实现堆结构 优先队列
考察优先队列 总时间限制: 3000ms内存限制: 65536kB 题目 描述 定义一个数组,初始化为空。在数组上执行两种操作: 1、增添1个元素,把1个新的元素放入数组。 2、输出并删除数组中最小的数。 使用堆结构实现上述功能的高效算法。 输入 第一行输入一个整数t,代表测试数据的组数。 对于每组测试数据,第一行输入一个整数n,代表操作的次数。 每次操作首先输入一个整数...
【优先队列】2017计算机学科夏令营上机考试 G:实现堆结构
总时间限制: 3000ms内存限制: 65536kB 题目链接——>点击打开链接 提交链接——>点击打开链接描述定义一个数组,初始化为空。在数组上执行两种操作:1、增添1个元素,把1个新的元素放入数组。2、输出并删除数组中最小的数。使用堆结构实现上述功能的高效算法。输入第一行输入一个整数t,代表测试数据的组数。对于每组测试数据,第一行输入一个整数n,代表操作的次数。每次操作...
国央企如何通过数字化转型提升创新研发决策的科学性?.docx
国央企如何通过数字化转型提升创新研发决策的科学性?
Oracle
17,133
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章