用oracle的logminer分析日志文件
但分析出来的只是一个大概
但分析出来的只是一个大概
解决方案 »
- 怎么转化SQL里的 syscolumns
- Oracle11g, 在官网下载的SqlDeveloper2.1为何无法新建连接?
- 求一条SQL语句!!!谢谢大家!!!!!!!!!!!!!!!!
- [help]SQL
- 分数不多,在于知识 about create sequence !!!
- 怎样可以使表名的长度超过30?
- Redhat9.0下安装oracle9i(9.2.0)的问题.
- 在一台服务器上能同时装Oracle9iAS的infrastructure和portal吗?机器重启后如何重起服务?急
- 回滚段到达最大值。offline回滚段,可以完成吗?
- 求各位大神帮我看下这条SQL?
- 语句的改进问题!
- toad注册相关
where upper(sql_redo) like ‘%CREATE%‘;
TIMESTAMP
-------------------
SQL_REDO
-------------------------
2003-09-21 10:01:55
create table t (c1 number);
用以下的方式可以監控登入登出的用戶:
創建如下的兩張表:
create table login_log -- 登入登出信息表
(
session_id int not null, -- sessionid
login_on_time date, -- 登入時間
login_off_time date, -- 登出時間
user_in_db varchar2(30), -- 登入的db user
machine varchar2(20), -- 機器名
ip_address varchar2(20), -- ip地址
run_program varchar2(20) -- 以何程序登入
);create table allow_user -- 網域用戶表
(
ip_address varchar2(20), -- ip地址
login_user_name nvarchar2(20) -- 操作者姓名
);創建如下的兩個觸發器:
create or replace trigger login_on_info -- 紀錄登入信息的觸發器
after logon on database
Begin
insert into login_log(session_id,login_on_time,login_off_time,user_in_db,machine,ip_address,run_program)
select AUDSID,sysdate,null,sys.login_user,machine,SYS_CONTEXT('USERENV','IP_ADDRESS'),program
from v$session where AUDSID = USERENV('SESSIONID'); --當前SESSION
END;create or replace trigger login_off_info -- 紀錄登出信息的觸發器
before logoff on database
Begin
update login_log set login_off_time = sysdate
where session_id = USERENV('SESSIONID'); --當前SESSION
exception
when others then
null;
END;方法二:
用如下的方式可以審計執行drop動作的事件:
/**
* drop語句的審計日誌表
*/
create table drop_log
(
session_id int not null, -- sessionid
drop_time date, -- drop的時間
ip_address varchar2(20), -- ip地址
object_owner varchar2(30), -- 對象的擁有者
object_name varchar2(30), -- 對象名稱
object_type varchar2(20), -- 對象類型
drop_by_user varchar2(30) -- 執行drop語句的用戶
);create or replace trigger drop_info
after drop on mfg0513user.schema -- 在mfg0513user用戶上創建審計drop的觸發器
begin
insert into drop_log
(session_id,
drop_time,
ip_address,
object_owner,
object_name,
object_type,
drop_by_user)
values(USERENV('SESSIONID'),
sysdate,
SYS_CONTEXT('USERENV','IP_ADDRESS'),
sys.dictionary_obj_owner,
sys.dictionary_obj_name,
sys.dictionary_obj_type,
sys.login_user);
end;
V_ErrorMsg:=SQLERRM;
V_CurrentUser:=USER;
V_Info:='ERROR:' || TO_CHAR(SYSDATE) || ' BY DATABASE USER' || V_CurrentUser; INSERT INTO Log_Table(cede,message,info) values(V_ErrorCode,V_ErrorMsg,V_Info);