【发布时间】:2021-10-16 23:06:08
【问题描述】:
在为 Airflow 执行 SQL 查询时,我试图阻止 Oracle 并行执行。一切在我们不允许并行执行的服务器上运行良好,但在不同的服务器(我们实际上需要程序运行的地方)上,由于允许并行执行,它会变得不安。
我尝试创建一个触发器,每次程序创建会话以连接到数据库时执行 ALTER SESSION DISABLE PARALLEL DML|DDL|QUERY 但它仍然给出以下错误:
DatabaseError: (cx_Oracle.DatabaseError) ORA-12838: cannot read/modify an object after modifying it in parallel
有人知道如何处理这个问题吗?
【问题讨论】:
-
必须先提交并行/直接路径插入,然后才能查询新数据。并行查询不是问题。某些东西正在执行并行或直接路径插入,并且在尝试查询之前未提交。
-
您可以发布触发器的代码吗?你确定它正在执行吗?