读书人

数据库当配置日志功能对用户登录进行

发布时间: 2013-01-01 14:04:18 作者: rapoo

数据库应配置日志功能,对用户登录进行记录
数据库应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号、登录是否成功、登录时间以及远程登录时用户使用的IP地址。

创建ORACLE登录触发器,记录相关信息,但对IP地址的记录会有困难
1.建表LOGON_TABLE
2.建触发器
CREATE TRIGGER TRI_LOGON
AFTER LOGON ON DATABASE
BEGIN
INSERT INTO LOGON_TABLE VALUES (SYS_CONTEXT('USERENV', 'SESSION_USER'),
SYSDATE);
END;


上述这个操作,请问如何创建表LOGON_TABLE
[解决办法]
USERENV
SESSION_USER
可能是oracle关键字。换其它标识符试试
[解决办法]


C:\Users\lenovo>sqlplus test/test

SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 11月 24 22:41:21 2011

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


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

[TEST@orcl] SQL>create table LOGON_TABLE(
2 USERENV varchar2(100),
3 SESSION_USER varchar2(100)
4 );

表已创建。

[TEST@orcl] SQL>



引用:
create table LOGON_TABLE(
USERENV varchar2(100),
SESSION_USER varchar2(100)
);
提示没有足够的值!

[解决办法]
引用:
我要是想在这个触发器里增加一个IP的值,应该怎样写啊?
CREATE TRIGGER TRI_LOGON
AFTER LOGON ON DATABASE
BEGIN
INSERT INTO LOGON_TABLE
VALUES
(SYS_CONTEXT('USERENV', 'SESSION_USER'),--当前会话用户
SYS_CONTEXT('USERENV', ‘IP_ADDRESS’));--ip地址
END;

读书人网 >oracle

热点推荐