oracle如何记录用户的登陆信息
oracle如何记录用户的登陆信息
可以做一个触发器
用以下的方式可以监控登入登出的用戶:
创建一张记录登录TABLE,如下:
CREATE TABLE SYSTEM.LOGIN_LOG
(
SESSION_ID NUMBER(8,0) NOT NULL,
LOGIN_ON_TIME DATE,
LOGIN_OFF_TIME DATE,
USER_IN_DB VARCHAR2(50),
MACHINE VARCHAR2(50),
IP_ADDRESS VARCHAR2(20),
RUN_PROGRAM VARCHAR2(50)
)
PCTFREE 10
PCTUSED 40
MAXTRANS 255
TABLESPACE SYSTEM
STORAGE(INITIAL 64K MINEXTENTS 1 MAXEXTENTS 2147483645 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
NOCACHE
LOGGING
/
COMMENT ON TABLE SYSTEM.LOGIN_LOG IS '登录日志'
/
COMMENT ON COLUMN SYSTEM.LOGIN_LOG.SESSION_ID IS 'sessionid'
/
COMMENT ON COLUMN SYSTEM.LOGIN_LOG.LOGIN_ON_TIME IS '登录时间'
/
COMMENT ON COLUMN SYSTEM.LOGIN_LOG.LOGIN_OFF_TIME IS '登出时间'
/
COMMENT ON COLUMN SYSTEM.LOGIN_LOG.USER_IN_DB IS '登录的DB User'
/
COMMENT ON COLUMN SYSTEM.LOGIN_LOG.MACHINE IS '机器名'
/
COMMENT ON COLUMN SYSTEM.LOGIN_LOG.IP_ADDRESS IS 'IP地址'
/
COMMENT ON COLUMN SYSTEM.LOGIN_LOG.RUN_PROGRAM IS '接入程序'
/
再创建
相关文档:
触发器是指存放在数据库中,并被隐藏执行的存储过程。在Oracle8i之前,只允许基于表或视图的DML操作(insert,update,delete)建立触发器,在oracle8i之后,不仅支持DML操作,也允许基于系统事件(启动数据库,关闭数据库,登录)和DDL操作建立触发器。
一、触发器简介
触发器是指隐含执行的存储过程,它可以使 ......
在前面学习Oracle数据库基础架构时,已经了解了Oracle的存储结构,逻辑上,Oracle的数据存放在tablespaces中,物理上存放在datafiles中。一个tablespace只能属于一个数据库(一个数据库可包括多个tablespace),包括了1个或多个数据文件。Tablespace可进一步分为segments、extents和blocks。一个datafile只属于一个数据库的一 ......
将查询的结果生成到文件中:
set echo on --是否显示执行的命令内容
set feedback off --是否显示 * rows selected
set heading off --是否显示字段的名称
set verify off --是否显示替代变量被替代前后的语句。fil
set trimspool off --去字段空格
set pagesize 1000 ......
查看所有表空间使用情况
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE ......