一种监控sql运行过程的方法和系统的制作方法

文档序号:10654429阅读:434来源:国知局
一种监控sql运行过程的方法和系统的制作方法
【专利摘要】本发明特别涉及一种监控SQL运行过程的方法和系统。方法包括以下步骤,定义被执行的SQL语句以及SQL语句的执行阶段;定义SQL执行函数的执行格式和执行参数;调用SQL执行函数,通过SQL执行函数将SQL语句放入到ORACLE数据库中执行,生成执行日志,并返回执行结果;按照ORACLE数据库的返回值格式,使用日志解析函数对执行结果进行解析,生成解析结果;记录步骤4解析过程中生成的解析数据,并形成数据表;显示所述执行结果、解析结果和/或数据表。本发明对SQL语句的执行过程进行了动态监控和详细记录,且可以对SQL执行结果进行分析,不仅处理过程更加方便,而且为优化后期程序提供了依据,有利于后期维护,提升了数据处理的准确性和程序的可维护性。
【专利说明】
-种监控SQL运行过程的方法和系统
技术领域
[0001] 本发明设及信息技术领域,特别设及一种监控S化运行过程的方法和系统。
【背景技术】
[0002] 随着电信行业业务的普及W及业务拓展速度的加快,业务数据量已成爆炸式增长 模式,造成在进行数据处理时难度加大,从而对数据处理过程的监控要求越来越高,同时也 要求有事后分析的能力,从而为程序的优化和维护提供依据。现有技术存在W下几个问题: 第一,不能对执行过程详细记录,无法在程序执行过程中实时有效的关注到数据处理程序 和SQL语句执行情况;第二,不能事后对程序执行情况进行详细的分析;第=,没有执行情况 作为依据,不利于后期程序维护和优化。

【发明内容】

