- 论坛徽章:
- 0
|
修改一下,看看能不能满足你的要求:
SQL> desc tab_logon;
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
USERID VARCHAR2(20)
WHO VARCHAR2(20)
PTS VARCHAR2(30)
SERVICE_USER VARCHAR2(20)
IP VARCHAR2(20)
LOGONDATE DATE
SERVERERROR VARCHAR2(10)
CREATE or replace TRIGGER tri_logerror AFTER SERVERERROR ON DATABASE
BEGIN
IF (IS_SERVERERROR (1017)) THEN
INSERT INTO TAB_LOGON VALUES (SYS_CONTEXT('USERENV', 'SESSIONID'),SYS_CONTEXT(
'USERENV', 'SESSION_USER'),SYS_CONTEXT('USERENV', 'TERMINAL'),SYS_CONTEXT('USERE
NV', 'OS_USER'),SYS_CONTEXT('USERENV', 'IP_ADDRESS'),SYSDATE,'ORA-1017');
END IF;
END;
/
CREATE or replace TRIGGER TRI_LOGON AFTER LOGON ON DATABASE
BEGIN
INSERT INTO TAB_LOGON VALUES (SYS_CONTEXT('USERENV', 'SESSIONID'),SYS_CONTEXT(
'USERENV', 'SESSION_USER'),SYS_CONTEXT('USERENV', 'TERMINAL'),SYS_CONTEXT('USERE
NV', 'OS_USER'),SYS_CONTEXT('USERENV', 'IP_ADDRESS'),SYSDATE,'ORA-0000');
END;
/ |
|