问题标签 [oracle11g]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1215 浏览

sql - 在 Oracle 11g 中自动识别问题查询

在我们的测试平台中,许多测试套件将连续运行(无人值守),生成报告供以后使用。我想在这些报告中包含有待进一步调查的查询,以及证明它们包含在该列表中的数据。我们应该能够将任何以这种方式识别的查询与将其暴露为关注点的测试套件相关联。

当我们使用 SQL Server 时,这相对简单——调用 DBCC FREEPROCCACHE 在套件开始之前清除所有计数器,然后在测试结束时我们对 sys.dm_exec_query_stats 运行查询,这使我们可以访问执行计数和最小值每个缓存查询计划的 /max/total time(s),带有可用于检索参数化 SQL 语句(我们在 mssql 实例中使用 FORCED 参数化)和查询计划的挂钩。

参考:http: //msdn.microsoft.com/en-us/library/ms189741%28SQL.90%29.aspx

我的问题:当我的目标应用程序已连接到 Oracle 11g 时,如何实现此近似值?到目前为止,我的阅读表明我所追求的一切都可以通过 AWR 获得,并且应该可以直接访问支持视图,但我无法自己关闭这个圈子。

0 投票
2 回答
1127 浏览

sql - ORA-00942 故障排除

昨晚在进行自动化测试时,我的 20 个工作线程中的一个发生了故障;应用程序正在尝试插入。Springframework 报告 ORA-00942:表或视图不存在。

通过企业管理器连接数据库(11.1.0.6.0),我拉出一个SQL工作表并查询表,发现(a)该表现在存在(b)应该插入的行丢失了(c )该线程先前插入的行存在(d)该表在时间错误之前和之后都有行。

对于一个很少有 oracle 经验的用户,我如何验证错误是否源自此数据库服务器,以及如何从那里将错误追溯到根本原因?

0 投票
1 回答
1564 浏览

vb.net - TransactionScope 和错误:ORA-02049

我有以下例程:

偶尔对我们的生产和测试 Oracle 11g 数据库运行它(或者如果有模式,我还没有找到它)会生成 Oracle 错误:ORA-02049:超时:分布式事务等待锁定

由于这是针对测试数据库运行的唯一进程,因此不同用户竞争锁定应该没有任何问题。

任何想法可能导致此错误?

提前致谢。

0 投票
6 回答
296031 浏览

sql - 如何获取 Oracle 11g 中两个日期之间的天数?

我试图在 Oracle 11g 中查找两个日期之间的整数天数。

我可以通过这样做来接近

但这会返回一个间隔,我还没有成功地将它转换为整数。

编辑:显然在 10g 中,这会将天数作为整数返回。

0 投票
4 回答
1484 浏览

sql - 你如何将文字放入基于哪个表被连接以创建行的 sql 结果集的结果中?

我有 3 个表,其中一个代表“超类型”,带有一个 ID 列。另外两个表都是子类型,一个 ID 列是超类型表的外键,加上一个特定于子类型的列。

我想要一个返回所有数据的查询,以及一个我可以用作鉴别器的列,它告诉我该行来自哪个表。

因此,例如,我该如何修改:

这给了我这个:

进入将添加带有一些硬编码文字值的鉴别器列的东西,如下所示:

我不允许以任何方式修改数据模型。事后我也无法通过以编程方式测试 NULLS 来进行任何后处理。我需要按原样处理表格,并生成上面显示的确切结果集。我正在使用 Oracle 11g,如果这对答案有任何影响。

0 投票
1 回答
704 浏览

sql - PL/SQL 选择数据的分区窗口

在此处使用 Oracle 11g。

我试图弄清楚如何针对下面的示例表编写特定查询:

这是我希望查询执行的伪 PL/SQL:

我想获取下一组 ID,TYPE,其状态为 NEW,按优先级和日期排序。

在上述情况下,语句应该返回1 Q3 Q,但不能同时返回,因为它们具有相同的优先级和日期。如果 3 Q 设置为 STATUS='DONE',则查询应返回 1 Q。

对于第二步,我将把这些数据重新加入到表中,以获取我想要处理的集合的行(例如:1 Q)。这不必是一个两步的过程。如果我可以在没有理想连接的情况下获取要处理的行集。

我希望我只是错过了一些非常简单的东西,但如果需要,我愿意使用分析函数进行分区。

0 投票
1 回答
257 浏览

oracle11g - 如何告诉 SQLexec 不要换行?

