Limit User Connection Based on Time Interval

.

As we don't want the database user, which has reporting jobs, to connect the database at working hours, following trigger was used to apply this restriction.

CREATE OR REPLACE TRIGGER SYS.DENY_LOGIN
AFTER LOGON
ON DATABASE
BEGIN
IF sys_context('USERENV', 'SESSION_USER') = 'REPORT_USER' THEN
IF to_char(SYSDATE, 'hh24') BETWEEN 08 AND 22 THEN
raise_application_error(-20001,
'Sorry, it is not permitted to logon to the DB at this time as this user');
END IF;
END IF;
END deny_login;
/

0 comments: