那位大侠告诉我一下,如何查看oracle登陆的ip地址,以及运行的脚本
解决方案 »
- 关于一个COUNT(*) 的问题
- oracle触发器
- 字段值格式如下(001,2|002,2|005,3),要怎样快速的找到该字段中包含值为002,2的记录,该表中的数据量较大(百万起步),除like外有没其它方法
- 关于Oracle存储过程直接调用Corba组件的设想
- 我的参数怎么没传进来?? 这么小的程序,怎么了。。。。
- 贡上100分,请各位路过的大虾请进。。。。。。。。。
- 求一个SQL语句
- 怎样在 P4(CPU)、Windows 2000 Server 下安装 Oracle 8i?
- 我有两个实例,如何备份处其中的一个
- 我知道我的写法不好。。但是人肯定比电脑聪明。。为什么电脑不听我的呀
- 请教ORACLE 9I 怎样调内存呀.急!!!!
- 关于free list wait events
从这个表里找找看,有没有你要的信息?运行的脚本在v$sql, v$sql_area之类的动态视图中,与v$session关联可以查出来
from dual;可以查看当前session的IP
from v$session x;可以看到机器名,但是ip 我没找到对应的字段
试试用触发器去记录IP地址:create table log(ip varchar2(20),user varchar2(20),time date,what varchar2(200));CREATE OR REPLACE TRIGGER TRI_TRACE
BEFORE INSERT OR DELETE OR UPDATE ON XXTABLE
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
IF UPDATING THEN
INSERT INTO LOG
VALUES
(SYS_CONTEXT('userenv', 'ip_address'),
SYS_CONTEXT('USERENV', 'SESSION_USER'),
SYSDATE,
'update xxtable,xxtable pk is ');
ELSIF INSERTING THEN
INSERT INTO LOG
VALUES
(SYS_CONTEXT('userenv', 'ip_address'),
SYS_CONTEXT('USERENV', 'SESSION_USER'),
SYSDATE,
'insert xxtable,xxtable pk is ');
ELSIF DELETING THEN
INSERT INTO LOG
VALUES
(SYS_CONTEXT('userenv', 'ip_address'),
SYS_CONTEXT('USERENV', 'SESSION_USER'),
SYSDATE,
'delete xxtable,xxtable pk is ');
END IF;
COMMIT;
EXCEPTION
WHERE OTHERS THEN
NULL;
END;
/
可恨公司竟然把这个blog给封了