【Bug】ORA-01555 When Max Query Length Is Less Than Undo Retention

ORA-01555 When Max Query Length Is Less Than Undo Retention [ID 1131474.1]

涉及的版本!

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.2 - Release: 10.2 to 11.2

Information in this document applies to any platform.

Symptoms

This issue was observed on Oracle 11.1.0.6 64-bit on a Solaris 64-bit server.It also occurs in 10gR2

现象:

- A job is consistently giving ORA-1555 errors.

- Increasing the undo_retention value has not stopped the errors.

- The ORA-1555 occurs even if there are no other jobs updating the objects reported in the failed SQL.

- The datafiles for the undo tablespace have autoextend turned on, and the file size is less than MAXBYTES.

- A look at the v$undostat shows that the query length is less than both the undo_retention and the tuned_undoretention

To find the max query length and the tuned_undo retention, run this SQL.

set pagesize 25

set linesize 100

column UNXPSTEALCNT heading "# Unexpired|Stolen"

column EXPSTEALCNT heading "# Expired|Reused"

column SSOLDERRCNT heading "ORA-1555|Error"

column NOSPACEERRCNT heading "Out-Of-space|Error"

column MAXQUERYLEN heading "Max Query|Length"

select inst_id, to_char(begin_time,'MM/DD/YYYY HH24:MI') begin_time,

UNXPSTEALCNT, EXPSTEALCNT , SSOLDERRCNT, NOSPACEERRCNT, MAXQUERYLEN, TUNED_UNDORETENTION

from gv$undostat

order by inst_id, begin_time;

Then look for the timestamp at which the ORA-1555 occurred.

The max query length will be less than undo_retention, and less than tuned_undoretention.

Note: When tuned_undoretention is used, the undo_retention becomes a minimum setting.

Here is an example of the output of the above SQL

                     Unexpired Expired ORA-1555 Out-Of-space Max     Query

INST_ID BEGIN_TIME     Stolen Reused Error Error            Length   TUNED_UNDORETENTION

------- ---------------- ---- ------ ----- -----            ---------- ------------

1       06/14/2010 20:51    0      0     0     0             719       2000

1       06/14/2010 21:01    0      0     1     0             1323      2225

1       06/14/2010 21:11    0      0     0     0             699       2000

1       06/14/2010 21:21    0      0     0     0             1303      2205

1       06/14/2010 21:31    0      0     0     0             678       2000

We can see that there were no stolen unexpired extents, and the length of

the query was 1313 seconds, while the tuned_undoretention was 2225 seconds.

There were also no out-if-space errors.

我们的环境里:

ops$admin@jrdw2>select inst_id, to_char(begin_time,'MM/DD/YYYY HH24:MI') begin_time, UNXPSTEALCNT, EXPSTEALCNT , SSOLDERRCNT, NOSPACEERRCNT, MAXQUERYLEN, TUNED_UNDORETENTION

2 from gv$undostat

3 where begin_time between to_date('10/09/2011 03:10','MM/DD/YYYY HH24:MI')

4 and to_date('10/09/2011 04:50','MM/DD/YYYY HH24:MI')

5 order by inst_id, begin_time;

                 # Unexpired # Expired  ORA-1555 Out-Of-space MaxQuery  Tuned Undo

INST_ID BEGIN_TIME Stolen      Reused   Error     Error       Length    Retention

----------        ----------- --------- -------- ----------  ---------- ----------

1 10/09/2011 03:13 0           0        0          0          1183      52010

1 10/09/2011 03:23 0           0        0          0          759       51895

2 10/09/2011 04:25 0           0        0          0          614       124019921

2 10/09/2011 04:35 0       0        1          0          1215  124112694

2 10/09/2011 04:45 0           0        0          0          595       124040364

20 rows selected.

原因:

This is the same issue as Bug 8231583

Abstract: ORA-1555 WHEN QUERY LENGTH

The bug has been closed at this point without finding a root issue.  The problem is not easy to reproduce consistently.

Solution Bug 8231583 is unresolved.

措施:

方法一:Until the bug is resolved, one workaround is to create a new undo tablespace and switch to the new.

For example:

CREATE UNDO TABLESPACE undotbs_02

DATAFILE '/u01/oracle/rbdb1/undo0201.dbf' SIZE 2M REUSE AUTOEXTEND ON;

ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02;

The old undo can only be dropped after all transactions have cleared from the undo tablespace.

Please refer to the Oracle Database Administrator's manual for creating a new undo, switching to a new undo tablespace, and dropping the undo tablespace.

Oracle Database Administrator's Guide 10g Release 2 (10.2)

 Chapter 10 Managing the Undo Tablespace

Oracle Database Administrator's Guide 11g Release 2 (11.2)

Chapter 15 Managing Undo

Section: Managing Undo Tablespaces

