我想查看某个存储过程是否被执行 5C

我定义了一个job,job里面有个存储过程,存储内容是根据日期判断是否执行另外一个存储过程。

 create or replace procedure autoetl_day (indate  in  date)
is    --输入参数
flg number;
mlg number;
begin
   --如果是周六日被节假日调休的情况,且该日期是周六或者周日
   select count(1)  into  flg from FESTIVAL  f      where  f.festival_day=indate    and f.fe_lag=1;
   select count(1)  into mlg  from FESTIVAL  f1      where  f1.festival_day=indate  and f1.fe_lag=0;
        if (flg)=1 and    (to_char(indate,'d') ='1' or  to_char(indate,'d') ='7') 
     then  
        a_etl_proc;  dbms_output.put_line(' 假日调休抽取'||indate);
     insert into LION_ETL_LOG(ETL_LOGCONTENT) values('调休日抽取'||to_char(indate,'yyyymmdd')||'抽取完成');
    else if  --如果是节日情况
         mlg<>0
        then       dbms_output.put_line('节日 不抽取'||indate);
    else if   (to_char(indate,'d') ='1' or  to_char(indate,'d') ='7') 
      then      dbms_output.put_line(' 周六日不抽取'||indate);
      else 
             a_etl_proc; dbms_output.put_line(' 工作日抽取'||indate);
              insert into LION_ETL_LOG(ETL_LOGCONTENT) values('工作日'||to_char(indate,'yyyymmdd')||'抽取完成');
        end if;
        end if;
      end if;
        commit;
    end;         

各位大神,请问,我如何查询A_ETL_PROC的每天执行记录?

0

4个回答

select * from sys.dm_exec_procedure_stats

0

第一种:查Slow query的SQL语法:

log_slow_queries = /var/log/mysql/mysql-slow.log

long_query_time = 2 (超过2秒的SQL语法记录起来,设短一点来记录除错也是一种方法.)

第二种:设MySQL Replication用binlog:

log_bin = /var/log/mysql/mysql-bin.log (此档要用mysqlbinlog解来看,

mysqlbinlog mysql-bin.000042| grep "T_ABC" | grep "column value"

)

mysql会将所有INSERT/UPDATE/DELETE语法记于此(但是语法可能跟你想的不同),这是要写给SLAVE用的log 文件

第三种:推荐此方法,将MySQL执行的每行指令全都记录起来:

log = /tmp/mysql.log

restart mysql后, tail -f /tmp/mysql.log就可以看到
链接:

 http://blog.csdn.net/kenera/article/details/5624981
0

og_slow_queries = /var/log/mysql/mysql-slow.log

long_query_time = 2 (超过2秒的SQL语法记录起来,设短一点来记录除错也是一种方法.)

0

