触发器没有运行【TRIGER CAN'T RUN】

简介:
+关注继续查看
  日志信息出现!
    这是今早我对南京同事们的说的一句话。
    不容易,折腾了一天终于搞定了。
    为了和移动BOSS快速同步相关数据,写了一套数据库后台处理的程序。
    1.包(PACKAGE)处理的整个过程都在该包中。
    2.触发器(TRIGER)在某张状态表,对于特定的操作码(某个字段出现特殊值)出现后即开始操作。
    程序写好后,跑了一晚,没有什么问题。第二天因为业务变化,重新进行了多次的修改。到完成修改完成后,让程序运行。但整整一晚没有任何日志记录(如果操作了就写条操作日志到另外一张日志表中)。全部的数据库对象(不管相关的还是不相关的)都没有失效的(INVALID)!但是带有特定操作码的数据在不断的进入呀?
     检查了N遍程序,DEBUG多次,正常!
     所有的相关包、触发器等全部重新编译(recompile),依然没有用!
     。。。。。。
     通知南京同事,停掉相关处理进程。我将包、触发器全部删除(DROP),然后重新创建包、创建触发器。通知南京同事,启动前台应用。。。。
     (现在请看本文第一句话 -:))
     NOTE:
     如果触发器中使用包(这当然是非常好的),在相关对象,甚至本身发生变化时(如相关的表,序列等等),需要首先确认包和触发器没有失效。如果没有失效,但程序仍无法运行,就需要删除并重新创建了!
     不知道这是否是ORACLE的BUG?
    --------- 
    环境说明:
    HP-UX:B.11.23 U ia64

    ORACLE:10.2.01

本文转自Be the miracle!博客51CTO博客,原文链接http://blog.51cto.com/miracle/49849如需转载请自行联系原作者


Larry.Yue

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
21天前
|
安全 Java API
为什么启动线程不直接调用run(),而要调用start(),如果调用两次start()方法会有什么后果
1位工作6年的小伙伴去某里P6一面,被问到这样一道面试题,说,为什么启动一个线程不直接调用run()方法,而要调用start()方法来启动,如果调用两次start()会有什么后果?
16 0
|
2月前
|
C语言 C++
【C++】 --- 写个函数在main函数执行前先运行
【C++】 --- 写个函数在main函数执行前先运行
38 0
|
2月前
|
开发工具
编写start、stop、status三个脚本程序,用来启动、停止各种系统服务。
编写start、stop、status三个脚本程序,用来启动、停止各种系统服务。
27 0
|
10月前
|
分布式计算 关系型数据库 MySQL
Job 作业的使用--创建、查看、执行、删除 | 学习笔记
快速学习 Job 作业的使用--创建、查看、执行、删除
179 0
Job 作业的使用--创建、查看、执行、删除 | 学习笔记
go 启动命令行传递参数
Go语言内置的 flag 包实现了命令行参数的解析,flag 包使得开发命令行工具更为简单。
730 0
|
JavaScript
Cypress系列(23)- 可操作类型的命令 之 trigger()
Cypress系列(23)- 可操作类型的命令 之 trigger()
201 0
Cypress系列(23)- 可操作类型的命令 之 trigger()
|
域名解析 网络协议 关系型数据库
无需修改代码,用 fcapp.run 运行你的 REST 应用
解锁客户不修改代码部署存量REST、网页应用场景,解决客户函数调用返回404问题,支持标准的网关产品与开源组件集成函数计算。
无需修改代码,用 fcapp.run 运行你的 REST 应用
|
Java 调度
启动一个线程是调用run()还是start()方法?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM 调度并执行,这并不意味着线程就会立即运行。run()方法是线程启动后要进行回调(callback)的方法。
1146 0
推荐文章
更多