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