0 0

oracle 数据转移10

  有两张表,实时数据表:data,历史数据表:data_his。
  实时表,暂时每分时会有5w数据入库(以后会更多,听说要到100w)。
  现在需要将14分钟之前的data表数据转移到data_his表,有没有什么效率高的办法啊。大神们踊跃发言啊。
  暂时用的办法是,有个job,每分钟执行一次,每1000条一个循环delete掉data表里面14分钟之前的数据,然后有个行级触发器,删除data表数据时触发,向data_his表里面增加数据。感觉性能快有点吃不消了。请问有没有类似剪切文件的方法,直接剪切实时表数据到历史表?
 

问题补充:
monnsquare 写道
这需求变态,我觉得就怕你这样搞,如果14分钟前的数据,1分钟内删不完,就成死循环了。
应该不是一天24*60分钟都是这么多数据吧,可以实时的只是做删除操作,备份操作。慢慢再往data_his里弄

  不一定每分钟那么多,但是大部分时间是。
  死循环倒是不会,只是数据量到一定时候就会出现积累现象,一旦数据开始积累就会越来越多,到最后可能会造成job的下次执行时间变成9999。
  还有个问题就是,数据插入和转移的时候,查询会变得很慢,而且会影响到数据的插入,也就是可能会丢失数据。求指点
 
monnsquare 写道
这需求变态,我觉得就怕你这样搞,如果14分钟前的数据,1分钟内删不完,就成死循环了。
应该不是一天24*60分钟都是这么多数据吧,可以实时的只是做删除操作,备份操作。慢慢再往data_his里弄


问题补充:
kidding87 写道
我觉得吧,你应该把你为什么要这样做说明白些,大家能从根源帮你想办法,你这样就直接来插入删除的,这样并不一定能解决问题。
我有些疑问,历史数据主要是来做什么的,仅仅备份的话是不是直接用rman增量备份就行了
还有实时数据这个东西,我在别的公司见过这个东西,它其实并不是实时的,它是通过误差计算通过一小段时间内的历史值计算出来的实时值
这个其实可以借鉴下
这个数据吞吐量实在是很大,不是光插入删除记录就能解决的,需要拿出更好的设计方案才行啊

  实时数据是需要实时显示的(其实显示的数据也是前14-4分钟的),监控页面每分钟会刷新(一定查询条件的值),用js图表展示,如果实时数据表数据量大的话,刷新会很慢,所以需要将14分钟之前的数据单独存放。
  历史页面,可以查询14天以内的历史数据,暂时按小时分区。
 

问题补充:
kidding87 写道
这个是实时数据库差的比较多啊
我提个思路你看看,每分钟插入的数据建一个表,这样就有了4-14分钟的10个实时表,插入删除的时候不会对表锁定,而且,删除直接drop就可以了,比truncate delete快的多

  很感谢你的关注!
  如果说按你说的分了表,删除的时候直接drop,那还有历史记录不?

问题补充:
kidding87 写道
根据当前时间的分钟除以10的余数建表
table_min%10建立表, drop 前把数据插入到你的历史数据库就行了直接select into
查询实时数据的话表明都是固定的
table_min0
table_min1
...
table_min9
联合查询
这样我觉得比较可行

  懂你意思了,其实实时表安分钟分区也可以达到你说的效果,只可惜时间不太固定,可能有几分钟的浮动,不太好分。
  再看看其他人意见吧,如果没有,就用你的。
 
 
2012年2月24日 16:02

5个答案 按时间排序 按投票排序

0 0

插入时间不准的话,可以使用次数除以10做余数呗
用sequences记录插入的次数
tab_insert_1
tab_insert_2
..
tab_insert_9
你说了时间上不能保证,那就把这个实时区的次数范围增大就可以了

2012年2月28日 10:32
0 0

根据当前时间的分钟除以10的余数建表
table_min%10建立表, drop 前把数据插入到你的历史数据库就行了直接select into
查询实时数据的话表明都是固定的
table_min0
table_min1
...
table_min9
联合查询
这样我觉得比较可行

2012年2月27日 16:50
0 0

这个是实时数据库差的比较多啊
我提个思路你看看,每分钟插入的数据建一个表,这样就有了4-14分钟的10个实时表,插入删除的时候不会对表锁定,而且,删除直接drop就可以了,比truncate delete快的多

2012年2月27日 14:15
0 0

我觉得吧,你应该把你为什么要这样做说明白些,大家能从根源帮你想办法,你这样就直接来插入删除的,这样并不一定能解决问题。
我有些疑问,历史数据主要是来做什么的,仅仅备份的话是不是直接用rman增量备份就行了
还有实时数据这个东西,我在别的公司见过这个东西,它其实并不是实时的,它是通过误差计算通过一小段时间内的历史值计算出来的实时值
这个其实可以借鉴下
这个数据吞吐量实在是很大,不是光插入删除记录就能解决的,需要拿出更好的设计方案才行啊

2012年2月27日 10:54
0 0

这需求变态,我觉得就怕你这样搞,如果14分钟前的数据,1分钟内删不完,就成死循环了。
应该不是一天24*60分钟都是这么多数据吧,可以实时的只是做删除操作,备份操作。慢慢再往data_his里弄

2012年2月24日 23:50

