ITPub博客

首页 > 数据库 > Oracle > 限制用户

限制用户

Oracle 作者:zhengbao_jun 时间:2014-12-24 14:23:41 0 删除 编辑

原文地址:如何限制用户在某个时间段内禁止登录数据库 作者:lsq_008


[oracle@rhel ~]$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.5.0 - Production on Sat Feb 8 12:51:15 2014


Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> create user lsq identified by lsq;


User created.


SQL> grant connect, resource to lsq;


Grant succeeded.


SQL> conn lsq/lsq
Connected.
SQL> disc
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> conn / as sysdba
Connected.
SQL> CREATE OR REPLACE TRIGGER limit_connection
  2       AFTER LOGON ON DATABASE
  3    BEGIN
  4       IF USER = 'LSQ' THEN
  5          IF to_number(TO_CHAR (SYSDATE, 'hh24')) BETWEEN 8 AND 22
  6          THEN
  7             RAISE_APPLICATION_ERROR(-20998,' Dear user '||USER||'! You can''t login between 08 and 22');
  8          END IF;
  9       END IF;
 10   END limit_connection;
 11   / 


Trigger created.


SQL> select to_char(sysdate,'hh24') from dual;


TO
--
12


SQL> conn lsq/lsq
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-20998:  Dear user LSQ! You can't login between 08 and 22
ORA-06512: at line 5




Warning: You are no longer connected to ORACLE

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/235507/viewspace-1378499/,如需转载,请注明出处,否则将追究法律责任。

上一篇: orale d
下一篇: 监控索
请登录后发表评论 登录
全部评论

注册时间:2008-08-08

  • 博文量
    209
  • 访问量
    864816