使用Jboss和JPA(hib)配置JDBC Oracle特定属性v$session.program

46qrfjad  于 2023-01-08  发布在  Oracle
关注(0)|答案(2)|浏览(89)

我想设置v$session.program Oracle属性,以便在会话表中提供信息。我正在使用JPA和jndiXA数据源,该数据源是通过部署在Jboss的deploy文件夹中的oracle-xa-ds.xml创建的,因此我无法访问Connection的构造函数。我可以访问Connection对象,在JPA 2中使用unwrap,在JPA 1中,通过将JPA转换为Hibernate类,但是没有属性设置器(只有Client Info属性,这是启动JDBC 4.0的方式)。
因此,我的问题是,使用JPA(带Hibernate)和Jboss 4.2:

  • 是否可以在persistence.xml中配置v$session.program?
  • 是否可以在oracle-ds.xml中配置v$session.program?
  • 他们还有其他解决办法吗?

感谢您的宝贵意见和解答!

8dtrkrch

8dtrkrch1#

我今天遇到了同样的问题,经过大量的摆弄和阅读文档,终于我有了Eureka 时刻:
添加以下参数:

<xa-datasource-property name="connectionProperties">v$session.program=YourUniqueName</xa-datasource-property>

就这样。

ct3nt3jp

ct3nt3jp2#

我敢肯定这一定在某个地方有文档记录,但以下是我们可以在JBoss wiki中找到的内容:
∮ ∮ ∮ ∮

JBoss版本:JBoss 4.0.3 SP1,Oracle数据库版本:10克

为了能够区分Oracle服务器端上由不同JBoss示例创建的JDBC连接,Oracle的PROGRAM连接属性可以在Oracle特定JDBC数据源配置文件中使用以下标记进行设置:

<connection-property name="v$session.program">ADistinguishedNameForPROGRAMProperty</connection-property>

...
<connection-url>AConnectionURL</connection-url>
<connection-property name="v$session.program">ADistinguishedNameForPROGRAMProperty</connection-property>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
...

这样,DBA就可以在以下方面具有适当的粒度:

  • AWR
  • v $会话视图
  • 正在检查/评估PROGRAM连接属性的其他工具

相关问题