ORA-1562 and ORA-1650 Unable to Extend Rollback Segment (Doc ID 1066542.6)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 8.0.3.0 and later
Oracle Solaris on SPARC (32-bit)

SYMPTOMS

You are working with the database that is using Rollback Segments (ie not using automatic undo) and you encounter ora-1562.

您正在使用回滚段的数据库(即未使用自动撤消),并且遇到了ora-1562

Error:    ORA 01562
Text:    "failed to extend rollback segment number %s"
------------------------------------------------------------------------
Cause:     Failure occurred when trying to extend rollback segment
Action:     This is normally followed by another error message that caused the failure.
                You may take the rollback segment offline to perform maintenance. 
                Use the alter rollback segment offline command to take the rollback segment offline.

The 0RA-1562 is often followed by another error which indicates the cause of the failure.

通常在0RA-1562后面跟随另一个错误,该错误指示失败的原因

For example, ORA-1650.

Error:      ORA 1650
Text:       unable to extend rollback segment <name> by <num> in tablespace <name>
-------------------------------------------------------------------------------
Cause:      Failed to allocate extent for the rollback segment in tablespace.
Action:     Use the ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the specified tablespace.

CAUSE

Tablespace does not have sufficient contiguous space to allow for the extension of the rollback/Undo segment.

表空间没有足够的连续空间,无法扩展 rollback/Undo 段

The failure to extend error is raised when the next extent size is greater than the largest contiguous space.

当下一个扩展区大小大于最大连续空间时,将引发扩展错误失败

This error is only generated if, at the time the object tried to extend, there was not enough available contiguous space

仅当在尝试扩展对象时没有足够的可用连续空间时才会生成此错误

SOLUTION

Obtain the information necessary to address this issue.  获取解决此问题所需的信息

For the ORA-1650:

select max(bytes) from dba_free_space where tablespace_name = <tablespace name>;

The above query returns the largest available contiguous chunk of space. 上面的查询返回最大的可用连续块

Select next_extent, pct_increase from dba_rollback_segs where segment_name = <rollback segment name>;

The pct_increase is 0 by default.  默认情况下,pct_increase为0

There are several options for solving the failure to extend a rollback segment.

有几种方法可以解决无法扩展回滚段的问题

1. Ask users to commit their transactions to free space in the rollback segment

1. 要求用户将事务提交到回滚段中的可用空间

2. Manually coalesce adjacent free extents.  The extents must be adjacent for this to work.

2. 手动合并相邻的自由扩展区。这些范围必须相邻才能正常工作。

Alter tablespace <tablespace name> coalesce;

3. Add a datafile.

Alter tablespace <tablespace name> add datafile <full path and file name> size <integer> <K|M>;

4. Resize the datafile.

Alter database datafile <full path and file name> resize <integer> <K|M>;

In case of Manual Mode, "SET TRANSACTION USER ROLLBACK SEGMENT" may be attempted to force the use of a large rollback segment for a large transactions to try to overcome the ORA-1562.

在手动模式下,可以尝试使用 "SET TRANSACTION USER ROLLBACK SEGMENT" 来强制对大型事务使用较大的回滚段,以尝试克服ORA-1562。

User transactions are recorded in the rollback segment. The transaction remains open in the rollback segment until the user commits the changes.

用户事务记录在回滚段中。事务在回滚段中保持打开状态,直到用户提交更改为止。

If the user does not commit the changes, other users' transactions will eventually wrap around the rollback segment and "bump into" the open transaction.

如果用户不提交更改,则其他用户的事务最终将环绕回滚段并“弹出”未完成的事务。

At this point any new transactions will attempt to grab a new extent for the rollback segment.

在这一点上,任何新的事务都将尝试为回滚段获取新的范围。

If you tried using "set transaction use rollback segment" and received and unable to extend error, as a workaround take all other rollback segments offline.

如果您尝试使用 "set transaction use rollback segment" 并且收到了并且无法扩展错误,则作为一种解决方法,请使所有其他回滚段offline。

SET TRANSACTION USE ROLLBACK SEGMENT won't force DDL to use a particular rollback segment.

SET TRANSACTION USE ROLLBACK SEGMENT不会强制DDL使用特定的回滚段。

It's only effective on DML.

仅对DML有效

All DDL begins with an implicit COMMIT.

所有DDL都以隐式COMMIT开头

If you issue the SET TRANSACTION command, followed directly by DDL, the DDL will end the previous transaction as its first action.

如果您发出SET TRANSACTION命令,然后直接跟随DDL,则DDL将结束上一个事务作为其第一个操作

You cannot direct Oracle to use a specific rollback segment for DDL, only for DML.

您不能指示Oracle对DDL使用特定的回滚段,而仅对DML使用

REFERENCES

NOTE:1025288.6 - Troubleshooting Guide - 'Unable to Extend / Create' Errors