方法二:disabling auto tuning by setting "_undo_autotune" = false

after creating a new undo tablespace has avoided future occurrences of the problem condition at some database locations. 

Until a consistent, reproducible test case can be developed in-house this problem remains unresolved.

时间: 2024-10-24 15:20:53

【Bug】ORA-01555 When Max Query Length Is Less Than Undo Retention的相关文章

【bug】安卓版发给ios版的视频、通话连接都无法生效;ios版发给安卓版的通话可以生效;

问题描述 [bug]安卓版发给ios版的视频.通话连接都无法生效:ios版发给安卓版的通话可以生效: 解决方案 可以相同场景下测试一下demo看有没有问题.你这里无法生效是指什么场景,是这边没有收到通话请求吗解决方案二:是的 无法收到通话请求解决方案三:你是测试的demo么?  我这边是正常的,你用demo试试

【bug】发现pt-table-checksum bug一例

发现pt-table-checksum bug例子 一.起因 由于全公司在组织学习MySQL.正在学到MySQL安装. 复制这一块,我的霸道总裁突然霸气十足的问我 ''你如何检测主从不一致呢'',我回答说 当然是 pt-table-checksum ,从而引出了下文.二.描述 MySQL5.7 主从环境 percona-toolkit-2.2.20-1.noarch 创建了一个test_xx的库root@localhost:mysql.sock [(none)]>create database

【BUG】crfclust.dbd变得非常大

这是最近在群里看到有朋友遇到的问题,查了下mos,发现是bug.下面仅做一下简单的记录 问题描述 11gR2的RAC,$GRID_HOME/crf/db/rac1 路径下的crfclust.bd文件非常大,将近20G. Affects: Product (Component) Oracle Server (PCW) Range of versions believed to be affected Versions BELOW 12.2 Versions confirmed as being a

【Bug】Bug 11827204: NON-OSDBA USERS WITH LOCAL CONNECTIONS: ORA-15025 ORA-27041

数据库版本:Release 11.2.0.2.0 以非 oracle 用户执行sqlpuls 登录数据库(ps admin 用户是oracle 创建的外部用户,直接执行sqlpus / 便可以登录数据库) admin@sf1:/home/admin>sqlplus / SQL*Plus: Release 11.2.0.2.0 Production on Tue Oct 11 10:06:31 2011 Copyright (c) 1982, 2010, Oracle.  All rights r

【BUG】[ - ddms] Can't bind to local 8700 for debugger

[2014-06-26 15:50:56 - ddms] Can't bind to local 8700 for debugger 一.BUG环境:macbookpro+eclipse+adt+adbWireless(MBP共享网络给Android手机) 二.影响:在下图中LogCat和Console标签页之间来回跳转,无法安逸查看LOG数据. 三.解决:     1,修改hosts文件: Last login: Thu Jun 26 15:49:50 on ttys001 jasondeab

直接关闭浏览器,离线消息重新登录后丢失【BUG】

问题描述 不想在CHOME浏览器关闭或者刷新提示是否需要离开,屏蔽了如下代码(红色),结果离线消息丢失,不能收到离线消息.不知道这段代码干嘛用的.$(function() {$(window).bind('beforeunload', function() {if (conn) {conn.close();**//****if (navigator.userAgent.indexOf("Firefox") > 0)****//return ' ';****//else****//

【BUG】android.content.res.Resources$NotFoundException: File res/drawable-xxhdpi/toolbar_line.png from

SafeGod在coolpad(4.0)上运行,登陆进去的设备列表界面遇到的问题,三星和索尼没有这个问题. 06-24 15:23:06.897: E/AndroidRuntime(12655): FATAL EXCEPTION: main 06-24 15:23:06.897: E/AndroidRuntime(12655): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jason.safeGod

【BUG】"main" prio=5 tid=1 RUNNABLE

加载超大效果图导致内存不足(GC/ANR) 06-30 11:42:56.624: D/dalvikvm(16264): GC_CONCURRENT freed 1982K, 7% free 45372K/48775K, paused 1ms+3ms, total 50ms 06-30 11:42:57.469: D/DeviceTrackActivity(16264): onPause() 06-30 11:42:57.994: D/dalvikvm(16264): GC_CONCURRENT

【MySQL BUG】线上系统因table_id溢出导致主从复制无法进行总结

一.背景     上周,所负责一个系统遇到MySQL的bug,导致所有从库卡在某一个点无法继续同步主库的更新.具体表现:主库后面挂载的10几个从库都停在同一个点,Relay_Master_Log_File和Exec_Master_Log_Pos一直不停滚动,但SQL却没有被执行,即relay log有被扫描的行为,但却没有被真正执行的行为.     主库环境     MySQL版本:5.1.63     Binlog格式:ROW模式     针对该Case,现梳理并总结如下: 二.排查过程