问题描述
嗨,汤姆,
我有一个非常巨大的数据聚合,应该在使用多维数据集的OLAP数据库上进行理想的处理。由于一些缺点,我正在我的事务数据库中这样做。
当我运行具有多个表联接的SQL时,由于临时表空间限制,SQL出错。它需要12 TB的额外空间来处理查询。由于这个原因,我将数据分解为较小的表,并尝试使用作业并行处理较小的块。这种方法是成功的,但我无法并行运行超过1000个作业。
我怎样才能克服这个问题?我可以根据临时表状态运行最大数量的作业 (例如: 5000)。
谢谢
桑特什。
我有一个非常巨大的数据聚合,应该在使用多维数据集的OLAP数据库上进行理想的处理。由于一些缺点,我正在我的事务数据库中这样做。
当我运行具有多个表联接的SQL时,由于临时表空间限制,SQL出错。它需要12 TB的额外空间来处理查询。由于这个原因,我将数据分解为较小的表,并尝试使用作业并行处理较小的块。这种方法是成功的,但我无法并行运行超过1000个作业。
我怎样才能克服这个问题?我可以根据临时表状态运行最大数量的作业 (例如: 5000)。
谢谢
桑特什。
专家解答
您正在尝试运行1,000多个并行作业来处理查询?真的吗?
你会遇到几个问题。
最大并发作业数由JOB_QUEUE_PROCESSES参数控制。在11.2上,这是1,000的上限。12.2增加到4,000:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/JOB_QUEUE_PROCESSES.html#GUID-B8B68D16-00A3-43DD-BE39-01F877880955
但是您也受到projessis参数的限制,该参数控制实例的进程总数。
除非你在一个真正强大的 (RAC) 数据库上,否则你很可能也会达到这个极限。特别是在您的事务数据库上。你从它应该做的工作中窃取了计算能力!
你会遇到几个问题。
最大并发作业数由JOB_QUEUE_PROCESSES参数控制。在11.2上,这是1,000的上限。12.2增加到4,000:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/JOB_QUEUE_PROCESSES.html#GUID-B8B68D16-00A3-43DD-BE39-01F877880955
但是您也受到projessis参数的限制,该参数控制实例的进程总数。
除非你在一个真正强大的 (RAC) 数据库上,否则你很可能也会达到这个极限。特别是在您的事务数据库上。你从它应该做的工作中窃取了计算能力!
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。