这里我们要用到的是top命令
[root@bi137 ~]# top -ci
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
24427 oracle 20 0 64.3g 224m 181m R 63.8 0.2 12:26.82 ora_dw00_orcl
这里注意进程 ora_dw00_orcl
– 根据系统id ,直接定位到语句
SELECT sql_text,
sql_fulltext,
FIRST_LOAD_TIME,
LAST_LOAD_TIME
FROM v$sql
WHERE sql_id = (SELECT sql_id
FROM v$session
WHERE paddr = (SELECT addr
FROM v$process
WHERE spid = 24427))
输出是:
BEGIN
SYS.KUPW$WORKER.MAIN('SYS_EXPORT_TABLE_01', 'EDW', 0);
END;
系统触发了一个存储过程,并且调用的是db_write进程,其实如果数据泵加上parallel参数的话
我们可以发现会有很多类似ora_dw00_orcl的进程出来。
这里是一个小技巧,当然我们也可以用top命令捕捉活动进程,再利用我上面提供的sql脚本捕捉到相应的语句。
对于工程师来说,封装过深的产品是不好的。一个好的超级系统,就算不提供源码,也要提供大量的接口和文档,让我们一探内核的究竟。可跟踪定位,可配置修改。
我认为oracle是Linux系统中很酷的产品!
如果作者的文档有帮助,您可以选择赞赏