Oracle系统事件函数ORA_CLIENT_IP_ADDRESS的使用

数据库 Oracle
本文我们主要介绍了Oracle系统事件函数ORA_CLIENT_IP_ADDRESS的定义和使用方法,希望能够对您有所帮助。

ORA_CLIENT_IP_ADDRESS用来返回访问oracle数据库客户端的ip地址,windows本机登录时,返回ip地址可能为空。

1.ORA_CLIENT_IP_ADDRESS定义:

 

  1. CREATE PUBLIC SYNONYM ORA_CLIENT_IP_ADDRESS FOR SYS.CLIENT_IP_ADDRESS     
  2.  
  3. CREATE OR REPLACE FUNCTION SYS.CLIENT_IP_ADDRESS     
  4.  
  5. return varchar2 is    
  6.  
  7. begin    
  8.  
  9. return dbms_standard.client_ip_address;     
  10.  
  11. end;     
  12.  
  13. CREATE PUBLIC SYNONYM ORA_CLIENT_IP_ADDRESS FOR SYS.CLIENT_IP_ADDRESS  
  14.  
  15. CREATE OR REPLACE FUNCTION SYS.CLIENT_IP_ADDRESS  
  16.  
  17. return varchar2 is  
  18.  
  19. begin  
  20.  
  21. return dbms_standard.client_ip_address;  
  22.  
  23. end; 

 

2.ORA_CLIENT_IP_ADDRESS 使用示例:

 

  1. CREATE OR REPLACE TRIGGER sysevent_trig     
  2.  
  3. AFTER LOGON     
  4.  
  5. ON DATABASE    
  6.  
  7. BEGIN    
  8.  
  9. insert into dw.ora_fun_logs(id,value)     
  10.  
  11. values(dw.ora_fun_logs_s.nextval,     
  12.  
  13. ora_sysevent||' : ORA_CLIENT_IP_ADDRESS--'||NVL(ora_client_ip_address, 'N/A'));     
  14.  
  15. END;     
  16.  
  17. show errors     
  18.  
  19. truncate table dw.ora_fun_logs;       
  20.  
  21. conn dw/dw@dw     
  22.  
  23. set line 80     
  24.  
  25. column value format a60     
  26.  
  27. select * from dw.ora_fun_logs;    
  28.  
  29. CREATE OR REPLACE TRIGGER sysevent_trig  
  30.  
  31. AFTER LOGON  
  32.  
  33. ON DATABASE  
  34.  
  35. BEGIN  
  36.  
  37. insert into dw.ora_fun_logs(id,value)  
  38.  
  39. values(dw.ora_fun_logs_s.nextval,  
  40.  
  41. ora_sysevent||' : ORA_CLIENT_IP_ADDRESS--'||NVL(ora_client_ip_address, 'N/A'));  
  42.  
  43. END;  
  44.  
  45. show errors  
  46.  
  47. truncate table dw.ora_fun_logs;  
  48.  
  49. conn dw/dw@dw  
  50.  
  51. set line 80  
  52.  
  53. column value format a60  
  54.  
  55. select * from dw.ora_fun_logs;  
  56.  
  57. 22:11:08 sys@dw>CREATE OR REPLACE TRIGGER sysevent_trig  
  58.  
  59. 22:11:09 2 AFTER LOGON  
  60.  
  61. 22:11:09 3 ON DATABASE  
  62.  
  63. 22:11:09 4 BEGIN  
  64.  
  65. 22:11:09 5 insert into dw.ora_fun_logs(id,value)  
  66.  
  67. 22:11:09 6 values(dw.ora_fun_logs_s.nextval,  
  68.  
  69. 22:11:09 7 ora_sysevent||' : ORA_CLIENT_IP_ADDRESS--'||NVL(ora_client_ip_address, 'N/A'));  
  70.  
  71. 22:11:09 8 END;  
  72.  
  73. 22:11:09 9 /  
  74.  
  75. 触发器已创建  
  76.  
  77. 已用时间: 00: 00: 00.04  
  78.  
  79. 22:11:10 sys@dw>truncate table dw.ora_fun_logs;  
  80.  
  81. 表被截断。  
  82.  
  83. 已用时间: 00: 00: 00.03  
  84.  
  85. 22:11:18 sys@dw>conn dw/dw@dw  
  86.  
  87. 已连接。  
  88.  
  89. 22:11:24 dw@dw>set line 80  
  90.  
  91. 22:11:24 dw@dw>column value format a60  
  92.  
  93. 22:11:24 dw@dw>select * from dw.ora_fun_logs;  
  94.  
  95. ID VALUE  
  96.  
  97. ---------- ------------------------------------------------------------  
  98.  
  99. 17 LOGON : ORA_CLIENT_IP_ADDRESS--N/A  
  100.  
  101. 18 LOGON : ORA_CLIENT_IP_ADDRESS--127.0.0.1 

 

关于Oracle系统事件函数ora_client_ip_address的知识就介绍到这里了,希望能够带给您一些收获,谢谢了!

【编辑推荐】

  1. RedHat Linux的Oracle 10g安装配置详解
  2. Oracle、MySQL和PostgreSQL的比较与选择
  3. Java和Ibatis调用存储过程并取得返回值详解
  4. Oracle和Sybase根据系统的pid查询sql语句的例子
  5. ASP连接Oracle错误:800a0e7a未找到提供程序的解决
责任编辑:赵鹏 来源: iDB Stock
相关推荐

2010-10-25 17:08:34

oracle聚合函数

2010-04-14 13:22:10

Oracle系统函数

2010-10-25 11:02:47

Oracle to_c

2023-06-27 09:42:38

OracleCKPTswitch

2010-10-25 13:33:10

Oracle over

2010-10-25 16:05:07

oracle自定义函数

2011-04-08 15:50:54

Oracleover函数

2010-10-28 15:38:24

Oracle to_d

2010-10-25 14:47:49

Oracle系统变量函

2010-10-25 12:17:48

oracle wm_c

2010-02-04 10:24:35

Linux Oracl

2010-05-10 17:18:47

Oracle跟踪事件

2010-10-28 16:31:27

连接oracle

2021-08-16 07:26:42

服务订阅机制

2010-10-25 10:55:11

Oracle函数索引

2009-11-05 10:30:41

WCF Address

2010-04-19 13:43:38

Oracle分析函数

2010-10-25 16:52:48

oracle管道函数

2010-10-25 14:28:53

oracle trun

2011-08-11 17:56:00

Oracle数据库decodesign
点赞
收藏

51CTO技术栈公众号