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
目录
相关文章
|
12天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
23 7
|
12天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
16 6
|
12天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
16 5
|
12天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
181 1
|
19天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
21天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
21 1
|
3天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
16 4
|
1天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
7 1
|
27天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
58 3
Mysql(4)—数据库索引
|
12天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
52 2

推荐镜像

更多