我正在使用 Oracle 11g。还使用 spool 命令将查询的输出获取到文件。问题是 sqlexec 正在包装字符并使我的生活变得悲惨。现在在正常情况下这可能没问题,但是假脱机文件平均有 100,000 行甚至更多,因为 sqlexec 不断给我换行符......这是我不想要的。有没有办法告诉 sqlexec 和/或 spool 命令没有换行?

0 投票
3 回答
4106 浏览

asp.net - Oracle 11g w/asp.net 上的连接池

使用 Oracle 11g 和 asp.net 处理连接池的最佳方法是什么,我遇到了 Oracle 在一段时间后拒绝为 Web 应用程序打开任何新连接的问题。

这会导致请求超时并排队。!

编辑: 我需要在 Oracle 中做些什么来微调这个吗?

0 投票
1 回答
18908 浏览

oracle - 休眠与 Oracle 11g 不与“选择”生成器一起使用

我在数据加载应用程序中使用 Hibernate 3.2.5 和 Hibernate Annotations 3.3.1.GA 作为 JPA 提供程序。我已将 Hibernate 配置为使用 C3P0 进行连接池。

我的数据库是:Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production

由于 11g 没有内置的休眠方言,所以我已将其配置为使用

JDBC驱动:Oracle JDBC驱动,版本:11.2.0.1.0

该应用程序将一些事务性能日志从大型机系统加载到 Oracle DB 中,以供以后分析和报告。它本质上是一个批处理作业,它监视一个文件夹并等待一个新文件,然后读取它并将其插入到数据库中(平均每天插入大约 450 万行),因此我选择了 Hibernate,因为它能够使用 JDBC 批处理插入经过一些比较测试后,EclipseLink 似乎效果不佳。这些文件是专有的二进制格式,因此我不能使用更简单的工具,例如 CSV 导入等。

最初我在我的工作站上开发了与 MySQL 一起使用的应用程序,因为它最初是用于一次分析任务,但现在希望将其移动到企业 Oracle RAC 平台,因为事实证明它对继续导入数据和保留数据很有用它为我自己和其他一些分析师使用了几个月。我已经让 DBA 配置了表并调整了我的实体类以反映字段名称和数据类型的一些细微变化,并更改了驱动程序和连接详细信息等,但是我遇到了一些主键生成问题。

有一些表(主数据表和一些存储各种支持类型的表,例如事务类型、用户代码等)。每个都有一个唯一的(主)id 列,该列是使用序列和更新前触发器自动生成的。

DBA 已将序列配置为他们创建的用户无法查看。

使用 JPA (javax.annotations) 生成的值类型在任何情况下都不起作用。

例如:

这给出了 SQL:

Oracle 驱动程序抛出异常并出现错误:

在发现我做了一些研究并找到了使用带有“选择”策略的 Hibernate JPA 注释扩展“GenericGenerator”的选项(http://docs.jboss.org/hibernate/stable/core/reference/en/html/ mapping.html#mapping-declaration-id-generator

例如

但是,当我使用它时,我发现 Hibernate 在 EntityManagerFactory 创建期间挂起。它似乎超越了构建属性,构建命名查询,连接到服务器,然后挂在:

并且不返回。

当我没有在 persistence.xml 文件中指定方言时,我发现同样的事情发生了。

如果我使用“增量”策略,它工作得很好,尽管这意味着序列随后被破坏,因为值已经增加而序列没有增加,这不太理想。

“本机”策略提供与使用 GenerationType.AUTO 相同的输出(ORA-02289:序列不存在)。

我不确定这是因为我使用了错误的密钥生成策略,还是我的配置错误,或者是一个错误。

非常感谢使“选择”策略起作用或更好的替代方法的任何帮助。我可能会重新使用带有准备好的语句等的纯 JDBC,但这往往会有点混乱,我更喜欢 JPA 方法。

更多信息:

Persistence.xml 属性:

使用注释的实体类之一中的 ID 字段声明示例:

0 投票
3 回答
147 浏览

asp.net - 用户名有 $ 的 Oracle 连接?

我需要帮助来追踪某些东西,我在企业管理器中获得了几个连接,它说:

没有名为 Example$ 的用户,这是从哪里来的?...

我正在使用 Oracle 11g。

编辑: 我正在跟踪的问题是与保持连接打开的 asp.net 应用程序有关,我每次打开它们时都使用“使用”语句,所以不是这样。这似乎是连接池的问题。