相关推荐

    Oracle数据文件转移

    Oracle数据文件转移是数据库管理中的常见操作,尤其在面临存储空间调整、系统迁移或硬件故障时显得尤为重要。本文主要探讨如何安全地将Oracle数据库的数据文件从一个位置转移到另一个位置,同时涉及物理结构故障的...

    DB2到ORACLE的数据转移工具程序

    提到的“DB2到Oracle的数据转移工具程序”可能是一种专门设计用于此任务的工具,它可以自动化许多上述步骤,简化迁移过程。这些工具通常提供图形用户界面,简化配置,并提供错误处理和日志记录功能。 总之,从DB2...

    Oracle 的数据仓库解决方案

    Oracle数据仓库解决方案涵盖了数据管理、获取和展现三个关键部分: 1. **数据管理**:Oracle提供了强大的数据管理工具,如Oracle Database,支持大规模的数据存储和处理。其特有的Grid Computing技术使得资源可以被...

    oracle 数据泵导入

    在Oracle数据库管理中,数据泵(Data Pump)是一种非常高效的数据迁移...这些步骤对于大规模数据迁移非常重要,尤其是在不同数据库实例之间进行数据转移时。通过合理规划和实施,可以有效提高数据迁移的效率和准确性。

    Win Server 2019 MSCS下 Oracle11g,19c 故障转移群集部署-图文详细讲解

    【Windows Server 2019 MSCS 下 Oracle11g,19c 故障转移群集部署详解】 在IT领域,确保业务连续性和高可用性是至关重要的,尤其是在关键应用如Oracle数据库服务中。Windows Server 2019 提供了故障转移群集(MSCS,...

    java jsp sqlserver数据表转移到oracle实例 源代码

    标题中的“java jsp sqlserver数据表转移到oracle实例 源代码”表明这是一个关于使用Java和JSP技术,将SQL Server数据库中的数据表迁移至Oracle数据库的实际操作案例。这个过程通常涉及数据迁移、数据转换以及可能的...

    sqluldr2 4.0.1版本 oracle数据导出工具

    `sqluldr2`是Oracle数据库...综上,`sqluldr2 4.0.1版本 oracle数据导出工具`是一个强大的数据库管理工具,适用于需要高效处理大量数据的场景。了解并熟练掌握其使用方法,能够显著提升数据库管理和维护的工作效率。

    Oracle数据导入方法

    Oracle数据导入是数据库管理中的一项重要任务,它涉及到将外部数据高效地引入到Oracle数据库中。在本篇文章中,我们将详细探讨SQL*Loader这一强大的工具,以及如何在DOS环境下使用它,同时也会提及其他数据转移工具...

    如何快速转移Oracle中海量数据

    在Oracle数据库环境中,快速转移海量数据是一项常见的任务,特别是在数据迁移、备份恢复或者数据库优化的过程中。本文将介绍两种高效的方法,适用于将80MB以上的数据从一个用户或表空间转移到另一个用户或表空间,且...

    oracle数据迁移

    Oracle 数据迁移是指将现有 Oracle 数据库中的数据转移到另一个 Oracle 数据库实例的过程。这一过程通常伴随着一系列的操作,包括但不限于用户账户管理、权限分配、表空间处理以及数据导入导出等。 #### 数据迁移...

    oracle 数据导入导出

    Oracle 数据导入导出是数据库管理中的重要操作,用于在不同环境之间转移数据,备份和恢复数据,以及进行数据迁移。本文将深入探讨Oracle数据库的数据导入导出机制,包括使用的主要工具、过程和最佳实践。 Oracle ...

    Oracle数据导入导出

    Oracle数据导入导出是数据库管理中的重要操作,用于在不同环境之间转移数据,备份或恢复数据,以及在系统升级或迁移时保持数据完整性。Oracle提供了一对工具,即IMP(Import)和EXP(Export),来执行这些任务。下面...

    Hadoop数据迁移--从Oracle向Hadoop

    Hadoop数据迁移是指将存储在传统数据库系统(如Oracle)中的数据转移到Hadoop文件系统(HDFS)的过程。在这个过程中,MapReduce作为一种编程模型,用于处理和生成大数据集,被用来连接Hadoop与Oracle数据库,使得...

    配置Oracle RAC集群数据源

    配置 Oracle RAC 集群数据源需要考虑多个方面,包括数据源 URL 的配置、连接池的配置、负载均衡和故障转移等。 在配置 Oracle RAC 集群数据源时,需要关注以下几个方面: (1)数据源 URL 的配置:数据源 URL 的...

    weblogic连接oracle RAC数据源配置

    在这样的环境下,配置WebLogic连接Oracle RAC数据源是一项关键任务,它确保了应用能够透明地访问RAC集群中的任何节点,实现高可用性和负载均衡。 首先,理解Oracle RAC的工作原理至关重要。RAC允许多个实例同时访问...

    Oracle数据迁移指南

    Oracle数据迁移是一个复杂而关键的任务,它涉及到将数据从一个Oracle数据库系统转移到另一个,这可能是为了升级、合并、灾备或是系统重构等目的。在这个过程中,性能优化是至关重要的,因为处理海量数据时,效率直接...

    Oracle数据仓库方案介绍

    Oracle数据仓库方案是一种高效、可扩展的解决方案,旨在帮助企业构建和管理数据仓库,以支持复杂的决策分析和商业智能需求。该方案涵盖了数据仓库的多个关键组成部分,包括数据整合、数据质量管理、模型设计以及一...

    oracle数据导入、导出工具

    如果这个文件是与Oracle数据导入导出相关的,那么它可能包含了关于如何使用expdp和impdp的步骤、示例脚本,或者是准备导入的测试数据。 在实际操作中,确保数据导入导出的安全性和正确性非常重要,比如要备份重要...

Global site tag (gtag.js) - Google Analytics