【发布时间】:2020-11-27 17:37:21
【问题描述】:
我的环境:
- Oracle 数据库 12.2
- Oracle Application Express 5.1.4
我在用户使用 SQL Developer 运行查询时遇到了很多问题,我几天前已经在这个问题中描述了这个问题
Oracle Parallel Query behaviour with IDE tools as SQL Developer or Toad
作为中间解决方案,我想知道 Oracle 是如何在 Oracle Live SQL 中构建 SQL 工作表的。你可以看看这里
我的想法是构建一个可能提供类似功能的小型 apex 应用程序,从而用户可以访问某种 SQL 编辑器并运行查询。使用这种方法,我可以通过 Tomcat 使用 ORDS 的 Java 池来处理重用现有会话并关闭无用的会话,从而避免我当前的问题,即当查询协调器在 SQL Developer 中处于非活动状态时,有如此多的活动并行从属处于活动状态.我知道,使用 Java 池,当父进程处于非活动状态时,我不会遇到从属处于活动状态的问题。
我知道我可能会创建一个只能访问 SQL Workshop 的用户,将其从访问工作区的其他组件中删除,但这意味着用户必须有权访问工作区本身,而我不能这样做在生产中,除非我找不到任何其他方式。
有谁知道我可以在应用程序中拥有相同内置功能的任何插件或任何其他方式?
谢谢
【问题讨论】:
-
您的问题不在于工具或数据库本身,而在于您的用户打开查询并没有获取所有数据,因此进程在服务器上处于空闲/等待状态。你考虑过资源消费群体吗?如果使用 sqldev 之类的查询工具,您可以设置空闲时间以丢弃他们的会话……或者防止他们消耗超过 X 个并行会话。
-
评论二,你不需要构建任何东西,我们已经做了,它被称为 SQL Developer Web,用完了 ORDS,就像 APEX 中的 SQL Workshop,只是更完整/更现代。用完的查询是分页的,所以即使它们确实选择 * from,我们也只能真正得到前 25 条记录,而且我们已经完成了——服务器上没有任何事情需要担心
-
@thatjeffsmith,关于你的第 1 点,我确实尝试过资源管理器,但最后我遇到的问题比它可以解决的问题还多。我现在知道为什么这些奴隶仍然处于活动状态,所以我正在寻找一种解决方案,以避免在生产中使用 SQL Developer 或任何其他 IDE
-
@thatjeffsmith,关于你的第二点,我知道 SQL Developer Web,但据我所知,它与 APEX 5.1.4 不兼容,甚至更多,我虽然它只可用甲骨文云。你知道吗?可以用 Apex 5.1 和 ORDS 3.0.2 安装在 12.2 上吗?
-
确保它与 apex 5.1 兼容,并且在 prem 上可用...ords 302 不适合任何环境...立即升级您的 ords
标签: oracle oracle-apex oracle12c oracle-apex-5.1