oracle ~ 查找表的操作记录

oracle ~ 查找表的操作记录

1.查找操作表的历史纪录

select 
	*
from v$sqlarea a 
where a.SQL_TEXT like '%表名称%' 
order by first_load_time desc;

2.从上面的记录中找到update语句对应的sql_id

select 
	* 
from v$sqltext a,v$sqlarea b 
where a.SQL_ID=b.SQL_ID and b.SQL_ID in('23bpngg54gf2j') 
order by b.LAST_ACTIVE_TIME desc;

3.从上面的记录中找到最新的sql操作记录,然后找到用户名和主机

select 
    osuser as 客户端操作系统的用户名,
    TERMINAL as 客户端运行的终端名,
    MACHINE as 客户端的机器名,
    PROGRAM as 客户端执行的程序名,
    USERNAME,
    LAST_ACTIVE_TIME,
    logon_time
from sys.v_$session l,sys.v_$sql s 
where s.SQL_ID='b5sgbqgwjh39g' and l.USERNAME is not null
order by logon_time desc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值