[Oracle工程师手记]如何找到 RMAN 的所有 session

2021/4/8 19:30:23

本文主要是介绍[Oracle工程师手记]如何找到 RMAN 的所有 session,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

有时候,为了监控了解 RMAN 的运行状况,我们需要所有的 RMAN 的 session 信息,如何找到这些 session 呢,可以利用 v$process 以及 v$session 中的一些如 client_info 、module_name、program 之类,来进行查找。

 

set linesize 300
col spid format 99999
col serial# format 99999
col spid format a10
col event format a20
col p1 format 999999999999
col p2 format 9999999
col p3 format 9999999
col blocker format 9999999
col client format a12

SELECT s.sid, s.serial#,spid, s.event, s.p1,s.p2,s.p3, s.blocking_session as blocker,client_info as client
 FROM v$process p, v$session s
 WHERE p.addr = s.paddr
 AND client_info LIKE '%rman%';

 
结果的例子:

      SID SERIAL# SPID       EVENT                           P1       P2       P3  BLOCKER CLIENT
---------- ------- ---------- -------------------- ------------- -------- -------- -------- ------------
       33    2807 16514      SQL*Net message from    1650815232        1        0          rman channel
                              client                                                       =ORA_DISK_1

 

结果里可能会有很多条记录,代表了执行 rman 的有复数个 session 。

上面的查询,我利用了 clinet_info,在不同版本的数据库中,rman session 的 v$process 、v$session 的信息也不完全一样。为了稳妥起见,也要查一下 program like '%rman%'  、module_name like '%rman%' 之类的session。



这篇关于[Oracle工程师手记]如何找到 RMAN 的所有 session的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程