度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1135|回复: 7
打印 上一主题 下一主题

[分享] 通过触发器记录数据库连接信息

[复制链接]

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
跳转到指定楼层
楼主
发表于 2020-3-11 16:59:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一、Oracle连接信息统计
  1. create table logon_logs (logon_time date,
  2. username varchar2(30),
  3. machine varchar2(64),
  4. ipaddr varchar2(30))
  5. tablespace users;


  6. create or replace trigger logusersconnects
  7. after logon on database
  8. begin
  9. insert into logon_logs values(sysdate,
  10. user,
  11. sys_context('USERENV','HOST'),
  12. sys_context('USERENV','IP_ADDRESS'));
  13. commit;
  14. end;
  15. /
复制代码
sys_context函数使用方法以及含义如下:
  1. 第一个参数为'USERENV',是固定的,第二个参数也是固定的,但是是多选固定,可选的值如下所示:

  2. select sys_context('USERENV','AUTHENTICATION_TYPE') from dual;--用户的认证类型
  3. select sys_context('USERENV','AUTHENTICATION_DATA') from dual;--未知
  4. select sys_context('USERENV','BG_JOB_ID') from dual;--当前指定id的会话是否为oracle后台程序建立,不是则返回null
  5. select sys_context('USERENV','CLIENT_INFO') from dual;--通过dbms_application_info包可以存储高达64字节的用户会话信息
  6. select sys_context('USERENV','CURRENT_SCHEMA') from dual;--默认的schema将被当做当前的schema。当在当前会话中使用ALTER SESSION SET CURRENT_SCHEMA语句的时候,它的查询返回值将被改变
  7. select sys_context('USERENV','CURRENT_SCHEMAID') from dual;--当前schema的id
  8. select sys_context('USERENV','CURRENT_USER') from dual;--当前的登陆用户
  9. select REPLACE(SUBSTR(sys_context('USERENV','HOST'),1,30),'\',':') from dual;--当前会话主机操作系统名
  10. select sys_context('USERENV','CURRENT_USERID') from dual;--当前登陆的用户的id
  11. select sys_context('USERENV','DB_DOMAIN') from dual;--为数据库的域指定初始化参数
  12. select sys_context('USERENV','DB_NAME') from dual;--数据库实例名
  13. select sys_context('USERENV','ENTRYID') from dual;--可用的审计标示符。不能再分布式sql语句中使用此选项。使用USERENV关键字必须置AUDIT_TRAIL的初始化参数为真。
  14. select sys_context('USERENV','EXTERNAL_NAME') from dual;--数据库用户的扩展名
  15. select sys_context('USERENV','FG_JOB_ID') from dual;--返回作业id当此会话是客户端进程创建。否则,返回null
  16. select sys_context('USERENV','INSTANCE') from dual;--当前数据库实例的标示id

  17. select sys_context('USERENV','ISDBA') from dual;--当前用户是否是以dba身份登录
  18. select sys_context('USERENV','LANG') from dual;--iso对‘LANGUAGE’的简称,查询的参数比“LANGUAGE”短
  19. select sys_context('USERENV','LANGUAGE') from dual;--结果为当前数据库使用的存储语言,跟上面查询意义一样
  20. select sys_context('USERENV','NETWORK_PROTOCOL') from dual;--用于通信的网络协议
  21. select sys_context('USERENV','NLS_CALENDAR') from dual;--当前会话使用的,格林尼治时间
  22. select sys_context('USERENV','NLS_CURRENCY') from dual;--本地化的货币符,如人民币为¥,美元符为$
  23. select sys_context('USERENV','NLS_DATE_FORMAT') from dual;--当前使用的日期格式,一般中国为dd-mon-rr
  24. select sys_context('USERENV','NLS_DATE_LANGUAGE') from dual;--表示日期的语言,如中文简体SIMPLIFIED CHINESE

  25. select sys_context('USERENV','NLS_TERRITORY') from dual;--数据库服务器所在区域,如中国CHINA
  26. select sys_context('USERENV','OS_USER') from dual;--操作系统的用户名
  27. select sys_context('USERENV','PROXY_USER') from dual;--是否使用代理用户。否返回null
  28. select sys_context('USERENV','PROXY_USERID') from dual;--代理用户id
  29. select sys_context('USERENV','SESSION_USER') from dual;--当前认证的数据库用户名
  30. select sys_context('USERENV','SESSION_USERID') from dual;--当前认证的数据库用户名id
  31. select sys_context('USERENV','SESSIONID') from dual;--当前会话id
  32. select sys_context('USERENV','TERMINAL') from dual;--操作系统用户组
  33. select sys_context('USERENV','IP_ADDRESS') from dual;--当前会话主机ip
  34. select sys_context('USERENV','HOST') from dual;--当前会话主机操作系统名
复制代码
二、SQLServer连接信息统计


三、MySQL连接信息统计

四、PG连接信息统计

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
8#
发表于 2020-3-18 16:49:18 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
7#
 楼主| 发表于 2020-3-17 09:03:59 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
6#
 楼主| 发表于 2020-3-17 09:02:45 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
5#
 楼主| 发表于 2020-3-13 17:22:25 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
地板
 楼主| 发表于 2020-3-13 17:21:51 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
板凳
 楼主| 发表于 2020-3-12 17:06:46 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
沙发
 楼主| 发表于 2020-3-12 17:05:40 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-5 05:54 , Processed in 0.118363 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表