如何检查 Oracle 中的活动连接?
How can I check active connection in Oracle?
我们在休眠中使用了连接池,我们想跟踪池中的活动连接。是否可以使用查询或任何数据库工具找出答案?
可以查询v$session
select * from v$session where USERNAME='<username configured in c3p0>'
您可以找到有关 v$session 列 here 的更多信息,该视图有一个活动列,指示某些 sql 是否正在执行。
您需要一些明确的权限才能对 v$session 发出类似
的查询
GRANT SELECT ON v_$session TO <user who monitor>;
您可以通过 JMX 监控 c3p0,或者编写您自己的代码通过 PooledDataSource 接口来实现。
你要观察的属性是numBusyConnectionsAllUsers
或numBusyConnectionsDefaultUser
(无论是通过JMX还是直接访问PooledDataSource
)。这两个值在最常见的情况是,您只能通过数据源中配置的身份验证信息访问连接。如果您使用多重身份验证,那么这两个值将不同(您可能对方法 getNumBusyConnections(username, password)
.[=15= 感兴趣) ]
JMX 监控既有趣又简单!
我们在休眠中使用了连接池,我们想跟踪池中的活动连接。是否可以使用查询或任何数据库工具找出答案?
可以查询v$session
select * from v$session where USERNAME='<username configured in c3p0>'
您可以找到有关 v$session 列 here 的更多信息,该视图有一个活动列,指示某些 sql 是否正在执行。
您需要一些明确的权限才能对 v$session 发出类似
的查询GRANT SELECT ON v_$session TO <user who monitor>;
您可以通过 JMX 监控 c3p0,或者编写您自己的代码通过 PooledDataSource 接口来实现。
你要观察的属性是numBusyConnectionsAllUsers
或numBusyConnectionsDefaultUser
(无论是通过JMX还是直接访问PooledDataSource
)。这两个值在最常见的情况是,您只能通过数据源中配置的身份验证信息访问连接。如果您使用多重身份验证,那么这两个值将不同(您可能对方法 getNumBusyConnections(username, password)
.[=15= 感兴趣) ]
JMX 监控既有趣又简单!