通过oracle触发器记录修改某表的用户和ip地址

通过oracle触发器记录修改某表的用户和ip地址

不过需要提前建立好触发器才可以记录下

先建立好这样的表,用来存放用户名、ip、时间。

SQL> desc modifyemp;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 IP                                                 VARCHAR2(20)
 USERNAME                                           VARCHAR2(20)
 CURRTIME                                           DATE

SQL> create or replace trigger modifyemp
  2  before insert or update on emp
  3  for each row
  4  declare
  5  ip varchar2(20);
  6  user varchar2(20);
  7  currtime date;
  8  begin
  9  select sysdate into currtime from dual;
 10  select sys_context('userenv','ip_address'),sys_context('userenv','SESSION_USER') into ip,user from dual;
 11  insert into modifyemp values(ip,user,currtime);
 12  end emp;
 13  /

触发器已创建

 


SQL> select * from modifyemp;

未选定行

SQL> select * from emp;

     EMPNO ENAME      JOB                        MGR HIREDATE              SAL 
---------- ---------- ------------------- ---------- -------------- ---------- 
      COMM     DEPTNO TEST                                                     
---------- ---------- ---------------------------------                        
      7782 CLARK      MANAGER                   7839 09-6月 -81           8000 
                   10                                                          
                                                                               
      7839 KING       PRESIDENT                      17-11月-81           5000 
                   10                                                          
                                                                               

SQL> update emp set sal=1000 where empno=7782;

已更新 1 行。

SQL> commit;

提交完成。

SQL> select * from modifyemp;

IP                   USERNAME             CURRTIME                             
-------------------- -------------------- --------------                       
                     MZL                  26-7月 -08                           

 

SQL> spool off;

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

转载于:http://blog.itpub.net/12778571/viewspace-410239/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Zabbix中监控Oracle数据库中的表数据,可以使用Zabbix的数据库监控功能结合Oracle的特定监控方法。以下是一个简单的步骤指南: 1. 确保已经安装和配置了Zabbix服务器和Zabbix代理。 2. 在Zabbix服务器上创建一个新的模板,用于监控Oracle数据库。在模板中,可以定义触发器、图表和报警等。 3. 在Zabbix服务器上创建一个新的主机,对应于要监控的Oracle数据库实例。为主机配置IP地址和其他必要的参数。 4. 在Zabbix代理配置文件中添加数据库监控参数。编辑zabbix_agentd.conf文件,添加以下内容: ``` UserParameter=oracle.tablespace.discovery,/path/to/script UserParameter=oracle.tablespace.size[*],/path/to/script $1 $2 ``` 5. 创建一个用于获取表数据的脚本。可以使用Python、Shell脚本或其他适当的工具来编写脚本。该脚本应该能够连接到Oracle数据库并获取表数据。 6. 将脚本放置在Zabbix代理所在主机上,并确保脚本具有执行权限。 7. 在Zabbix服务器上导入模板,并将其关联到Oracle数据库的主机。 8. 在触发器中定义阈值和触发条件,以便在表数据达到特定阈值时触发警报。 9. 配置图表以显示表数据的趋势和变化。 10. 测试监控功能,确保Zabbix能够成功获取和显示表数据,并在需要时触发警报。 请注意,上述步骤只是一个简单的指南,具体的配置和实施可能因系统环境和要求而有所不同。建议参考Zabbix和Oracle的官方文档以获取更详细的信息和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值