存储过程入口预处理(数据检查)是否有可用于统计的数据是统计报表数据是否产生异常否是否记录存储过程执行日志、更新调度时间异常处理执行完成
5、存储过程分析
下面为一个通用存储过程模板,所有报表数据统计存储过程均使用该模板创建: CREATE OR REPLACE PROCEDURE Spr_Pm_Ap_Min(p_Redo_Begintime DATE, p_Redo_Endtime DATE, p_Redo NUMBER) AS --======================================================================= --作 者:朱必冬 --创建时间:2010-08-12 --用 途:统计AP性能报表(分钟粒度)的各项性能指标 --参数说明: -- 1、p_Redo_Begintime:统计开始时间,默认为NULL -- 2、p_Redo_Endtime: 统计结束时间,默认为NULL -- 3、p_Redo: 统计标识,1-正常统计、2-手工重算,默认为1 --更新记录: -- 1、2010-09-15,朱必冬 -- 更新无线接口发送、接收的流量和有线接口发送、接收的流量的算法: -- 由于在TPA_BASEK_CHANNEL/INTERFACE中没有转换单位 -- 故在5分钟报表中将数值除以1024将单位转换为KB --======================================================================= --定义变量 v_Last_Finish_Time DATE; --上一次执行的数据周期 v_Next_Begin_Time DATE; --本次要统计的数据周期
6、问题追踪
6.1、存储过程运行记录表LOG_RUN_PROCEDURE
所有分钟、小时粒度(目前没有记录日、周、月粒度的运行记录)的存储过程执行完成后均会在此表保留记录,该表表结构及实例说明如下:
序号 字段名称 1 2 3 4 数据类型 字段描述 举例 Spb_Basea_Wls_Master_3 2010-11-2 10:50:00 2010-11-2 10:50:56 2010-11-2 10:50:57 PROCEDURE_NAME VARCHAR2 存储过程名 PERIOD BEGINTIME ENDTIME DATE DATE DATE 统计的数据周期 开始统计时间 统计结束时间
5 DURATION NUMBER 存储过程执行所用时长,单位:秒 1
以上实例说明:在2010-11-2 10:50:56时开始调用存储过程Spb_Basea_Wls汇总采集机Master,PPID为3,
数据周期为2010-11-2 10:50:00的数据,历史1秒钟汇总完成。
说明:
如果此表中没有运行记录,有两种原因:
(1)存储过程没有被调用(检查服务程序是否正常) (2)没有可用于统计的(检查数据是否已经采集入库)
6.2、错误日志表LOG_ERROR_MSG
存储过程在执行过程中,产生的异常信息均会存于LOG_ERROR_MSG表中,平时进行系统巡检时,应及时关注此表信息,进而分析产生异常的原因。该表表结构及实例说明如下:
序号 字段名称 1 2 3 4 DAYTIME PROC_NAME ERROR_SECTION ERROR_CODE 数据类型 DATE VARCHAR2 VARCHAR2 VARCHAR2 字段描述 异常发生时间 发生异常的存储过程名称 举例 2010-11-2 10:57:48 Spb_Basek_Wnc 存储过程中产生异常的节点(定位问题) Slave4_1 产生异常的数据周期 2010-11-02 11:00:00 ORA-00001: unique constraint 5 ERROR_MSG VARCHAR2 详细错误信息 (WIPNMS.IDX_TPA_BASEK_WNC) violated
以上实例说明:采集机Slave4,PPID为1,在调用存储过程Spb_Basek_Wnc汇总2010-11-02 11:00:00这
个周期的数据时,产生了ORA-00001: unique constraint (WIPNMS.IDX_TPA_BASEK_WNC) violated异常。
7、数据保留周期配置
所有性能、报表数据的保留周期均可通过配置的方式控制,共有两个配置表:
7.1、分区表配置TSM_PARTITION_ADD
表结构及配置说明如下:
序号 字段名称 1 2 3 TB_NAME OPERTIME PERIOD 数据类型 VARCHAR2 DATE VARCHAR2 字段描述 表名称,必填 最后分区时间,选填,自动维护 数据保留时长,必填 数据保留时长的单位,必填: 4 PARTYPE VARCHAR2 HOUR – 小时 DAY – 日 5 TBSPACE 分区存储的表空间,必填 是否为第一次分区,必填: 6 FIRSTEXT 0 - 是 1 - 已经开始分区 分区开关,必填,分区关闭后将不再对此表进行分区维护: 7 IFLOCK VARCHAR2 1 - 是 0 - 否 1 1 MBWPMDATA HOUR 举例 TPR_PM_AP_MIN 2010-11-2 10:25:18 48
以上实例说明:表TPR_PM_AP_MIN的数据存储于表空间MBWPMDATA中,数据保留周期为48小时,最后一次
分区时间为2010-11-2 10:25:18
写入配置数据的SQL语句为:
INSERT INTO TSM_PARTITION_ADD VALUES ('TPR_CHECK_AC_LOST', SYSDATE, 48, 'HOUR', 'MBWTEMPDATA', 0, 1);
小时粒度的分区通过存储过程SPM_PARTITION_HOUR维护; 日粒度的分区通过存储过程SPM_PARTITION_DAY维护。
分区命名规则:
以日粒度分区:P_YYYYMMDD 以小时粒度分区:P_YYYYMMDDHH
7.2、非分区表配置TSM_STOREPERIOD
表结构及配置说明如下:
序号 字段名称 1 2 3 4 5 STPID DBNAME TBNAME BASECOL TBTYPE 数据类型 NUMBER VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 字段描述 主键,必填,唯一数字 举例 40 数据库名或用户名,选填,无实际意义 Wlan 表名,必填 表中的时间维度字段,必填 表类型,选填,无实际意义 数据删除类型,选填: 0: 直接删除 log_error_msg daytime 6 DELTYPE NUMBER 1: 备份 2: 先备份再删除 0 7 8 9 10 11 13 13 PERIOD DESTDBNAME DESTTBNAME BEGINTIME ENDTIME DESCR PARTITION_TYPE NUMBER VARCHAR2 VARCHAR2 DATE DATE VARCHAR2 VARCHAR2 数据保留时长,必填,单位:HOUR 将数据备份到该数据库或用户下 将数据备份到该表中 168 上一次执行开始时间,选填,自动维护 上一次执行完成时间,选填,自动维护 备注,选填 错误日志记录表 分区类型:YY/MM/DD/HH/UN,选填,