[0003] 本发明所要解决的技术问题是提供一种监控5(^1运行过程的方法和系统,用于解 决传统甜化L脚本执行S化程序过程中无法对执行情况进行记录和分析的问题。
[0004] 本发明解决上述技术问题的技术方案如下:一种监控S化运行过程的方法,包括W 下步骤,
[0005] 步骤1,定义被执行的S化语句W及所述S化语句的执行阶段;
[0006] 步骤2,定义S化执行函数的执行格式和执行参数;
[0007] 步骤3,根据所述S化语句的执行阶段,调用所述S化执行函数,通过所述SQL执行函 数将S化语句放入到ORACLE数据库中执行,生成执行日志,并返回执行结果;
[000引步骤4,按照ORACLE数据库的返回值格式,使用日志解析函数对所述执行结果进行 解析,生成解析结果;
[0009] 步骤5,记录步骤4解析过程中生成的解析数据,并形成数据表;
[0010] 步骤6,显示所述执行结果、解析结果和/或数据表。
[0011] 本发明的有益效果是:本发明的技术方案对5(^14吾句的执行过程进行了动态监控 和详细记录,且可W对SQL执行结果进行分析,不仅处理过程更加方便,而且为优化后期程 序提供了依据,有利于后期维护,提升了数据处理的准确性和程序的可维护性。
[0012] 在上述技术方案的基础上,本发明还可W做如下改进。
[0013] 进一步,所述步骤3具体为:
[0014] S301调用所述S化执行函数;
[0015] S302通过所述SQL执行函数将SQL语句放入到ORA化E数据库中执行,生成执行结 果;
[0016] S303将所述执行结果存入到临时文件,并创建所述临时文件的存放路径。
[0017] 采用上述进一步方案的有益效果是:本进一步技术方案将执行结果放入到临时文 件,便于日志解析函数对其进行使用。
[0018] 进一步,步骤3中,在利用SQL执行函数执行SQL语句的同时,初始化执行日志并对 执行日志进行数据更新,具体为:定义所述初始日志函数的参数,并调用初始日志函数对 S化的执行日志信息进行初始化和数据更新;所述参数包括调用脚本名称、执行参数、步骤 编码、被执行的S化语句、开始时间和/或执行说明。
[0019] 采用上述进一步方案的有益效果是:本进一步的技术方案详细设置了执行日志中 需要记录的内容,在对SQL语句进行执行的同时,对执行日志进行及时更新,从而详细记录 执行进程。
[0020] 进一步,步骤2中,所述执行参数包括被执行的5914吾句、用于检查所述5(^14吾句执 行过程中数据是否导入正确的参数、每个SQL语句对应的唯一编码和所述S化语句的执行说 明。
[0021] 采用上述进一步方案的有益效果是:本进一步方案对每个5(^14吾句设置用于检查 所述SQL语句执行过程中数据是否导入正确的参数,从而便于后续稽核;同时对每个SQL语 句设置对应的唯一编码,通过所述唯一编码,可W对各个SQL语句W及脚本运行信息进行区 分,不仅便于对执行过程和解析过程进行记录,而且可W保证后续S化分析和数据处理的准 确性稽核。
[0022] 进一步,步骤4中,解析内容包括:执行耗时、影响行数、S化操作类型、执行状态、错 误编码和/或错误原因。
[0023] 采用上述进一步方案的有益效果是:本进一步方案按照特定结构和解析内容对所 述执行结果进行解析,生成解析结果。
[0024] 进一步,步骤5中,所述数据表包括所述SQL语句对应的唯一编码、执行脚本、执行 参数、执行步骤、被执行的SQL语句、执行开始时间、执行结束时间、执行耗时、影响行数、执 行状态和执行说明。
[0025] 采用上述进一步方案的有益效果是:本进一步的技术方案将执行结果按照多个维 度进行展示,W便监控、分析和优化。
[0026] -种监控SQL运行过程的系统,包括SQL语句定义模块、S化执行函数定义模块、执 行模块、解析模块、记录模块和显示模块,
[0027] 所述S化语句定义模块用于定义被执行的S化语句W及所述S化语句的执行阶段;
[0028] 所述S化执行函数定义模块用于定义S化执行函数的执行格式和执行参数;
[0029] 所述执行模块用于调用所述SQL执行函数,通过所述SQL执行函数将SQL语句放入 到ORACLE数据库中执行,生成执行日志,并返回执行结果;
[0030] 所述解析模块用于按照ORA化E数据库的返回值格式,使用日志解析函数对所述执 行结果进行解析,生成解析结果;
[0031] 所述记录模块用于记录解析过程中生成的解析数据,并形成数据表;
[0032] 所述显示模块用于显示所述执行结果、解析结果和/或数据表。
[0033] 进一步,还包括执行日志更新模块,所述执行日志更新模块用于初始化执行日志 并对执行日志进行数据更新。
[0034] 进一步,所述数据表包括所述SQL语句对应的唯一编码、执行脚本、执行参数、执行 步骤、被执行的S化语句、执行开始时间、执行结束时间、执行耗时、影响行数、执行状态和执 行说明。
[0035] 进一步,所述执行参数包括被执行的SQL语句、用于检查所述SQL语句执行过程中 数据是否导入正确的参数、每个S化语句对应的唯一编码和所述S化语句的执行说明。
【附图说明】
[0036] 图1为本发明一种监控S化运行过程的方法的流程示意图;
[0037] 图2为本发明一种监控S化运行过程的系统的结构示意图。
【具体实施方式】
[0038] W下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0039] 如图1所示,为本发明一种监控S化运行过程的方法的流程示意图,包括W下步骤:
[0040] 步骤1,定义被执行的S化语句W及所述S化语句的执行阶段;
[0041 ]步骤2,定义S化执行函数的执行格式和执行参数;
[0042] 步骤3,调用所述SQL执行函数,通过所述SQL执行函数将SQL语句放入到ORA化E数 据库中执行,生成执行日志,并返回执行结果;
[0043] 步骤4,按照ORACLE数据库的返回值格式,使用日志解析函数对所述执行结果进行 解析,生成解析结果;
[0044] 步骤5,记录步骤4解析过程中生成的解析数据,并形成数据表;
[0045] 步骤6,显示所述执行结果、解析结果和/或数据表。
[0046] W下通过具体实施例,进行说明。
[0047] 步骤1、根据业务的需要,定义被执行的S化语句,示例如下:
[0048] _INSERT_S化 = "INS邸TINTODCHNCUSTMSG(ID_NO)S化ECTB.ID_NOFROMUR_ U沈R-WFO B;"
[0049] W上为被执行的S化语句。
[0050] 步骤2,,定义S化执行函数的执行格式和执行参数,示例如下,
[0051 ] $ {_EXEC_SQL_FUNC}"$ {_INS邸T_SQL^"$ {_ARGS}""resetlpub02.00.00. or"准 备存送原始数据"
[0052]其中,${_EXEC_SQL_FUNC}表示SQL执行函数,后面是需要定义的的执行参数,包 括:
[0化3] ${_INSERT_S^}:表示被执行的SQL语句,为必传参数,即步骤1定义的"INSWT_ SQL";
[0054] ${_ARG引:表示在执行SQL语句时传入的相关参数,用于检查执行过程中参数传入 是否正确,便于后续稽核;
[0化5] resetlpub02.00.00.0 l为脚本内执行步骤唯一编码,对每一个SQL语句进行唯一 编码,W便于后续S化分析和数据处理的准确性稽核;
[0056] 准备存送原始数据:指S化语句的执行说明,方便后续维护。
[0057] 步骤3,调用所述SQL执行函数,并通过所述SQL执行函数将SQL语句放入到ORA化E 数据库中执行,并返回执行结果;具体示例如下:
[005引首先,调用ORA化E数据库的SQL执行函数SQLPLUS,采用SQLPLUS函数对所述SQL语 句进行执行,生成执行结果,并将所述执行结果存入到临时文件。判断临时文件存放路径是 否存在,如不存在则自动创建所述临时文件的存放路径。定义如下: [0化9]
[0060]
[0061]在本实施例中,在利用5(^1^执行函数执行5914吾句的同时,初始化执行日志并对执 行日志进行数据更新,具体包括W下步骤:调用初始日志函数,对执行日志的信息进行初始 化,并定义所述初始日志函数的参数,所述参数包括调用脚本名称、执行参数、步骤编码、被 执行的SQL语句、开始时间和/或执行说明,具体如下:
[0062]
[0063]
[0064] 步骤4,按照ORACLE数据库的返回值格式,使用日志解析函数对所述执行结果进行 解析,生成解析结果。
[0065] 此步骤对步骤3的执行结果按照特定结构进行解析,解析内容包括影响行数、S化 操作类型、错误编码、错误原因、耗时信息,函数定义如下:
[0066]
[0067]



[0073]
[0074] 其中${_0P_ACCEPT_VAR}是指所述S化语句对应的全局唯一编码,此标志是在第二 步的时候生成的。所述数据表如下表1所示:
[0075] 表1数据表
[0076]
[0077] 步骤6,显示所述执行结果、解析结果和/或数据表。本步骤可W将执行结果和解析 结果按照多个维度进行展示,W便监控、分析和优化。
[0078] 图2为本发明一种监控S化运行过程的系统的结构示意图,包括SQL语句定义模块、 S化执行函数定义模块、执行模块、解析模块、记录模块和显示模块,所述S化语句定义模块 用于定义被执行的S化语句W及所述S化语句的执行阶段;所述SQL执行函数定义模块用于 定义SQL执行函数的执行格式和执行参数;所述执行模块用于调用所述SQL执行函数,通过 所述SQL执行函数将S化语句放入到ORACLE数据库中执行,生成执行日志,并返回执行结果; 所述解析模块用于按照ORACLE数据库的返回值格式,使用日志解析函数对所述执行结果进 行解析,生成解析结果;所述记录模块用于记录解析过程中生成的解析数据,并形成数据 表;所述显示模块用于显示所述执行结果、解析结果和/或数据表。
[0079] 在优选实施例中,还包括执行日志更新模块,所述执行日志更新模块用于初始化 执行日志并对执行日志进行数据更新。所述数据表包括所述S化语句对应的唯一编码、执行 脚本、执行参数、执行步骤、被执行的S化语句、执行开始时间、执行结束时间、执行耗时、影 响行数、执行状态和执行说明。所述执行参数包括被执行的SQL语句、用于检查所述S化语句 执行过程中数据是否导入正确的参数、每个S化语句对应的唯一编码和所述S化语句的执行 说明。
[0080] 本发明的技术方案对SQL语句的执行过程进行了动态监控和详细记录,且可W对 S化执行结果进行分析,不仅处理过程更加方便,而且为优化后期程序提供了依据,有利于 后期维护,提升了数据处理的准确性和程序的可维护性。
[0081] 尽管上面已经示出和描述了本发明的实施例,可W理解的是,上述实施例是示例 性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可W对上述 实施例进行变化、修改、替换和变型。
【主权项】
1. 一种监控SQL运行过程的方法,其特征在于,包括以下步骤, 步骤1,定义被执行的SQL语句以及所述SQL语句的执行阶段; 步骤2,定义SQL执行函数的执行格式和执行参数; 步骤3,根据所述SQL语句的执行阶段,调用所述SQL执行函数,通过所述SQL执行函数将 SQL语句放入到ORACLE数据库中执行,生成执行日志,并返回执行结果; 步骤4,按照ORACLE数据库的返回值格式,使用日志解析函数对所述执行结果进行解 析,生成解析结果; 步骤5,记录步骤4解析过程中生成的解析数据,并形成数据表; 步骤6,显示所述执行结果、解析结果和/或数据表。2. 根据权利要求1所述的监控SQL运行过程的方法,其特征在于,所述步骤3具体为: S301调用所述SQL执行函数; S302通过所述SQL执行函数将SQL语句放入到ORACLE数据库中执行,生成执行结果; S303将所述执行结果存入到临时文件,并创建所述临时文件的存放路径。3. 根据权利要求1或2所述的监控SQL运行过程的方法,其特征在于,步骤3中,在利用 SQL执行函数执行SQL语句的同时,初始化执行日志并对执行日志进行数据更新,具体为:定 义所述初始日志函数的参数,并调用初始日志函数对SQL的执行日志信息进行初始化和数 据更新;所述参数包括调用脚本名称、执行参数、步骤编码、被执行的SQL语句、开始时间和/ 或执行说明。4. 根据权利要求3所述的监控SQL运行过程的方法,其特征在于,步骤2中,所述执行参 数包括被执行的SQL语句、用于检查所述SQL语句执行过程中数据是否导入正确的参数、每 个SQL语句对应的唯一编码和所述SQL语句的执行说明。5. 根据权利要求4所述的监控SQL运行过程的方法,其特征在于,步骤4中,解析内容包 括:执行耗时、影响行数、SQL操作类型、执行状态、错误编码和/或错误原因。6. 根据权利要求4所述的监控SQL运行过程的方法,其特征在于,步骤5中,所述数据表 包括所述SQL语句对应的唯一编码、执行脚本、执行参数、执行步骤、被执行的SQL语句、执行 开始时间、执行结束时间、执行耗时、影响行数、执行状态和执行说明。7. -种监控SQL运行过程的系统,其特征在于,包括SQL语句定义模块、SQL执行函数定 义模块、执行模块、解析模块、记录模块和显示模块, 所述SQL语句定义模块用于定义被执行的SQL语句以及所述SQL语句的执行阶段; 所述SQL执行函数定义模块用于定义SQL执行函数的执行格式和执行参数; 所述执行模块用于调用所述SQL执行函数,通过所述SQL执行函数将SQL语句放入到 ORACLE数据库中执行,生成执行日志,并返回执行结果; 所述解析模块用于按照ORACLE数据库的返回值格式,使用日志解析函数对所述执行结 果进行解析,生成解析结果; 所述记录模块用于记录解析过程中生成的解析数据,并形成数据表; 所述显示模块用于显示所述执行结果、解析结果和/或数据表。8. 根据权利要求7所述的监控SQL运行过程的系统,其特征在于,还包括执行日志更新 模块,所述执行日志更新模块用于初始化执行日志并对执行日志进行数据更新。9. 根据权利要求7或8所述的监控SQL运行过程的系统,其特征在于,所述数据表包括所 述SQL语句对应的唯一编码、执行脚本、执行参数、执行步骤、被执行的SQL语句、执行开始时 间、执行结束时间、执行耗时、影响行数、执行状态和执行说明。10.根据权利要求7或8所述的监控SQL运行过程的系统,其特征在于,所述执行参数包 括被执行的SQL语句、用于检查所述SQL语句执行过程中数据是否导入正确的参数、每个SQL 语句对应的唯一编码和所述SQL语句的执行说明。
【文档编号】G06F11/30GK106021071SQ201610289363
【公开日】2016年10月12日
【申请日】2016年5月4日
【发明人】侯波
【申请人】北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1