数据库

 首页 > 数据库 > Oracle > Oracle限制某个数据库帐号只能在特定机器上连入数据库

Oracle限制某个数据库帐号只能在特定机器上连入数据库

分享到:
【字体:
导读:
         摘要:通过Oracle数据库的触发器实现,例如:TEST为测试账号、绑定的IP为:10.142.244.30CREATEORREPLACETRIGGERsys.trg_work_logAFTERLOGONONDATABASEdeclarev_program_namevarchar2(200);v_username... ...

Oracle限制某个数据库帐号只能在特定机器上连入数据库
通过Oracle数据库的触发器实现,例如:TEST为测试账号、绑定的IP为:10.142.244.30
 
CREATE OR REPLACE TRIGGER sys.trg_work_log
AFTER LOGON ON DATABASE
declare
v_program_name varchar2(200);
v_username varchar2(100);
v_ip varchar2(18);
v_error varchar2(1000);
begin
select username,program,SYS_CONTEXT('USERENV','IP_ADDRESS')  
into v_username,v_program_name,v_ip
from sys.v_$session where AUDSID = SYS_CONTEXT('USERENV', 'SESSIONID');
if (upper(v_username)='TEST') then
  if (UPPER(v_program_name) = 'SQLPLUS.EXE') then
     if (v_ip = ('10.142.244.30')) then
       RAISE_APPLICATION_ERROR(-20001,'You are not allowed to connect to the database,err01');
         
    end if;
  ELSE
     RAISE_APPLICATION_ERROR(-20001,'不能使用sqlplus登?');
        
  end if;
else
   RAISE_APPLICATION_ERROR(-20001,'You are not allowed to connect to the database');
  
end if;
 
END ;
/ Oracle限制某个数据库帐号只能在特定机器上连入数据库
分享到:
Oracle SQL插入特殊字符语句
Oracle SQL插入特殊字符语句 Oracle SQL插入特殊字符语句   对于插入数据库数据的语句: INSERT INTO TESTTAB(FIELD1) VALUES('测试') 如果插入数据库的字符串中还有单引号,需要转义处理,   www.2cto.com   如插入“It's a tree.”,SQL语句如下: INSERT INTO TESTTAB(FIELD1) VALUES('It'&#...
Oracle表分区之范围分区
Oracle表分区之范围分区 Oracle表分区之范围分区   以表中的一个列或一组列的值的范围分区   语法: [sql] PARTITION BY RANGE (column_name)   (    www.2cto.com     PARTITION part1 VALUE LESS THAN(range1),     PARTITION part2 VALUE LESS THAN(range2),     ...     [PARTITION partN VALUE LESS THA...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……