java - 剖析 Oracle 10g 数据库 JVM

标签 java database oracle stored-procedures profiling

我们在 Oracle 10g 数据库上使用 Java 存储过程。我想使用 JProfiler 等 Java 分析工具分析 Java 存储过程。我该怎么做?

最佳答案

需要在调用java存储过程的 session 中调用dbms_java.start_jmx_agent()。这允许您使用 jconsole 和 jvisualvm 连接到 session 。

这在 Oracle® 数据库 Java 开发人员指南 11g 第 2 版 (11.2) -> Oracle 数据库上的 Java 应用程序 -> 使用 JMX 管理您的应用程序中进行了介绍。

来自甲骨文论坛
http://cn.forums.oracle.com/forums/thread.jspa?threadID=2202067

不幸的是,这是 11g 中的新功能。

在 session 中启用和启动 JMX

Oracle 数据库 11g 第 1 版 (11.1) 引入了一个新角色 JMXSERVER 和一个新过程 dbms_java.start_jmx_agent 以支持数据库中的 JMX。 JMXSERVER 角色被授予特定的 Java 权限,使您能够在 session 中启动和运行 MBeanServer 和 JMX 代理。过程 dbms_java.start_jmx_agent 在特定 session 中启动代理,该 session 通常在 session 期间保持 Activity 状态。执行以下操作以启用和启动 JMX:

请参阅此处获取官方 oracle 文档。 http://download.oracle.com/docs/cd/E14072_01/java.112/e10588/chtwo.htm#CHDFAJIG

关于java - 剖析 Oracle 10g 数据库 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078102/

相关文章:

java - Berkeley DB(Java 版)支持数据分区吗?

sql - 检查 Oracle 中是否存在记录的最有效方法是什么?

sql - 我们可以用行号替换列的所有值吗?

java - Nashorn 在 JDK 9 和 JDK 10 上的性能

java - Jbehave:我可以获得一个运行 Jbehave 的示例,对此我有几个问题。

database - 不同类型的数据库索引?

linux - 如何更改weblogic安装目录?

java - IntelliJ - 无法在 64 位 JVM 上加载 32 位 SWT 库

java - 将选项 Pane 放入字符串变量中

sql - 在数据建模中,术语 'cardinality' 与 'relation' 有何不同?