四、dbms_alert(用于生成并传递数据库预警信息)
1、概述
作用:用于生成并传递数据库预警信息.使用包DBMS_ALERT,则必须以SYS登陆,为该用户授予执行权限.
sql>conn sys/oracle as sysdba
sql>grant execute on dbms_alert to scott;
2、包的组成
1)、register
说明:用于注册预警事件
语法:dbms_alter.register(name in varchar2);
其中name指定预警事件名称,其值不能超过30字节。
例子:exec dbms_alter.register('alter1');
2)、remove
说明:用于删除会话不需要的预警事件.
语法:dbms_alert.remove(name in varchar2);
例子:exec dbms_alert.remove('alert1');
3)、removeall
说明:用于删除当前会话所有已注册的预警事件
语法:dbms_alter.removeall
4)、set_defaults
说明:用于设置检测预警事件的时间间隔,默认时间间隔为5秒
语法:dbms_alert.set_defaults(sensitivity in number);
例子:dbms_alert.set_defaults(20)
5)、signal
说明:用于指定预警事件所对应的预警消息。只有在提交事务时才会发出预警信号,而当回退事务时不会发出预警信号。
语法:dbms_alert.signal(name in varchar2,message in varchar2);
其中message指定预警事件的消息,长度不超过1800字节。
例子:exec dbms_alert.signal('alert1','hello');
6)、waitany
说明:用于等待当前会话的任何预警事件,并且在预警事件发生时输出相应信息.在执行该过程之前,会隐含地发出COMMIT.
语法:
dbms_alter.waitany(name out varchar2,message out varchar2,status out integer,timeout in number default maxwait);
其中status用于返回状态值,返回0表示发生了预警事件,返回1表示超时;timeout用于设置预警事件的超时时间.
7)、waitone
说明:用于等待当前会话的特定预警事件,并且在发生预警事件时输出预警消息.在执行该过程之前,会隐含地发出COMMIT.
dbms_alter.waitone(name out varchar2,message out varchar2,status out integer,timeout in number default maxwait);
3、应用实例
修改员工工资时发出预警
create or replace trigger tr_upd_sal
after update of sal on emp
begin
dbms_alert.signal('sal_upd_alert','修改了雇员工资');
end;
create or replace procedure wait_event(name varchar2) is
message varchar2(200);
status int;
begin
dbms_alert.register(name);
dbms_alert.waitone(name,message,status);
if status=0 then
dbms_output.put_line(message);
end if;
dbms_alert.remove(name);
end wait_event;
set serveroutput on
begin
for i in 1..5 loop
wait_event('sal_upd_alert');
end loop;
end;
四、dbms_alert(用于生成并传递数据库预警信息)的更多相关文章
- 基于数据库的自动化生成工具,自动生成JavaBean、数据库文档、框架代码等(v5.8.8版)
TableGo v5.8.8版震撼发布,此次版本更新如下: 1.新增两个扩展字段,用于生成自定义模板时使用. 2.自定义模板新增模板目录,可以选择不同分类目录下的模 ...
- Activiti工作流学习笔记(三)——自动生成28张数据库表的底层原理分析
原创/朱季谦 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地 ...
- 第四篇 SQL Server代理配置数据库邮件
本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...
- OCM_第十四天课程:Section6 —》数据库性能调优_各类索引 /调优工具使用/SQL 优化建议
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- 机器学习进阶-直方图与傅里叶变化-直方图均衡化 1.cv2.equalizeHist(进行直方图均衡化) 2. cv2.createCLAHA(用于生成自适应均衡化图像)
1. cv2.equalizeHist(img) # 表示进行直方图均衡化 参数说明:img表示输入的图片 2.cv2.createCLAHA(clipLimit=8.0, titleGridSiz ...
- 【译】第四篇 SQL Server代理配置数据库邮件
本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...
- UFLDL深度学习笔记 (四)用于分类的深度网络
UFLDL深度学习笔记 (四)用于分类的深度网络 1. 主要思路 本文要讨论的"UFLDL 建立分类用深度网络"基本原理基于前2节的softmax回归和 无监督特征学习,区别在于使 ...
- 个人永久性免费-Excel催化剂功能第36波-新增序列函数用于生成规律性的循环重复或间隔序列
啃过Excel函数的表哥表姐们,一定对函数的嵌套.数组公式等高级的应用有很深的体会,威力是大,但也烧死不少脑细胞,不少人就在这样的绕函数中光荣地牺牲了,走向从入门到放弃.Excel催化剂的创立,初衷就 ...
- go-zero docker-compose搭建课件服务(四):生成Dockerfile
0.转载 go-zero docker-compose 搭建课件服务(四):生成Dockerfile并在docker-compose中启动 0.1源码地址 https://github.com/liu ...
随机推荐
- 一个App项目设计开发完整流程
作为一个PHP程序猿想转行APP开发可不是件容易的事情,话说隔行如隔山,这隔着一层语言也是多东西需要学习啊,一直对APP开发很感兴趣,最近请教了几个做移动开发的朋友,看了很多的资料,决定把自己学到的东 ...
- Linux-chmod_命令的详细用法讲解
Linux chmod 命令 chmod用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.该命令有两种用法.一种是包含 字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. 1 ...
- XVII Open Cup named after E.V. Pankratiev Grand Prix of Moscow Workshops, Sunday, April 23, 2017 Problem K. Piecemaking
题目:Problem K. PiecemakingInput file: standard inputOutput file: standard outputTime limit: 1 secondM ...
- CodeForces - 528D Fuzzy Search (FFT求子串匹配)
题意:求母串中可以匹配模式串的子串的个数,但是每一位i的字符可以左右偏移k个位置. 分析:类似于 UVALive -4671. 用FFT求出每个字符成功匹配的个数.因为字符可以偏移k个单位,先用尺取法 ...
- POJ 3905 Perfect Election (2-SAT 判断可行)
题意:有N个人参加选举,有M个条件,每个条件给出:i和j竞选与否会只要满足二者中的一项即可.问有没有方案使M个条件都满足. 分析:读懂题目即可发现是2-SAT的问题.因为只要每个条件中满足2个中的一个 ...
- Foundations of RESTful Architecture
Introduction The Representational State Transfer (REST) architectural style is not a technology you ...
- PHP开发之环境配置
nignx //start nginx -s reload //restart composer create-project laravel/laravel learnlaravel5 //自动创建 ...
- ABP官方文档翻译 1.4 启动配置
启动配置 配置ABP 替换内置服务 配置模块 创建模块配置 ABP提供了基础设施和模型在启动的时候对它及模块进行配置. 配置ABP 在模块的PreInitialize事件中配置ABP.示例配置如下: ...
- oracle中job定时器任务
对于DBA来说,经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作.但是,Oracle定时器Job时间的处理上,千变万化,今天我把比较常用 ...
- Storm完整例子
import backtype.storm.spout.SpoutOutputCollector; import backtype.storm.task.TopologyContext; import ...