ORA-12801: 并行查询服务器 P004 和 ORA-01555 中发出错误信号:快照太旧
ORA-12801: error signaled in parallel query server P004 and ORA-01555: snapshot too old
我正在执行 insert into ... select ... from ... where ...
SQL 并使用 Oracle
得到以下错误:
java.sql.SQLException: ORA-12801: error signaled in parallel query server P004
ORA-01555: snapshot too old: rollback segment number 32 with name "_SYSSMU32_2039035886$" too small
我阅读了以下文档:http://www.dba-oracle.com/t_ora_12801_parallel_query.htm and http://www.dba-oracle.com/t_ora_01555_snapshot_old.htm
说ORA-12801
是因为没有足够的处理器来支持并行查询。 ORA-01555
错误与还原存储不足或 undo_retention 参数的值太小有关。
但是如何检查相关参数才能避免此类问题再次发生?
来自the manual:
ORA-12801: error signaled in parallel query server string
Cause: A parallel query server reached an exception condition.
Action: Check the following error message for the cause, and consult your error manual for the appropriate action.
这是一条一般性错误消息,几乎与处理器不足无关。这是您链接到的网站经常包含大量错误或过时信息的示例。也许 17 进程在 17 年前是 "a lot",但现在不是了。不幸的是,该站点通常是 Google.
的第一个结果
您可以检查 UNDO 保留,这是以秒为单位的时间量,如下所示:
select value from v$parameter where name = 'undo_retention'
可用于 UNDO tablespace 的 space 数量也相关:
select round(sum(maxbytes)/1024/1024/1024) gb
from dba_data_files
where tablespace_name like '%UNDO%';
请再次参阅 the manual 了解有关参数的更多信息。
我正在执行 insert into ... select ... from ... where ...
SQL 并使用 Oracle
得到以下错误:
java.sql.SQLException: ORA-12801: error signaled in parallel query server P004
ORA-01555: snapshot too old: rollback segment number 32 with name "_SYSSMU32_2039035886$" too small
我阅读了以下文档:http://www.dba-oracle.com/t_ora_12801_parallel_query.htm and http://www.dba-oracle.com/t_ora_01555_snapshot_old.htm
说ORA-12801
是因为没有足够的处理器来支持并行查询。 ORA-01555
错误与还原存储不足或 undo_retention 参数的值太小有关。
但是如何检查相关参数才能避免此类问题再次发生?
来自the manual:
ORA-12801: error signaled in parallel query server string
Cause: A parallel query server reached an exception condition.
Action: Check the following error message for the cause, and consult your error manual for the appropriate action.
这是一条一般性错误消息,几乎与处理器不足无关。这是您链接到的网站经常包含大量错误或过时信息的示例。也许 17 进程在 17 年前是 "a lot",但现在不是了。不幸的是,该站点通常是 Google.
的第一个结果您可以检查 UNDO 保留,这是以秒为单位的时间量,如下所示:
select value from v$parameter where name = 'undo_retention'
可用于 UNDO tablespace 的 space 数量也相关:
select round(sum(maxbytes)/1024/1024/1024) gb
from dba_data_files
where tablespace_name like '%UNDO%';
请再次参阅 the manual 了解有关参数的更多信息。