如果这块的记录是要给非开发人员看的建议建张表,A_ETL_PROC里加一条执行记录,插入到新建的表里。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SqlServer 查询存储过程最后执行时间
因为各种原因数据库中存在大量无用的存储过程,想查询存储过程的最后执行情况,处理长期不使用的存储过程。 下列语句利用系统自带的视图数据表,查询存储过程的最后执行情况: SELECT a.name AS 存储过程名称, a.create_date AS 创建日期, a.modify_date AS 修改日期, b.last_execution_time AS 最后执行日期, b
oracle中查询某个存储过程是否存在
SELECT DISTINCT NAME   FROM USER_SOURCE  WHERE TYPE = 'PROCEDURE'    and name in        ('TS_ZM_WMQYJLJGMYMSZMSQB',     'CKTS_ZM_DLJKHWZMSQB',           'CKTS_ZM_CKHJCPMSZMSBB',         'CKT
oracle 存储过程执行状态查询
从网上搜集了些资料,查看那些oracle procedure 正在执行,记录下以便日后使用: 1、如何查看ORACLE中正在运行的存储过程   select owner,name from v$db_object_cache where type like '%PROCE%' and locks &amp;gt;0 and pins &amp;gt;0; 2  select name       fr...
SQL server快速查找所有存储过程中是否包含某字符
--将text替换成你要查找的内容 select name from sysobjects o, syscomments s where o.id = s.id and text like '%text%' and o.xtype = 'P' --将text替换成你要查找的内容 SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFO
SqlServer查询存储过程和视图是否用到表字段
--查询存储过程视图是否用到表和字段 select name from sysobjects as s inner  join syscomments as o on s.id=o.id  where text like N'%表名%字段名%' --查询表字段 SELECT OBJECT_NAME(object_id) '表名',name AS '列名称' FROM sys.c
查看存储过程的执行计划
存储过程没有执行计划,查看的是存储过程中SQL语句的执行计划,这里用10046来看 ---------------------------------------------------- 创建存储过程 Create Or Replace Procedure Lee_Xc(Eno Number) Is Begin Select Empno, Ename, Dname From
Oracle 查看存储过程占用,及编译时卡住问题
查看存储过程是否有锁住 --LOCKS!='0' 即表示有锁,正在执行 --name 这里也可以用like来模糊拆线呢 SELECT * FROM V$DB_OBJECT_CACHE WHERE name='存储过程名称' AND LOCKS!='0'; 找到锁住过程的SID ---object这里一样可以用 like 模糊 select SID from V$ACCESS WHERE o...
ORACLE 查询某些字符在存储过程中存在
<br />select *<br />  from all_source<br /> where OWNER = 'ESP'<br />   --and TYPE = 'PROCEDURE'<br />   and TEXT like '%update%oms_forecast_data%sixvalidater%'
Mysql数据库如何查看某张表table被哪些存储过程procedure使用过
一、摘要 由于代码重构,修改了多张表结构,java后台代码做相应修改处理,开发人员内测没问题提交业务部门测试时发现,新客户取不到产品价格,原因是存储过程调用的还是就的数据表。为此,需要先找出哪些存储过程使用到了这些表,然后修改。那么问题来了,mysql数据库如何查看哪些存储过程使用了这些数据表呢? 二、mysql数据库存储过程信息查看 1、show 命令 1) SHOW STATUS查看存储过程...
Sql Server 查看存储过程在哪些作业中被调用
SELECT * FROM msdb.dbo.sysjobs JOB WITH( NOLOCK) INNER JOIN msdb. dbo.sysjobsteps STP WITH(NOLOCK ) ON STP .job_id = JOB .job_id WHERE STP .command LIKE N’% sp_name %’
oracle 存储过程 判断字段中是否包含指定的字符
比如半段字段col中是否好友字符"a"instr(col,'a')>0表示包含 =0表示不包含
如何检测被锁住的Oracle存储过程及处理办法汇总(转)
1.查看是哪一个存储过程被锁住查V$DB_OBJECT_CACHE视图select * from V$DB_OBJECT_CACHE where owner='过程的所属用户' AND LOCKS!='0'2.查看是哪一个sid,通过sid可以知道是哪一个session查v$access视图select * from v$access where owner='过程的所属用户' and name=...
Sybase查询用户对于某对象的权限:sp_helprotect命令
本文大部分内容翻译自Sybase官方文档,原文: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36273.1570/html/sprocs/X85190.htm sp_helprotect 描述(Description) 返回一个包含权限信息的报表,查询对象可以为:数据库对象,用户...
MSSQL查询某个表在哪些存储过程中使用过
查询某个表被哪些存储过程使用到 : SELECT DISTINCT OBJECT_NAME(id) FROM syscomments WHERE EXISTS ( SELECT 1 FROM sys.objects WHERE type = 'P'
查询哪些存储过程使用了某个表
SELECT DISTINCT b.name FROM dbo.syscomments a, dbo.sysobjects b WHERE a.id = b.id AND b.xtype = 'p' AND a.text LIKE '%officedba.CodeProductType%' ORDER BY name
如何快速查找某个存储过程执行的状况
通过下面的SQL,我们可以快速查看某个存储过程执行的状况:   SELECT TOP 100 db_name(d.database_id) as DBName,s.name as 存储名称,s.type_desc as 存储类型,d.cached_time as SP添加到缓存的时间, d.last_execution_time as 上次执行SP的时间,d.last_elapsed_tim
用SQL语句查找包含有某个关键字的存储过程、触发器、函数等等
用SQL语句查找包含有某个关键字的存储过程、触发器、函数等等,SQL语句如下: select OBJECT_NAME(id) as 存储过程,id from syscomments where id in(    select     object_id(name)    from dbo.sysobjects    where xtype='P'  --存储过程为P)and text like ...
Sqlserver中查询存储过程是否包含某些文本
<br />select sysobjects.name, sysobjects.id,syscomments.text<br /> from sysobjects,syscomments where sysobjects.id=syscomments.id and  syscomments.text like '%ServiceStatus%'
判断某个方法是否没执行
-
查询某台服务器下所有的数据库中包含某个关键词的存储过程 或 视图
USE MASTER GO if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#tmpResult')) begin drop table #tmpResult end create table #tmpResult ( DbName varchar(100), SpOrViewName var
sqlserver如何快速查找使用了某个字段的所有存储过程
当一个系统中使用了很多的表,并且存在大量的存储过程,当数据库中的某个表删除了某个字段,那么相应的存储过程也需要改动,但是我们不知道哪些存储过程使用了该字段,那我们该怎么办?我们可以从之前的文档一个一个查找使用了该字段的存储过程,但是这样效率很多,而且还容易出错,我们可以使用下面的方法来查找所有使用了某个字段的存储过程。如下的函数: [sql]  GO   SELECT obj.N
oracle 中如何查看某个表所涉及的存储过程
SELECT DISTINCT * FROM user_source WHERE TYPE = 'PROCEDURE' AND upper(text) LIKE '%PS_KL_ABS_002_DATA%'; 原文链接:https://www.cnblogs.com/feng666666/p/7058122.html
postgresql中存储过程语句查看
一、查看创建的存储过程语句      \?  查看所有的帮助信息      \d   pg_proc 查看pg_proc的结构      select * from pg_proc;//查看所有的存储过程      select  procname, prosrc  from pg_proc  where proname = 'function_name';  //查看function_n
SQL Server中查找包含某个文本的存储过程
SELECT name from sysobjects o,syscomments s where o.id=s.id and text LIKE '%text%' and o.xtype='p'
查找用到某个字段的所有存储过程
USE nf GO SELECT obj.Name, sc.TEXT FROM syscomments sc INNER JOIN sysobjects obj ON sc.Id = obj.ID WHERE sc.TEXT LIKE '%' + 'ContestCount' + '%' -- ContestCount为所要查询的字段 AND TYPE = 'P'
查看ORACLE中正在运行的存储过程
转载自:http://imxming.blog.163.com/blog/static/129365520201132710434635/ 1、如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks >0 and pins >0; 2、如何停止正在运行的
查找存储过程,判断mysql是否存在此列
DROP PROCEDURE IF EXISTS p7;    --防止数据库中有这个存储过程,先删掉      CREATE PROCEDURE p7()   BEGIN          DECLARE nRetRowCount int;          SELECT count(COLUMN_NAME) INTO nRetRowCount       FROM inform
sql server 查询某个表被哪些存储过程调用
select distinct object_name(id) from syscomments where id in (select id from sysobjects where type =’P’) and text like’%TableName%’ 有好的方案,大家赶紧给我分享吧
sql面试题目汇总 1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经 许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作  
1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经 许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作  
sql 查询某个表在哪些存储过程(SP)中使用
查询某个表被哪些存储过程(以下简称 SP)使用 查找那些过程对该表做了更新操作
sqlserver 各种判断是否存在(表、视图、函数、存储过程等)
1、判断表是否存在 select * from sysobjects where id = object_id(表名) and OBJECTPROPERTY(id, N'IsUserTable') = 1 2、判断视图是否存在 select table_name from information_schema.views where table_name = 视图名 或者 SELE...
db2查询函数和存储过程
--查找某个存储过程   select * from syscat.procedures where procschema='PAS' and procname='sp_insert_xtrz'  --查找某个函数  select * from syscat.functions where funcschema='PAS' and funcname='sp_insert_xtrz'       --=================  --查找当前时间  --取得当前年月日:  --取得当前时分秒:   -
查看当前的用户都创建了什么存储过程
<br />查看当前用户:<br />select * from user_procedures;<br /> <br />或者<br />select * from user_objects where object_type='PROCEDURE';-- 一定要大写<br /><br />查看所有用户(注意有查询权限)<br />select * from all_procedures;<br /><br />或者<br />select * from all_objects where object_
sqlserver 各种判断是否存在(表名、函数、存储过程.......)
库是否存在 if exists(select *from master..sysdatabaseswhere name=N'库名') print'exists' else print'not exists' --------------- -- 判断要创建的表名是否存在 if exists (select *from dbo.sysobjectswhere id = object_id(N'[db
linux的shell命令检测某个java程序是否执行
linux下的shell命令: ps -ef |grep java|grep “ ” " "l里面写上你需要grep查找的java程序名字应该就可以了 转自:http://www.jb51.net/article/83197.htm
MySQL: 普通用户查看存储过程权限问题
MySQL: 普通用户查看存储过程权限问题 SHOW GRANTS FOR cpcampus; #关键 GRANT SELECT ON `mysql`.`proc` TO 'cpcampus'@'%'; SHOW GRANTS FOR cpcampus;
开发环境 -- Linux下查看动态库中是否包含某个函数
一个例子,记录一下,以后会用到 strings libdrv.so | grep BrdReInitAllGMPU  
oracle的系统和对象权限 查看用户包含的各类权限
查看某个用户在某个对象的权限,可以查dba_tab_privs 或者user_tab_privs   如下:某普通用户登陆,查自己的角色 SQL> select * from user_role_privs;   查自己拥有哪些系统权限 SQL> select * from session_privs;
sqlserver 快速查询存储过程是否用到某个表或者字段
sqlserver 快速查询存储过程或者视图中是否用到某个表或者字段。
mysql 获取某个库下面所有表的所有数据(存储过程)
 DROP PROCEDURE IF EXISTS test;/* 删除已存在的存储*/  CREATE PROCEDURE test()  BEGIN   DECLARE done INT DEFAULT 0; /*用于判断是否结束循环*/  DECLARE cur VARCHAR(200);/*存储表名称的变量*/  DECLARE tbs_list CURSOR FOR SELECT TAB...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 我想学习python 我想学习区块链