最近,我们将数据库从11g更新为19c。
在新数据库版本中测试应用程序时,我们遇到了一个特定视图的性能问题,该视图工作得非常好,但在19c中会导致性能问题。
在分析计划时,我们看到执行计划发生了巨大变化,这导致了19c中视图的性能非常差。
令人惊讶的是,其他观点的效果很好。
如果你能对这个问题有所了解,那就太好了。
谢谢你,JD
如果升级过程中只有一件事出错,我会认为这是一个巨大的成功。跳过深入的性能分析,简单地“作弊”,要求Oracle像以前一样执行该查询。修改慢速查询或视图以使用提示OPTIMIZER_FEATURES_ENABLE
。例如:
select /*+ optimizer_features_enable('11.2.0.4') */ * from all_tables;
这是我对这种情况的唯一具体建议。如果这不起作用,那么您需要遵循典型的性能故障排除路径(获取具有实际数字的执行计划,查看缓慢的操作和错误的基数,检查统计数据等)但这可能需要一个单独的问题,需要更多细节。
我有一个包在11g版本中运行良好。 但是当我在19c版本中部署相同的包时,行为是不同的。 PFB的描述。 包规范有一个游标,并使用游标%rowtype创建了一个表类型。具有返回表类型的流水线函数。 使用函数with table子句 因此,返回值可以作为一个表,我可以用列名读取结果。 在11g中,函数返回的列标题与游标列名相同。但在19c中,函数返回列标题,如“Attr_1、Attr_2等”。 我需
我有一个c#MVC web应用程序(.NET 4.52),使用较旧版本的Devart LinqConnect构建数据库等。该应用程序已有10年的历史,Oracle 11g后端数据库没有问题。 我们的DBA团队导出了模式/数据库并将其导入到Oracle 19c环境。自从将Web应用程序重定向为在19c上使用新模式以来,我们看到了对性能的巨大打击。 经过大量的调试,我已经瞄准了一个小到足以测试一些想法
我们正在从Oracle 11g迁移DB- 表有以下配置: 测试数据(用制表器代替^I): 当我删除LTRIM时,所有数据都在新数据库上读取(但我们需要保留LTRIM,因为输入文件包含不必要的空格)。我注意到一个字段的值为一个空格,它看起来会导致这个问题,但为什么只在新数据库上?有什么想法是什么原因或者如何轻松修复吗? 两个数据库上的NLS db/会话参数相同。。。但也许有一些全局参数会导致这个问题
问题内容: 我在Java2D方面表现有些古怪。我知道sun.java2d.opengl VM参数可以为2D启用3D加速,但是即使使用该参数也有一些奇怪的问题。 这是我运行的测试结果: 在JComponent上绘制具有32x32像素图块的25x18地图, 图像1 = .bmp格式,图像2 = .png格式 没有-Dsun.java2d.opengl = true 使用.BMP图像1的120 FPS使
问题内容: 在处理多个千兆字节文件时,我注意到了一些奇怪的事情:似乎使用文件通道从文件读取到分配有allocateDirect的重复使用的ByteBuffer对象中,比从MappedByteBuffer中读取要慢得多,实际上,它甚至比读取字节中的记录还要慢。使用常规读取调用的数组! 我期望它(几乎)与从mapedbytebuffers读取的速度一样快,因为我的ByteBuffer是使用alloca
我是Spark和Cassandra的新学员。我正面临着一个主要的性能问题,我在Spark中每5秒将来自Kafka的数据流化,然后使用JRI在R语言中对数据执行分析,最后将数据保存到Cassandra各自的列族中。将数据保存到Cassandra的持续时间(以毫秒为单位)随着输入请求的数量迅速增加[每个请求为200KB]。 火花代码: