CN112256775A - 一种Oracle数据库的数据定时加载的方法及装置 - Google Patents
一种Oracle数据库的数据定时加载的方法及装置 Download PDFInfo
- Publication number
- CN112256775A CN112256775A CN202011045190.0A CN202011045190A CN112256775A CN 112256775 A CN112256775 A CN 112256775A CN 202011045190 A CN202011045190 A CN 202011045190A CN 112256775 A CN112256775 A CN 112256775A
- Authority
- CN
- China
- Prior art keywords
- loading
- task
- subtask
- load
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 215
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000002452 interceptive effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005192 partition Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000002349 favourable effect Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000009418 renovation Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
Abstract
本发明公开了一种Oracle数据库的数据定时加载的方法及装置,涉及计算机技术领域。该方法的一具体实施方式包括:通过设定加载参数,确定目标数据库和存储在网络存储设备中的源端的数据文件;预定加载任务的执行时刻;定时地执行经细粒度拆分的加载任务,其中,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。该实施方式提供了低人工成本、高加载效率和低管理成本的数据加载。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种Oracle数据库的数据定时加载的方法及装置。
背景技术
目前在私有云环境中,存在定期进行全量系统的数据库的数据翻新需求。不同的数据库系统的数据文件格式各异,导入方式也各不相同。例如在通常使用的Oracle数据库中,存在imp、impdp和sqlldr等多种数据导入方式。对于数据库翻新存在诸多要求,例如为了保障环境的一致性,需要在指定的窗口期,通常般为2日至5日之内完成数据文件的加载,并且为了保障运行环境的稳定性,加载往往需要在凌晨进行。
当前的数据加载主要由相应系统的运维人员手工操作完成。操作包括如下的方法步骤:获取目标服务器的账号密码信息;将待加载的数据文件拷贝至目标服务器;在窗口期登录服务器,人工执行加载命令;加载完成后,查看加载日志,确定加载结果。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)人工成本较高:需要运维人员较多的手工操作,并且对数据加载的时刻有较高要求,往往要在凌晨进行,导致较大的人力消耗。
(2)加载效率较低:待加载的数据文件需要传输至各个目标服务器,在数据文件较大时耗时较多,并且加载操作包括检查数据库连通性,确认数据文件完整性等重复度较多的工作。
(3)管理成本较高:由于数据文件存放在各个服务器,由各自的运维人员维护,数据文件缺乏统一管控手段,不利于数据安全的保障;无法全局掌握各个系统的加载进度,不能及时发现延迟风险;并且各个系统的加载命令、程序、脚本缺乏统一管理,系统内部的维护成本较高。
发明内容
有鉴于此,本发明实施例提供一种Oracle数据库的数据定时加载的方法及装置。其中,对数据库进行高度自动化的加载操作,节省人力成本;使用网络存储设备(NAS:Network Attached Storage)集中管理数据文件,提高加载效率;并且对数据库的加载任务进行细粒度拆分,提高了效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种Oracle数据库的数据定时加载的方法,包括:
通过设定加载参数,确定目标数据库和存储在网络存储设备中的源端的数据文件;
预定加载任务的执行时刻;
定时地执行经细粒度拆分的加载任务,其中,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。
可选地,依赖于所使用的数据加载方式,有选择地设定不同类型的加载参数。由此,本发明的数据自动加载的方法能够灵活地应用在Oracle数据库常用的imp、impdp和sqlldr等不同的加载方式。
可选地,通过目标区域、目标系统、目标分区和目标示例名唯一地确定所述目标数据库,并且通过系统名和时间唯一地确定所述源端的数据文件。由此,在大规模云环境的众多数据库中,能够唯一地确定目标数据库和源端的数据文件。
可选地,根据所述加载任务自动地得到待加载的表清单或者手动地设定待加载的表清单。由此,确保了以表为维度将加载任务拆分成多个加载子任务的顺利实施。
可选地,增量式执行加载子任务。由此,减少了数据加载的数据量。
可选地,在增量式执行加载子任务时,在执行加载子任务之前对目标表进行备份,当加载子任务出现错误时,首先将当前的目标表恢复成经备份的目标表,随后重新执行该加载子任务。由此,确保了在加载子任务出现错误时的数据回滚,而不破坏数据的完整性。
可选地,全量式执行加载子任务。由此,可以简单地执行数据加载。
可选地,当加载子任务出现错误时,首先删除当前的目标表,随后重新执行该加载子任务。由此,简化了在加载子任务出现错误时的数据回滚。
可选地,在执行加载子任务期间,将存储有所述源端的数据文件据的网络存储设备挂载在到目标数据库的服务器,并且在完成加载子任务之后,将所述网络存储设备卸载。由此,仅在数据加载期间才将网络存储设备挂载到目标数据库的服务器,确保了数据文件的安全。
可选地,在执行加载子任务期间,进行日志记录,以便能够获知加载子任务的进度。由此,实时掌握各个子任务的加载进度和整个加载任务的进度。
可选地,在完成加载子任务之后,对加载子任务的日志进行汇总、归档和导出。由此,提供了加载任务报告。
根据本发明实施例的第二方面,提供一种Oracle数据库的数据定时加载的装置,其特征在于,包括:
交互界面模块,用于设定加载参数和预定加载任务的执行时刻;
网络存储模块,用于存储源端的数据文件;
任务管理模块,用于根据所设定的加载参数来确定目标数据库和存储在网络存储模块中的源端的数据文件;
任务执行模块,用于定时地执行经细粒度拆分的加载任务,其中,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。
特别地,针对根据本发明的Oracle数据库的数据定时加载的方法所阐述的优点也能转移到根据本发明的Oracle数据库的数据定时加载的装置上。
可选地,依赖于所使用的数据加载方式,在所述交互界面模块中,有选择地设定不同类型的加载参数。
可选地,所述任务管理模块通过目标区域、目标系统、目标分区和目标示例名唯一地确定所述目标数据库,并且通过系统名和时间唯一地确定所述源端的数据文件。
可选地,所述任务执行模块根据所述加载任务自动地得到待加载的表清单或者手动地设定待加载的表清单。
可选地,所述任务执行模块增量式执行加载子任务。
可选地,所述任务执行模块在增量式执行加载子任务时,在执行加载子任务之前对目标表进行备份,当加载子任务出现错误时,首先将当前的目标表恢复成经备份的目标表,随后重新执行该加载子任务。
可选地,所述任务执行模块全量式执行加载子任务。
可选地,当加载子任务出现错误时,所述任务执行模块首先删除当前的目标表,随后重新执行该加载子任务。
可选地,在执行加载子任务期间,所述任务执行模块将所述网络存储模块挂载在到目标数据库的服务器,并且在完成加载子任务之后,将所述网络存储模块卸载。
可选地,在执行加载子任务期间,所述任务管理模块进行日志记录,以便能够获知加载子任务的进度。
可选地,在完成加载子任务之后,所述任务管理模块对加载子任务的日志进行汇总、归档和导出。
根据本发明实施例的第三方面,提供一种Oracle数据库的数据定时加载的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过设定定时加载功能实现了数据加载的自动化运行,节约了人力成本。相对于传统的以库或用户为维度的数据加载,以表为维度的数据加载提高了并发量并且更有利于加载任务错误时的数据回滚,提高了加载效率。数据文件不再存放在各个服务器,而是使用网络存储设备来存储数据文件,实现了数据文件的集中管控。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的Oracle数据库的数据定时加载的装置的主要模块的示意图;
图2是根据本发明实施例的Oracle数据库的数据定时加载的方法的主要流程的示意图;
图3是根据本发明实施例的定时地执行经细粒度拆分的加载任务的步骤的流程示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的Oracle数据库的数据定时加载的装置的主要模块的示意图。
如图1所示,本发明实施例的一种Oracle数据库的数据定时加载的装置100,包括:
交互界面模块101,用于设定加载参数和预定加载任务的执行时刻;
网络存储模块102,用于存储数据文件。
任务管理模块103,用于根据所设定的加载参数来确定目标数据库和存储在网络存储模块102中的源端的数据文件;
任务执行模块104,用于定时地执行经细粒度拆分的加载任务,其中,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。
交互界面模块101的前端Web模块通过Angular或React来实现交互界面模块101。优选地,使用Vue来实现前端Web模块。相比Angular和React,Vue具有轻量化,低复杂度和学习曲线低的优势,尤其是还具有ElementUI和IView等众多优秀的组件库和社区支持,因此具有功能强大且实现简单的优势。
交互界面模块101的后台模块使用SpringBoot、SpringCloud框架实现,由此可以方便的与其他微服务集成。
交互界面模块101实现与用户的交互。
交互界面模块101用于新建加载任务,其中,设定加载参数和预定加载任务的执行时刻。例如在交互界面模块的“新建任务”的选项下,用户可以根据具体的加载任务设定加载参数和加载执行时刻。
交互界面模块101还用于上传加载脚本、查看加载进度、查询和导出加载结果,处理加载异常等,其中,在交互界面模块中预定有与这些功能对应的选项。
网络存储模块102实现数据文件的存储。
网络存储模块102包括至少一个NAS。所有系统的数据文件将按照“系统名/时间戳/文件名”的格式被存放在网络存储模块102中。
在执行加载任务时,任务管理模块103根据被执行的加载任务的系统名索引到NAS的文件路径,任务执行模块104将该NAS挂载到目标数据库服务器,由此减少了数据文件拷贝和传输的耗费,并且在数据加载结束后任务执行模块104执行NAS卸载操作,确保数据文件的安全。
任务管理模块103实现加载任务的创建、查询和管理。
任务管理模块103提供了统一的操作接口,针对Oracle数据库的不同的加载方式,例如imp、impdp和sqlldr,抽取数据库用户、密码、连接信息等公共信息,并且允许根据不同的加载方式指定不同类型的参数。由此,能够灵活地适用于各种加载方式,并且最大限度地减少了配置项个数。
在大规模云环境中,数据库数量众多。可选地,任务管理模块103通过目标区域、目标系统、目标分区和目标示例名唯一地确定目标数据库,并且通过系统名和时间唯一地确定所述源端的数据文件。
任务管理模块103使用SpringBoot集成的Schedule模块,实现定时功能。在任务管理模块103中,实时地扫描当前的所有加载任务,一旦有加载任务到达了预订的执行时刻,就发出执行该加载任务的指令。
同时,当获知有加载任务出现错误时,由任务管理模块103就发出执行错误处理的指令。
任务执行模块104实现定时地细粒度地执行加载任务。
为了确保良好的性能,同时具有较好的错误恢复能力,任务执行模块104将加载任务进行细粒度拆分。传统的加载任务通常使用全库加载或以用户为维度进行加载,虽然执行的命令较少,但出现加载错误后,重新加载的代价较大,同时不利于提高并发量。任务执行模块104将加载任务以数据表的粒度拆分,即,以表的维度将加载任务拆分成多个加载子任务。由此,可以更好的实现错误恢复和重新执行加载。同时能够执行多表的并行加载,由此极大的提高了执行效率。
可选地,任务执行模块104根据加载任务自动地得到待加载的表清单或者由用户手动地设定待加载的表清单。
优选地,在任务执行模块104中设置有众多服务器作为执行器(Worker)来执行实际的加载操作。任务执行模块104能够检测执行服务器的状态,将它们发送给任务管理模块103,以便展示加载任务的执行情况。针对不同的Oracle数据库版本,需要对执行器进行多库适配,针对Server模式或CDB模式,也需要采取有选择的处理。
示例性地,在任务执行模块104中,拆分出的加载子任务将以程序化脚本(ShellScript)的形式存放并且下发到执行器,但同时任务执行模块104还针对每个目标数据库,控制加载任务执行的并发数,用以对数据量进行节流。因为,加载过程会消耗目标数据库的计算资源,在并发的加载任务超过一定数量时,并发性能反而会受到影响。
在本发明一个实施例中,任务执行模块104增量式执行加载子任务。在此情况下,在执行加载子任务之前对目标表进行备份,当加载子任务出现错误时,首先将当前的目标表恢复成经备份的目标表,随后重新执行该加载子任务。
在本发明一个实施例中,任务执行模块104全量式执行加载子任务。当加载子任务出现错误时,任务执行模块首先删除当前的目标表,随后重新执行该加载子任务。
根据本发明实施例的一种Oracle数据库的数据定时加载的装置可以看出,通过设定定时加载功能实现了数据加载的自动化运行,节约了人力成本。相对于传统的以库或用户为维度的数据加载,以表为维度的数据加载提高了并发量并且更有利于加载任务错误时的数据回滚,提高了加载效率。数据文件不再存放在各个服务器,而是使用网络存储设备来存储数据文件,实现了数据文件的集中管控。
图2是根据本发明实施例的Oracle数据库的数据定时加载的方法的主要流程的示意图。
如图2所示,本发明实施例的一种Oracle数据库的数据定时加载的方法主要包括以下步骤:
步骤S201:通过设定加载参数,确定目标数据库和存储在网络存储设备中的源端的数据文件;
步骤S202:预定加载任务的执行时刻;
步骤S203:定时地执行经细粒度拆分的加载任务,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。
在步骤S201中,创建加载任务。例如,通过目标区域、目标系统、目标分区和目标示例名唯一地确定所述目标数据库,并且通过系统名和时间唯一地确定所述源端的数据文件。
在本发明的数据加载方法中,统一规范数据库的用户名、密码、实例名、日志文件名、日志路径等加载参数,仅需根据Oracle数据库的不同加载方式,例如imp、impdp、sqlldr,设定所需的参数。同时为了确保灵活性和自由度,允许用户上传程序化脚本,来定制个性化的加载参数。
在步骤S202中,预定加载任务的执行时刻。例如,通过用户在交互界面中输入加载执行的时间,并提交任务。由此,在到达预定的执行时刻后,自动地执行数据加载。
在步骤S203,定时地执行经细粒度拆分的加载任务。其中,首先以表为维度将加载任务拆分成多个加载子任务,随后依次地和/或并行地执行加载子任务。
图3是根据本发明实施例的定时地执行经细粒度拆分的加载任务的步骤S203的流程示意图。
首先对加载条件进行校验,来确保数据库连通性、数据文件完整性等,以便尽快发现问题,减少资源消耗。如上文已提到的那样,为了提高并发性能和改善错误恢复,以表为维度对加载任务进行细粒度拆分。可选地,根据加载任务自动地得到待加载的表清单。如果不存在待加载的表清单,则进行一次加载操作,其中,只加载表结构而不加载数据,随后通过查询得到待加载的表清单,即手动地设定待加载的表清单。
在获取表清单后,根据加载方式确定是否需要进行目标表的备份。在进行增量式加载时,必须提前进行目标表的备份,以便在出现错误时的回退不破坏数据的完整性。在进行全量式加载时,无需进行目标表的备份。
随后,依次地和/或并行地执行加载子任务。在加载期间,能够反馈加载任务的执行情况、收集加载日志并且例如通过交互界面对加载任务的状态参量进行展示。
当加载任务出现错误时,导入错误处理。在增量式加载的情况下,首先将当前的目标表恢复成经备份的目标表,随后重新执行该加载子任务。在全量式加载的情况下,首先删除当前的目标表,随后重新执行该加载子任务。通常情况下,部分加载错误可以通过上述方式自动进行处理。对于某些类型的加载错误,例如数据库实例状态异常、磁盘组空间不足等,需要人工处理,其中,能够通过多种机制(短信、邮件)等通知维护人员。
在完成整个加载任务后,将各个加载子任务的日志汇总、归档,便于用户查看,并且通过短信、邮件等方式通知用户。附加地,还提供了汇总视图,方便查看各个加载进度,以便掌握整体情况,及时发现延迟风险点。附加地,还提供了报表查看及导出功能。
根据本发明实施例的一种Oracle数据库的数据定时加载的方法可以看出,通过设定定时加载功能实现了数据加载的自动化运行,节约了人力成本。相对于传统的以库或用户为维度的数据加载,以表为维度的数据加载提高了并发量并且更有利于加载任务错误时的数据回滚,提高了加载效率。数据文件不再存放在各个服务器,而是使用网络存储设备来存储数据文件,实现了数据文件的集中管控。
图4示出了可以应用本发明实施例的一种Oracle数据库的数据定时加载的方法或一种Oracle数据库的数据定时加载的装置的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的Oracle数据库的数据定时加载的方法一般由服务器405执行,相应地,Oracle数据库的数据定时加载的装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括:交互界面模块,用于设定加载参数和预定加载任务的执行时刻;网络存储模块,用于存储数据文件;任务管理模块,用于根据所设定的加载参数来确定目标数据库和存储在网络存储设备中的源端的数据文件;任务执行模块,用于定时地执行经细粒度拆分的加载任务,其中,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:通过设定加载参数,确定目标数据库和存储在网络存储设备中的源端的数据文件;预定加载任务的执行时刻;定时地执行经细粒度拆分的加载任务,其中,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。
根据本发明实施例的技术方案,通过设定定时加载功能实现了数据加载的自动化运行,节约了人力成本。相对于传统的以库或用户为维度的数据加载,以表为维度的数据加载提高了并发量并且更有利于加载任务错误时的数据回滚,提高了加载效率。数据文件不再存放在各个服务器,而是使用网络存储设备来存储数据文件,实现了数据文件的集中管控。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种Oracle数据库的数据定时加载的方法,其特征在于,包括:
通过设定加载参数,确定目标数据库和存储在网络存储设备中的源端的数据文件;
预定加载任务的执行时刻;
定时地执行经细粒度拆分的加载任务,其中,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。
2.如权利要求1所述的方法,其特征在于,依赖于所使用的数据加载方式,有选择地设定不同类型的加载参数。
3.如权利要求1所述的方法,其特征在于,通过目标区域、目标系统、目标分区和目标示例名唯一地确定所述目标数据库,并且通过系统名和时间唯一地确定所述源端的数据文件。
4.如权利要求1所述的方法,其特征在于,根据所述加载任务自动地得到待加载的表清单或者手动地设定待加载的表清单。
5.如权利要求1所述的方法,其特征在于,增量式执行加载子任务。
6.如权利要求5所述的方法,其特征在于,在执行加载子任务之前对目标表进行备份,当加载子任务出现错误时,首先将当前的目标表恢复成经备份的目标表,随后重新执行该加载子任务。
7.如权利要求1所述的方法,其特征在于,全量式执行加载子任务。
8.如权利要求7所述的方法,其特征在于,当加载子任务出现错误时,首先删除当前的目标表,随后重新执行该加载子任务。
9.如权利要求1所述的方法,其特征在于,在执行加载子任务期间,将存储有所述源端的数据文件据的网络存储设备挂载在到目标数据库的服务器,并且在完成加载子任务之后,将所述网络存储设备卸载。
10.如权利要求1所述的方法,其特征在于,在执行加载子任务期间,进行日志记录,以便能够获知加载子任务的进度。
11.如权利要求10所述的方法,其特征在于,在完成加载子任务之后,对加载子任务的日志进行汇总、归档和导出。
12.一种Oracle数据库的数据定时加载的装置,其特征在于,包括:
交互界面模块,用于设定加载参数和预定加载任务的执行时刻;
网络存储模块,用于存储数据文件;
任务管理模块,用于根据所设定的加载参数来确定目标数据库和存储在网络存储设备中的源端的数据文件;
任务执行模块,用于定时地执行经细粒度拆分的加载任务,其中,以表为维度将所述加载任务拆分成多个加载子任务,依次地和/或并行地执行加载子任务。
13.一种Oracle数据库的数据定时加载的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-11中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011045190.0A CN112256775A (zh) | 2020-09-27 | 2020-09-27 | 一种Oracle数据库的数据定时加载的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011045190.0A CN112256775A (zh) | 2020-09-27 | 2020-09-27 | 一种Oracle数据库的数据定时加载的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256775A true CN112256775A (zh) | 2021-01-22 |
Family
ID=74234774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011045190.0A Pending CN112256775A (zh) | 2020-09-27 | 2020-09-27 | 一种Oracle数据库的数据定时加载的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256775A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777345A (zh) * | 2017-01-16 | 2017-05-31 | 山东浪潮商用系统有限公司 | 一种基于海量数据迁移的数据抽取加载方法 |
CN107784039A (zh) * | 2016-08-31 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 一种数据加载方法、装置及系统 |
EP3353872A1 (en) * | 2015-09-22 | 2018-08-01 | Peeeks B.V. | System for balancing an electricity network with a grid |
CN108829747A (zh) * | 2018-05-24 | 2018-11-16 | 新华三大数据技术有限公司 | 数据加载方法及装置 |
US20190042254A1 (en) * | 2017-12-29 | 2019-02-07 | Intel Corporation | Systems and methods to load a tile register pair |
CN109325075A (zh) * | 2018-08-30 | 2019-02-12 | 黄疆 | 一种基于定时备份的Oracle及时挂载恢复系统及方法 |
CN110209662A (zh) * | 2018-02-13 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 一种自动化加载数据的方法和装置 |
CN110221902A (zh) * | 2019-06-12 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 一种基于虚拟机的数据传输方法及相关装置 |
CN111475728A (zh) * | 2020-04-07 | 2020-07-31 | 腾讯云计算(北京)有限责任公司 | 云资源信息搜索方法、装置、设备及存储介质 |
-
2020
- 2020-09-27 CN CN202011045190.0A patent/CN112256775A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3353872A1 (en) * | 2015-09-22 | 2018-08-01 | Peeeks B.V. | System for balancing an electricity network with a grid |
CN107784039A (zh) * | 2016-08-31 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 一种数据加载方法、装置及系统 |
CN106777345A (zh) * | 2017-01-16 | 2017-05-31 | 山东浪潮商用系统有限公司 | 一种基于海量数据迁移的数据抽取加载方法 |
US20190042254A1 (en) * | 2017-12-29 | 2019-02-07 | Intel Corporation | Systems and methods to load a tile register pair |
CN110209662A (zh) * | 2018-02-13 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 一种自动化加载数据的方法和装置 |
CN108829747A (zh) * | 2018-05-24 | 2018-11-16 | 新华三大数据技术有限公司 | 数据加载方法及装置 |
CN109325075A (zh) * | 2018-08-30 | 2019-02-12 | 黄疆 | 一种基于定时备份的Oracle及时挂载恢复系统及方法 |
CN110221902A (zh) * | 2019-06-12 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 一种基于虚拟机的数据传输方法及相关装置 |
CN111475728A (zh) * | 2020-04-07 | 2020-07-31 | 腾讯云计算(北京)有限责任公司 | 云资源信息搜索方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李永峰: "面向海量金融数据并行加载技术研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10528585B2 (en) | ETL tool interface for remote mainframes | |
CN110222036B (zh) | 用于自动数据库迁移的方法和系统 | |
US8522207B1 (en) | Systems and methods for automated centralized build/merge management | |
US8762929B2 (en) | System and method for exclusion of inconsistent objects from lifecycle management processes | |
EP3428811A1 (en) | Database interface agent for a tenant-based upgrade system | |
US20210326194A1 (en) | Integrating a process cloud services system with an intelligence cloud service based on converted pcs analytics data | |
CN109144785B (zh) | 用于备份数据的方法和装置 | |
US11860741B2 (en) | Continuous data protection | |
US9892122B2 (en) | Method and apparatus for determining a range of files to be migrated | |
CN113434158B (zh) | 一种大数据组件的自定义管理方法、装置、设备及介质 | |
CN110555150B (zh) | 一种数据监控方法、装置、设备和存储介质 | |
US10855750B2 (en) | Centralized management of webservice resources in an enterprise | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN112445860B (zh) | 一种处理分布式事务的方法和装置 | |
CN112583743A (zh) | 一种分布式文件交换方法及装置 | |
US20070067488A1 (en) | System and method for transferring data | |
CN112905676A (zh) | 一种数据文件的导入方法及装置 | |
CN112256775A (zh) | 一种Oracle数据库的数据定时加载的方法及装置 | |
CN112241332B (zh) | 一种接口补偿的方法和装置 | |
CN115277840A (zh) | 一种数据迁移方法、装置、电子设备及计算机可读介质 | |
US10169076B2 (en) | Distributed batch job promotion within enterprise computing environments | |
CN112181937B (zh) | 一种结转数据的方法和装置 | |
CN112732809B (zh) | 一种etl系统及基于etl系统的数据处理方法 | |
CN112925721A (zh) | 一种分布式系统的测试方法及装置 | |
CN115934424A (zh) | 一种数据恢复方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210122 |
|
RJ01 | Rejection of invention patent application after publication |