`
sunxboy
  • 浏览: 2870076 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

回滚段表空间过大的解决方法(转)

阅读更多

linux建立一个9i数据库,9i数据库的回滚段一般由系统自动管理。

因为经常做一些大量的写操作,而在程序中没有很好做控制,导致了回滚段自动扩展到20G

但是由于是自动管理,无法进行删除。

查询回滚段信息:

SQL>select segment_name, owner, tablespace_name, status from dba_rollback_segs;

SEGMENT_NAME             OWNER TABLESPACE_NAME           STATUS

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

SYSTEM                 SYS   SYSTEM                 ONLINE

_SYSSMU1$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU2$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU3$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU4$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU5$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU6$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU7$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU8$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU9$               PUBLIC UNDOTBS1               ONLINE

_SYSSMU10$               PUBLIC UNDOTBS1               ONLINE

11 rows selected.

创建一个新的回滚段:

SQL>CREATE UNDO   TABLESPACE 'UNDOTBS2'   DATAFILE '/oracle/oradata/oradev/UNDOTBS2.dbf' SIZE 50M

切换回滚段:

SQL> alter system set undo_tablespace=undotbs2 scope=both;

30分钟或者直接关闭数据库后重启,即可删除原来的回滚段:

SQL> drop rollback segment undotbs1;

即可删除原来高达22G的回滚段及其数据文件,释放空间。

但是对回滚段的大小,还是需要从程序或语句上进行修改,不再出现大数据量的操作而没有出现commit的情况。

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

后记

调小了回滚段后,在imp导入数据时,提示回滚段无法扩展的错误

解决方法:在imp时,加入参数 commit=y,直接提交,避免占用大回滚段

分享到:
评论

相关推荐

    oracle回滚段使用率过高之解决方法

    Oracle 回滚段使用率过高之解决方法 Oracle 回滚段是一种重要的数据库机制,它用于存放数据修改之前的值,以便在事务回滚或恢复时使用。然而,回滚段使用率过高可能会导致数据库性能下降和空间不足的问题。本文将...

    Oracle回滚表空间数据文件误删除处理

    Oracle回滚表空间数据文件误删除处理是一个严重的问题,因为它涉及到数据库的核心组件——回滚段。回滚段在Oracle数据库中扮演着至关重要的角色,它们记录了事务的修改历史,确保了数据库的一致性,同时也为数据库...

    ORACLE回滚段的概念、用法和规划及问题解决

    - **分配适当的表空间**:考虑到不同应用对回滚段的需求不同,合理分配不同的回滚段到不同的表空间中,以提高整体性能。 - **考虑并发性**:在高并发的应用场景下,可能需要创建多个回滚段来分散负载。 - **监控回滚...

    oracle 回滚段探究

    1. **回滚段空间不足**:增加UNDO表空间的大小或优化应用程序以减少回滚段的使用。 2. **回滚段争用**:通过增加回滚段的数量或优化事务处理逻辑来减少争用情况。 3. **性能下降**:分析事务处理模式,优化...

    Oracle数据库回滚段的故障分析与性能优化.pdf

    实际上绝大多数的回滚段故障都是由于数据库管理员对回滚段的认识不足所造成。 常见的错误有以下几种: 1. 快照过期:ORA-1555:Snapshot too old 这个错误代码指出问题是出在快照过期,是一个涉及到数据读一致性...

    oracle 回滚段灾难恢复

    通过创建新的回滚表空间、删除并重建损坏的回滚段,以及检查回滚段的状态,可以有效地解决这一问题,恢复数据库的正常运行。然而,在进行任何灾难恢复操作之前,确保有完整可靠的数据库备份是非常重要的,以防万一...

    oracle 回滚段

    解决方法包括调整回滚段的数量和大小、修改回滚段的存储参数等。 回滚段是 Oracle 数据库中的一种重要组件,它对数据库的性能产生直接影响。因此,需要正确地设置和维护回滚段,以确保数据库的性能和稳定性。

    Oracle回滚段管理知识.pptx

    SYSTEM 回滚段用于维护 SYSTEM 表空间上对象的事务,而非 SYSTEM 回滚段用于维护其它表空间上对象的事务。 六、回滚段的作用 回滚段的作用有两方面:一是事务回退,二是事务恢复。回滚段可以提供事务的一致性和...

    Oracle回滚段的概念,用法和规划及问题的解决

    正在看的ORACLE教程是:Oracle回滚段的概念... 回滚段的作用 事务回滚:当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用户回滚事务(ROLLBACK)时,ORACLE将会利用回滚段中的数据前影

    解决临时表(undo)空间过大问题

    以下是一些解决临时表空间过大的策略和实现方法: 1. **分析临时表空间使用情况**: - 使用`V$TEMPSPACE_USAGE`视图来监控临时表空间的使用,找出占用空间最多的会话或SQL语句。 - 执行查询如`SELECT * FROM V$...

    ORACLE常见错误代码的分析与解决

    总结来说,对于ORACLE数据库中常见的ORA-01650和ORA-01652错误代码,通过合理地增加回滚段表空间或临时表空间、修改存储参数和监控空间使用状况,可以有效地解决问题。数据库管理员在操作过程中,应根据数据库的具体...

    ORACLE SYSTEM表空间已满解决方案.docx

    解决表空间占满的方法主要包括: 1. **扩展表空间**:通过添加新的数据文件或增大现有数据文件的大小来扩展表空间。 ```sql ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/yourdb/system01.dbf' RESIZE 10G;...

    oracle常见错误代码的分析与解决

    当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。 解决方式:使用“ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE ...

    oracle数据库操作常见错误以及解决方案

    首先,错误`ORA-01650: unable to extend rollback segment NAME by NUM intablespace NAME`是由于回滚段表空间不足导致的。回滚段用于保存事务的回滚信息,当执行大型数据操作时,如果当前的回滚段不足以容纳所有的...

    Oracle回滚段使用查询代码详解

    在遇到回滚段相关的问题时,比如回滚段不足导致的错误,可以尝试调整回滚段大小、增加回滚段数量或优化事务处理来解决。同时,定期检查和分析回滚段使用情况是预防此类问题的有效手段。 总之,Oracle回滚段的管理和...

    Oracle存储空间管理说明及其应用.doc

    表空间是Oracle存储管理的基本单位,分为System表空间、非System表空间和回滚段表空间。System表空间包含了数据库的数据字典、存储过程等系统对象,应避免在其中存储用户对象以防止维护复杂性增加。临时表空间(TEMP...

Global site tag (gtag.js) - Google Analytics