谁,什么时候,运行了什么样的SQL语句 能查到谁,什么时候,运行了什么样的SQL语句吗?我的数据库莫名其妙的被修改的很多数据。能查那个IP,在那个时间段 做了什么样的操作吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT USERNAME, SYSDATE, SYS_CONTEXT('USERENV', 'IP_ADDRESS') FROM V$SESSION 尝试通过日志去看看,具体怎么搞,不清楚.SQL SERVER是通过Log Explorer 这个能查到谁什么时候Logon的。 SQL_ADDRESS 字段是干什么用的?能查到里边某个人做了什么样的操作能查吗?或者不管是谁,在某个时间段内转了什么样的SQL语句能查到吗?数据库是 Oracle 以后可以用oracle提供的审计(auditing)功能来记录这些信息。 Oracle的SYS_CONTEXT使用列表: SELECT SYS_CONTEXT ('USERENV', 'TERMINAL') terminal, SYS_CONTEXT ('USERENV', 'LANGUAGE') LANGUAGE, SYS_CONTEXT ('USERENV', 'SESSIONID') sessionid, SYS_CONTEXT ('USERENV', 'INSTANCE') INSTANCE, SYS_CONTEXT ('USERENV', 'ENTRYID') entryid, SYS_CONTEXT ('USERENV', 'ISDBA') isdba, SYS_CONTEXT ('USERENV', 'NLS_TERRITORY') nls_territory, SYS_CONTEXT ('USERENV', 'NLS_CURRENCY') nls_currency, SYS_CONTEXT ('USERENV', 'NLS_CALENDAR') nls_calendar, SYS_CONTEXT ('USERENV', 'NLS_DATE_FORMAT') nls_date_format, SYS_CONTEXT ('USERENV', 'NLS_DATE_LANGUAGE') nls_date_language, SYS_CONTEXT ('USERENV', 'NLS_SORT') nls_sort, SYS_CONTEXT ('USERENV', 'CURRENT_USER') CURRENT_USER, SYS_CONTEXT ('USERENV', 'CURRENT_USERID') current_userid, SYS_CONTEXT ('USERENV', 'SESSION_USER') session_user, SYS_CONTEXT ('USERENV', 'SESSION_USERID') session_userid, SYS_CONTEXT ('USERENV', 'PROXY_USER') proxy_user, SYS_CONTEXT ('USERENV', 'PROXY_USERID') proxy_userid, SYS_CONTEXT ('USERENV', 'DB_DOMAIN') db_domain, SYS_CONTEXT ('USERENV', 'DB_NAME') db_name, SYS_CONTEXT ('USERENV', 'HOST') HOST, SYS_CONTEXT ('USERENV', 'OS_USER') os_user, SYS_CONTEXT ('USERENV', 'EXTERNAL_NAME') external_name, SYS_CONTEXT ('USERENV', 'IP_ADDRESS') ip_address, SYS_CONTEXT ('USERENV', 'NETWORK_PROTOCOL') network_protocol, SYS_CONTEXT ('USERENV', 'BG_JOB_ID') bg_job_id, SYS_CONTEXT ('USERENV', 'FG_JOB_ID') fg_job_id, SYS_CONTEXT ('USERENV', 'AUTHENTICATION_TYPE') authentication_type, SYS_CONTEXT ('USERENV', 'AUTHENTICATION_DATA') authentication_data FROM DUAL 参数TIMED_STATISTICS = TRUE设置MAX_DUMP_FILE_SIZE ,oracle 9i的是设置的unlimite,就不用管它了1)全局启动Sql_Tracle: 参数文件指定: sql_trace=true [注意:]性能消耗多,建议不要这样用2)跟踪当前Sessionsql>alter session set sql_trace=true;sql>alter session set sql_trace=false;[注意:]意义不大!!3)跟踪其他用户进程:--查看当前会话连接的情况Sql>select sid,serial#,username from v$session where username is not null; sid serial# userName------ ------- -------------9 3 sys13 27 hrmis--指定跟踪13 27 hrmis进程exec dbms_system.set_sql_trace_in_session(13,27,true);--关闭跟踪13 27 hrmis进程exec dbms_system.set_sql_trace_in_session(13,27,false);>跟踪的Sql语句就会存到跟踪文件里面 SELECT USERNAME, SYSDATE, SYS_CONTEXT('USERENV', 'IP_ADDRESS') FROM V$SESSION 学习 存储过程创建 oracle PL/SQL 问题 powerdesigner 的cdm\pdm? oracel中用什么方法实现快速查询大量记录 关于数据库存储附件的问题,请各位大虾帮忙啊。 请问哪里有Oracle 下载?? 求触发器的源代码 100分的问题, 连接sqlplus 成功,连接 DBArtisan 错误.错误内容附上. 关于ORACLE和window2000的连接问题 如何快速删除oralce中用户建立的表的所有记录?有好几百个用户表 急,oracle的记录被删除,什么愎复 请教高手帮忙把一条sqlserver的SQL转换成ORACLE的SQL
FROM V$SESSION
能查到里边某个人做了什么样的操作能查吗?
或者不管是谁,在某个时间段内转了什么样的SQL语句能查到吗?
数据库是 Oracle
SELECT SYS_CONTEXT ('USERENV', 'TERMINAL') terminal,
SYS_CONTEXT ('USERENV', 'LANGUAGE') LANGUAGE,
SYS_CONTEXT ('USERENV', 'SESSIONID') sessionid,
SYS_CONTEXT ('USERENV', 'INSTANCE') INSTANCE,
SYS_CONTEXT ('USERENV', 'ENTRYID') entryid,
SYS_CONTEXT ('USERENV', 'ISDBA') isdba,
SYS_CONTEXT ('USERENV', 'NLS_TERRITORY') nls_territory,
SYS_CONTEXT ('USERENV', 'NLS_CURRENCY') nls_currency,
SYS_CONTEXT ('USERENV', 'NLS_CALENDAR') nls_calendar,
SYS_CONTEXT ('USERENV', 'NLS_DATE_FORMAT') nls_date_format,
SYS_CONTEXT ('USERENV', 'NLS_DATE_LANGUAGE') nls_date_language,
SYS_CONTEXT ('USERENV', 'NLS_SORT') nls_sort,
SYS_CONTEXT ('USERENV', 'CURRENT_USER') CURRENT_USER,
SYS_CONTEXT ('USERENV', 'CURRENT_USERID') current_userid,
SYS_CONTEXT ('USERENV', 'SESSION_USER') session_user,
SYS_CONTEXT ('USERENV', 'SESSION_USERID') session_userid,
SYS_CONTEXT ('USERENV', 'PROXY_USER') proxy_user,
SYS_CONTEXT ('USERENV', 'PROXY_USERID') proxy_userid,
SYS_CONTEXT ('USERENV', 'DB_DOMAIN') db_domain,
SYS_CONTEXT ('USERENV', 'DB_NAME') db_name,
SYS_CONTEXT ('USERENV', 'HOST') HOST,
SYS_CONTEXT ('USERENV', 'OS_USER') os_user,
SYS_CONTEXT ('USERENV', 'EXTERNAL_NAME') external_name,
SYS_CONTEXT ('USERENV', 'IP_ADDRESS') ip_address,
SYS_CONTEXT ('USERENV', 'NETWORK_PROTOCOL') network_protocol,
SYS_CONTEXT ('USERENV', 'BG_JOB_ID') bg_job_id,
SYS_CONTEXT ('USERENV', 'FG_JOB_ID') fg_job_id,
SYS_CONTEXT ('USERENV', 'AUTHENTICATION_TYPE') authentication_type,
SYS_CONTEXT ('USERENV', 'AUTHENTICATION_DATA') authentication_data
FROM DUAL
设置MAX_DUMP_FILE_SIZE ,oracle 9i的是设置的unlimite,就不用管它了
1)全局启动Sql_Tracle:
参数文件指定: sql_trace=true
[注意:]性能消耗多,建议不要这样用2)跟踪当前Session
sql>alter session set sql_trace=true;
sql>alter session set sql_trace=false;
[注意:]意义不大!!3)跟踪其他用户进程:
--查看当前会话连接的情况
Sql>select sid,serial#,username from v$session where username is not null;
sid serial# userName
------ ------- -------------
9 3 sys
13 27 hrmis--指定跟踪13 27 hrmis进程
exec dbms_system.set_sql_trace_in_session(13,27,true);--关闭跟踪13 27 hrmis进程
exec dbms_system.set_sql_trace_in_session(13,27,false);>跟踪的Sql语句就会存到跟踪文件里面
FROM V$SESSION
学习