oracle-session-统计某时间段连接数据库的客户端信息-非精准

简介:

统计某时间段连接数据库的客户端信息-非精准

适用于:迁移数据库同时ip变更时,统计原数据库的连接信息和dblink连接信息,以方便迁移后,修改相关dblink及申请安全开通网络权限
DBA_HIST_ACTIVE_SESS_HISTORY 可换成 v$active_session_history

查看统计的时间范围

set line 300
SELECT MIN (sample_time), MAX (sample_time) FROM dba_hist_active_sess_history;

MIN(SAMPLE_TIME)                                   MAX(SAMPLE_TIME)                                  
-------------------------------------------------- --------------------------------------------------
2022/2/23 1:59:58.022                              2022/3/4 15:59:54.789                             
已选择 1 行。

统计客户端连接的用户名,机器名,采样的次数(可指定区间,是否排除dblink)

--查看job连接

select * from DBA_HIST_ACTIVE_SESS_HISTORY where user_id=0 and session_type='FOREGROUND'  and program like 'oracle@%J%'   and machine  IN (SELECT host_name FROM v$instance) ;

--查看dblink连接

select  *   FROM DBA_HIST_ACTIVE_SESS_HISTORY where  program like 'oracle@%'   and  machine not IN (SELECT host_name FROM v$instance);   --dblink

1. 只统计非dblink,非job,非后台进程的连接

set line 300 pagesize 4000
  SELECT u.username,
         d.user_id,
         d.machine,
         COUNT (*)
    FROM DBA_HIST_ACTIVE_SESS_HISTORY d, dba_users u
   WHERE     d.user_id = u.user_id
         AND u.username NOT IN ('VIVO_DB_MONITOR')
         and d.session_type='FOREGROUND'
         AND d.user_id > 0   
         and  machine NOT IN (SELECT host_name FROM v$instance)  
         and  d.program not like 'oracle@%J%' ----排除job连接
         AND  d.program  not LIKE 'oracle@%'   ----排除dblink连接
         --AND a.sample_time >TO_DATE ('2022/01/01 09:29:01', 'yyyy/mm/dd hh24:mi:ss') AND a.sample_time < TO_DATE ('2021/12/14 09:30:01', 'yyyy/mm/dd hh24:mi:ss') ----指定区间
GROUP BY u.username, d.user_id, d.machine
ORDER BY 4 DESC ;


USERNAME                          USER_ID MACHINE                                                            COUNT(*)
------------------------------ ---------- ---------------------------------------------------------------- ----------
abc                                    97 abc                                                                 21444

2. 只统计dblink连接

set line 300 pagesize 4000
  SELECT u.username,
         d.user_id,
         d.machine,
         COUNT (*)
    FROM DBA_HIST_ACTIVE_SESS_HISTORY d, dba_users u
   WHERE     d.user_id = u.user_id
         AND u.username NOT IN ('VIVO_DB_MONITOR')
         and d.session_type='FOREGROUND'
         AND d.user_id > 0   
         and  machine NOT IN (SELECT host_name FROM v$instance)  
         and  d.program not like 'oracle@%J%' ----排除job
         AND  d.program  LIKE 'oracle@%'   ----只统计dblink连接
         --AND a.sample_time >TO_DATE ('2022/01/01 09:29:01', 'yyyy/mm/dd hh24:mi:ss') AND a.sample_time < TO_DATE ('2021/12/14 09:30:01', 'yyyy/mm/dd hh24:mi:ss') ----指定区间
GROUP BY u.username, d.user_id, d.machine
ORDER BY 4 DESC ;



USERNAME                          USER_ID MACHINE                                                            COUNT(*)
------------------------------ ---------- ---------------------------------------------------------------- ----------
abc                                    97  abc                                                                 21444
目录
相关文章
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
40 7
|
1月前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
28 6
|
1月前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
22 5
|
29天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
45 3
|
29天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
28 1
|
29天前
|
Java 数据库连接 数据库
Java连接池在数据库性能优化中的重要作用。连接池通过预先创建和管理数据库连接,避免了频繁创建和关闭连接的开销
本文深入探讨了Java连接池在数据库性能优化中的重要作用。连接池通过预先创建和管理数据库连接,避免了频繁创建和关闭连接的开销,显著提升了系统的响应速度和吞吐量。文章介绍了连接池的工作原理,并以HikariCP为例,展示了如何在Java应用中使用连接池。通过合理配置和优化,连接池技术能够有效提升应用性能。
44 1
|
1月前
|
SQL 关系型数据库 数据库连接
"Nacos 2.1.0版本数据库配置写入难题破解攻略:一步步教你排查连接、权限和配置问题,重启服务轻松解决!"
【10月更文挑战第23天】在使用Nacos 2.1.0版本时,可能会遇到无法将配置信息写入数据库的问题。本文将引导你逐步解决这一问题,包括检查数据库连接、用户权限、Nacos配置文件,并提供示例代码和详细步骤。通过这些方法,你可以有效解决配置写入失败的问题。
57 0
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
175 64
|
2月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
2月前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
32 1

推荐镜像

更多