博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监控oracle的触发器语句(转)
阅读量:2502 次
发布时间:2019-05-11

本文共 1818 字,大约阅读时间需要 6 分钟。

监控oracle的触发器语句(转)[@more@]首先建一个日志表,然后分别建立3个触发器
create table EVENTLOG
(
EVENTNAME VARCHAR2(20) not null,
OPER_TIME DATE default sysdate,
INST_NUM NUMBER,
DB_NAME VARCHAR2(50),
SRV_ERROR NUMBER,
USERNAME VARCHAR2(30),
OBJ_TYPE VARCHAR2(20),
OBJ_NAME VARCHAR2(30),
OBJ_OWNER VARCHAR2(30)
)
create or replace trigger trig_ddl
after create or alter or drop on database
declare
event varchar2(20);
typ varchar(20);
name varchar(30);
owner varchar(30);
begin
--读取DDL事件属性
event:=sysevent;
typ:=dictionary_obj_type;
name:=dictionary_obj_name;
owner:=dictionary_obj_owner;
insert into eventlog(eventname,obj_type,obj_name,obj_owner)
values(event,typ,name,owner);
end ;
create or replace trigger trig_shutdown
before LOGOFF or shutdown on database
declare
event varchar2(20);
instance number;
dbname varchar(50);
user varchar(30);
begin
event:=sysevent;
if event = 'LOGOFF' then
user:=login_user;
insert into eventlog(eventname,username)
values(event,user);
else
instance:=instance_num;
dbname:=database_name;
insert into eventlog(eventname,inst_num,db_name)
values(event,instance,dbname);
end if;
end ;
create or replace trigger trig_startup
after LOGON or STARTUP or SERVERERROR on database
declare
event varchar2(20);
instance number;
dbname varchar(50);
err_num number;
user varchar(30);
begin
event:=sysevent;
if event = 'LOGON' then
user:=login_user;
insert into eventlog(eventname,username)
values(event,user);
elsif event = 'SERVERERROR' then
err_num:=server_error(1);
insert into eventlog(eventname,srv_error)
values(event,err_num);
else
instance:=instance_num;
dbname:=database_name;
insert into eventlog(eventname,inst_num,db_name)
values(event,instance,dbname);
end if;
end ;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617731/viewspace-962928/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10617731/viewspace-962928/

你可能感兴趣的文章
mysql入门
查看>>
NR LTE UMTS GSM CDMA TDS频点频率换算工具
查看>>
servlet基础
查看>>
机房测试8.23
查看>>
thinkphp 迁移数据库 -Phinx 简单说明文档
查看>>
对软件工程的理解
查看>>
下载IDEA并安装scala插件
查看>>
MVC AJAX Pager Helper
查看>>
P1004 方格取数-洛谷luogu-dp动态规划
查看>>
sql存储过程
查看>>
sql注入100种姿势过waf(一):waf 了解
查看>>
Vulnhub靶场渗透练习(三) bulldog
查看>>
软件工程展望
查看>>
AFNetworking实现程序重新启动时的断点续传
查看>>
Java案例整理
查看>>
【python3基础】python3 神坑笔记
查看>>
小椛椛的板子们2
查看>>
元类的三大核心:__new__,__init__和__call__
查看>>
!!在JS中代表什么
查看>>
Oracle 中的sql函数以及分页
查看>>