ORA-1562 and ORA-1650 Unable to Extend Rollback Segment (Doc ID 1066542.6)的更多相关文章

  1. Troubleshooting ORA-30036 - Unable To Extend Undo Tablespace (Doc ID 460481.1)

    Troubleshooting ORA-30036 - Unable To Extend Undo Tablespace (Doc ID 460481.1) APPLIES TO: Oracle Da ...

  2. ORA-1652: unable to extend temp segment by 128 in tablespace xxx Troubleshootin

    当收到告警信息ORA-01652: unable to extend temp segment by 128 in tablespace xxxx 时,如何Troubleshooting ORA-16 ...

  3. Oracle表空间不足;查询表空间使用率(unable to extend lob segment SYS_LOB0000076749C00006$$ by 8192 in tablespace USERS)

    查询表空间对应地址 *),) total_space from dba_data_files order by tablespace_name; //方案一:修改表空间大小(32000可改为想要的数值 ...

  4. ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段(EXP-00056: 遇到 ORACLE 错误 1652 ORA-01652: unable to extend temp segment by 128 in tablespace TEMP)

    数据库报 ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段 两种解决方式: 第一种) sql>select * from v$tempfile; 发现tem ...

  5. ORA-1653: unable to extend table SYS.AUD$

    今早运维组的同事反映有个系统功能很多地方都报错,怀疑是不是数据库有什么问题.于是登录数据库检查,通过crsctl status res -t检查,发现所有集群资源都是OK的,没有哪个资源挂掉了.于是到 ...

  6. 真心崩溃了,oracle安装完成后居然没有tnsnames.ora和listener.ora文件

    problem: oracle  11  r2  64位安装完成后NETWORK/ADMIN目录下居然没有tnsnames.ora和listener.ora文件 solution: 问题是之前安装了另 ...

  7. ora-01653: unable to extend table sys.aud$ by 8192 in tablespac system[转载]

    在用sqlplus user/password@truth登录数据库时报如下错误:ORA-00604: error occurred at recursive SQL level 1ORA-01653 ...

  8. ORACLE ORA-01653: unable to extend table 的错误

    ORACLE ORA-01653: unable to extend table 的错误 今天用PL SQL Developer往oracle数据库中导入数据时,突然报错,只能终止,错误的具体内容如下 ...

  9. oracle中的listener.ora和tnsnames.ora

    一.oracle的客户端与服务器端 oracle在安装完成后服务器和客户端都需要进行网络配置才能实现网络连接.    服务器端配置监听器,客户端配置网络服务名. 服务器端可配置一个或多个监听程序 . ...

随机推荐

  1. JQuery iframe宽高度自适应浏览器窗口大小的解决方法

    iframe宽高度自适应浏览器窗口大小的解决方法   by:授客 QQ:1033553122 1.   测试环境 JQuery-3.2.1.min.js 下载地址: https://gitee.com ...

  2. 微信两种签名算法MD5和HMAC-SHA256

    在做微信接口开发的过程中, 有时候发现会提示签名校验失败, 一模一样的签名逻辑就是有些接口跑步通, 找了一圈发现挺坑的; 原来是有些接口的signType签名类型有区别, 有些接口signType要求 ...

  3. IDEA使用svn拉取多模块项目

    如果没有安装过svn客户端,安装的时候需要选择安装第二个工具,如下图所示 安装小乌龟, 自行搜索, 注意点是需要选择安装第二个工具 因为默认是不安装的, 而这个组件是集成到IDEA ”必须的” . 如 ...

  4. bay——安装_Oracle 12C-RAC-Centos7.txt

    ★★★____★☆★〓〓〓〓→2019年6月26日10:29:42 bayaim-RAC ——搭建第4次VMware vSphere Client6.0 ----------------------- ...

  5. Cpp 二叉树

    #include<vector> #include<iostream> using namespace std; //二叉树的一个节点结构 struct BinaryTreeN ...

  6. 201871010113-刘兴瑞《面向对象程序设计(java)》第十一周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>htt ...

  7. flask之web网关、三件套、配置、路由(参数、转化器及自定义转化器)、cbv、模板语言、session

    目录 1.wsgiref.py 2.werzeug.py 3.三件套 4.配置文件 5.路由本质 6.cbv.py 7.路由转化器 8.自定义转化器 9.模板语言 10.session原理 11.te ...

  8. autocad2014一直显示正在检查许可

    64位CAD2014安装成功后启动时在检查许可卡住的解决方法,以下方法经本人测试,真实可行.1.下载CCcleaner.2.将CCcleaner设置成中文版,英文好的继续第三步.(设置方法:选项opt ...

  9. golang数据结构之散哈希表(Hash)

    hash.go package hash import ( "fmt" ) type Emp struct { ID int Name string Next *Emp } //第 ...

  10. IT兄弟连 HTML5教程 HTML5的学习线路图 第一阶段学习网页制作

    学习HTML5技术可并不是简单学会几个新增的标签而已,HTML5现在可以说是前端所有技术的代名词.需要学习的语言和工具不仅多,对于刚接触他们的新人会感觉很乱.另外,前端开发也会细分很多个开发岗位,不同 ...