欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

[Oracle] 如何使用觸發(fā)器實現(xiàn)IP限制用戶登錄

 更新時間:2013年07月12日 10:35:53   作者:  
在Oracle里,不像MySQL那樣方便,可以直接在用戶上進行IP限制,Oracle要實現(xiàn)用戶級別的IP限制,可以使用觸發(fā)器來迂回實現(xiàn),以下就是示例,需要的朋友可以參考下
下面是一個觸發(fā)器的例子:
復制代碼 代碼如下:

create or replace trigger logon_ip_control
after logon on database
declare
  ip STRING(30);
  user STRING(30);
begin
SELECT SYS_CONTEXT('USERENV','SESSION_USER') into user from dual;
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') into ip from dual;
if user='EPAY_USER'
  THEN
      IF ip not in ('192.168.219.20','192.168.219.22') 
      THEN raise_application_error(-20001,'User '||user||' is not allowed to connect from '||ip);
      END IF;
END IF;
end;
/

該觸發(fā)器對用戶EPAY_USER進行了IP限制(只允許'192.168.219.20','192.168.219.22',如果需要設置IP段,用%或?代替即可,如'192.168.219.%‘)。
下面看幾個例子測試一下:
1)從非允許IP地址登陸 (192.168.219.21),連接失敗
復制代碼 代碼如下:

[oracle@lxdb2 ~]$ sqlplus epay_user@pri
SQL*Plus: Release 11.2.0.3.0 Production on Wed Jul 3 19:23:48 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Enter password:
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-20001: User EPAY_USER is not allowed to connect from 192.168.219.21
ORA-06512: at line 10

2)從允許IP地址登陸(192.168.219.22),連接成功
復制代碼 代碼如下:

[oracle@lxdb1 ~]$ sqlplus epay_user
SQL*Plus: Release 11.2.0.3.0 Production on Wed Jul 3 11:24:25 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

3)從本地登陸(192.168.219.23)不受IP限制影響,連接成功
復制代碼 代碼如下:

[oracle@lxdb1 ~]$ sqlplus epay_user
SQL*Plus: Release 11.2.0.3.0 Production on Wed Jul 3 11:24:25 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

相關文章

  • Oracle游標的使用實例詳解

    Oracle游標的使用實例詳解

    這篇文章主要給大家介紹了關于Oracle游標使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或著工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • Oracle使用like查詢時對下劃線的處理方法

    Oracle使用like查詢時對下劃線的處理方法

    這篇文章主要介紹了Oracle使用like查詢時對下劃線的處理方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Oracle使用rownum分頁方式實例代碼

    Oracle使用rownum分頁方式實例代碼

    ROWNUM是一個序列,是oracle數(shù)據(jù)庫從數(shù)據(jù)文件或緩沖區(qū)中讀取數(shù)據(jù)的順序,這篇文章主要給大家介紹了關于Oracle使用rownum分頁的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • Oracle過程與函數(shù)的區(qū)別分析

    Oracle過程與函數(shù)的區(qū)別分析

    在Oracle數(shù)據(jù)庫中,過程和函數(shù)都以編譯后的形式存放在數(shù)據(jù)庫中,二者的主要區(qū)別在于他們的調(diào)用方式,下文對二者的區(qū)別作了詳盡的描述,供您參考
    2014-08-08
  • 淺談oracle中單引號轉(zhuǎn)義

    淺談oracle中單引號轉(zhuǎn)義

    這篇文章主要介紹了淺談oracle中單引號轉(zhuǎn)義的香瓜內(nèi)容,涉及單引號的作用以及其具體用法,具有一定參考價值,需要的朋友可以參考下。
    2017-09-09
  • 使用Oracle數(shù)據(jù)庫登錄時被告知用戶被鎖怎么解決

    使用Oracle數(shù)據(jù)庫登錄時被告知用戶被鎖怎么解決

    這篇文章主要介紹了使用Oracle數(shù)據(jù)庫登錄時被告知用戶被鎖怎么解決的相關資料,需要的朋友可以參考下
    2016-07-07
  • 在Tomcat服務器下使用連接池連接Oracle數(shù)據(jù)庫

    在Tomcat服務器下使用連接池連接Oracle數(shù)據(jù)庫

    本文為大家介紹下在Tomcat服務器下使用連接池來連接數(shù)據(jù)庫的操作,下面有個不錯的示例,大家可以參考下
    2014-01-01
  • Oracle連接數(shù)據(jù)庫提示ORA-12638:身份證明檢索失敗的解決辦法

    Oracle連接數(shù)據(jù)庫提示ORA-12638:身份證明檢索失敗的解決辦法

    今天在使用應用程序連接Oracle時碰到了"ORA-12638:身份證明檢索失敗"錯誤,給大家總結解決方法,這篇文章主要給大家介紹了關于Oracle連接數(shù)據(jù)庫提示ORA-12638:身份證明檢索失敗的解決辦法,需要的朋友可以參考下
    2023-10-10
  • Oracle數(shù)據(jù)庫如何刪除歸檔日志文件

    Oracle數(shù)據(jù)庫如何刪除歸檔日志文件

    這篇文章主要給大家介紹了關于Oracle數(shù)據(jù)庫如何刪除歸檔日志文件的相關資料,當Oracle中的歸檔日志空間滿時,則需要把它清空,否則將會影響數(shù)據(jù)庫正常運行,將無法正常登入ORACLE,需要的朋友可以參考下
    2023-11-11
  • Oracle 8i在P4上的安裝

    Oracle 8i在P4上的安裝

    Oracle 8i在P4上的安裝...
    2007-03-03

最新評論