是否可以在oracle中控制或限制用户的并行线程使用?
可以说,用户dev
正在执行SELECT
查询,该查询占用32个并行线程。
但是,无论提示或表设计如何,我都希望查询在单个线程中运行,与/*NOPARALLEL*/
提示一样。这应该发生在用户dev
对数据库执行的任何DML事务中。
有什么方法可以实现这个目标吗? 我试图寻找一种方法但无法到达任何地方。
答案 0 :(得分:2)
我们可以限制用户使用系统资源的唯一方法是使用配置文件。 CREATE PROFILE选项提供了几个用于限制CPU使用率的选项,CPU_PER_SESSION和CPU_PER_CALL,但不包括CPU数量。 Find out more
我想说在我们想要施加资源限制的环境中 - 即实时限制 - 并行查询的使用应该通过PARALLEL_AUTOMATIC_TUNING参数留给数据库,或者通过PARALLEL提示锁定仅限预先查询。