假设目前数据库容量为A,一个月后增量为Ai,housekeep程序周期为1个月,则删除的数据容量为Ad。 则一个月后A=A+Ai-Ad; 而另一数据库为B,应该B=A+Ai。 所以不能实时更新B,只能伴随housekeep程序且在其之前做更新。 由于 Any modification (UPDATE, INSERT, or DELETE) on a table automatically qualifies that table for incremental Export. 而且 If you use cumulative and incremental Exports, you should periodically perform a complete Export to create a base backup. Following the complete Export, perform frequent incremental Exports and occasional cumulative Exports. After a given period of time, you should begin the cycle again with another complete Export. 增量导出可能不行。这确实是个难题。我想只能辛苦辛苦,在每张表中加上exp_date字段,做存储过程将大于等于该日的数据导入到B,并更新exp_date。这样删除以前的数据不会影响到该过程,自然也 不会影响到B。一家之言,姑妄听之
发表一点不成熟的想法: 既然是业务数据,根据我的经验,业务数据记录都是有处理时间的 既然是用户的需求,搞一个从数据库,应该两台数据库主机会在同一网段,就是说在主从数据库之间建立链接是可行的有了上面的条件,我觉得在两个数据库之间建立链接,然后作一个job,每天从主库表里insert into 从数据库表 select 数据 from 主数据库相应表表 where 处理时间> 从数据库相应表.处理时间 这个方法在处理结果上是可以满足楼主所提需求的,但是如果业务数据量每天增长很快很多,在效率上我就没有测试过,不知能不能满足现实的需求;这个方法不涉及到exp/imp的唯一性约束和很多其他的约束
则一个月后A=A+Ai-Ad;
而另一数据库为B,应该B=A+Ai。
所以不能实时更新B,只能伴随housekeep程序且在其之前做更新。
由于
Any modification (UPDATE, INSERT, or DELETE) on a table automatically qualifies that table for incremental Export.
而且
If you use cumulative and incremental Exports, you should periodically perform a complete Export to create a base backup. Following the complete Export, perform frequent incremental Exports and occasional cumulative Exports. After a given period of time, you should begin the cycle again with another complete Export.
增量导出可能不行。这确实是个难题。我想只能辛苦辛苦,在每张表中加上exp_date字段,做存储过程将大于等于该日的数据导入到B,并更新exp_date。这样删除以前的数据不会影响到该过程,自然也
不会影响到B。一家之言,姑妄听之
是否可以这样,在建立一个HIST表,保存当天的所有记录,并且每日复制到B数据库后,清除。
主数据库housekeeping时,对从数据库不操作有什么影响吗?
一般我导入(完全备份)时,为保证数据准确性,先删除用户或清除库,
再进行导入。
刚才我测试了一下,如果用删除数据后的备份去IMP到从数据库,那么会报
违反唯一性约束错误,参数选择了忽略创建错误也不行。这种恢复应该
是插入式的,应该不会因为主数据库删除了数据而在导入时将从数据库
的数据删除(显然的)。但是如果主数据库更新了数据,也不会导入到
从数据库里,怎么解决呢?
不知道大家有没有碰到过?
这个问题,还是在应用程序上想办法来实现,对表加入一些标志位来控制。
MSN [email protected]
QQ:195553308
既然是业务数据,根据我的经验,业务数据记录都是有处理时间的
既然是用户的需求,搞一个从数据库,应该两台数据库主机会在同一网段,就是说在主从数据库之间建立链接是可行的有了上面的条件,我觉得在两个数据库之间建立链接,然后作一个job,每天从主库表里insert into 从数据库表 select 数据 from 主数据库相应表表 where 处理时间> 从数据库相应表.处理时间
这个方法在处理结果上是可以满足楼主所提需求的,但是如果业务数据量每天增长很快很多,在效率上我就没有测试过,不知能不能满足现实的需求;这个方法不涉及到exp/imp的唯一性约束和很多其他的约束
exp/imp的唯一性约束和很多其他的约束,还会存在?
如果存在也就是说主数据库的数据都存在有问题了。
用job,可以保证现有的数据库数据同步,怎么同步还要看楼主
要同步那些数据了,在存储过程里面实现,