Oracle数据库限定特定用户 特定IP 登录


不允许test用户在 192.168.1.3 机器上访问数据库。
两种写法。

1

CREATE OR REPLACE TRIGGER DOPR AFTER LOGON ON test.schema BEGIN IF ORA_CLIENT_IP_ADDRESS IN ('192.168.1.3') THEN RAISE_APPLICATION_ERROR(-20001,'USER '||ORA_LOGIN_USER||' IS NOT ALLOWED TO CONNECT FROM '||ORA_CLIENT_IP_ADDRESS); END IF; END; / 

 

2.

    CREATE OR REPLACE TRIGGER dopr AFTER logon ON test.schema DECLARE ipaddr VARCHAR2(30); BEGIN SELECT sys_context('userenv', 'ip_address') INTO ipaddr FROM dual; IF ipaddr = '192.168.1.3' THEN raise_application_error('-20001', 'You can not login,Please contact administrator'); END IF; END dopr; / 

 

这里说下ORA_CLIENT_IP_ADDRESS 这个函数,直接调用是空的。
这个函数只在系统触发器中有用,在DDL 无效。
http://blog.csdn.net/edcvf3/article/details/8987335

在sqlnet.ora 可以限制IP

tcp.validnode_checking=yes tcp.excluded_nodes=(192.168.1.3)
  • 1
  • 2

参考:
http://blog.itpub.net/28602568/viewspace-2092858/
http://blog.csdn.net/leshami/article/details/6629141

 

转载:

https://blog.csdn.net/hkyw000/article/details/53581121


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM