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未找到提供程序的解决

本文名称:Oracle系统事件函数ORA_CLIENT_IP_ADDRESS的使用
标题网址:http://www.shufengxianlan.com/qtweb/news18/479218.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联