`

解决回滚表空间太大或回滚表空间丢失情况(下)

阅读更多
接上篇

一切顺利的话,以上步骤就可以实现减小回滚表空间大小的目的。但是可能在第7步出现:
ORA-01548: 已找到活动回退段'_SYSSMU1$',终止删除表空间 问题。


解决方案:
   这个一般是由于原回滚表空间还存在些回滚段未被回收(这个说法待确定)
1. 查看原回滚表空间状态
  select file#,status from v$datafile;

  FILE# STATUS
---------- -------
         1 SYSTEM
         2 ONLINE
         3 RECOVER  

发现原回滚表空间出在recover状态。这个是因为我们已经将表空间文件删除了

2. 查看回滚段信息
  segment_name,status,tablespace_name from dba_rollback_segs;

SEGMENT_NAME                   STATUS           TABLESPACE_NAME
------------------------------ ---------------- ------------------------------
SYSTEM                         ONLINE           SYSTEM
_SYSSMU35_1277269112$          OFFLINE          UNDOTBS1
_SYSSMU34_1277269112$          OFFLINE          UNDOTBS1
_SYSSMU33_1277269112$          OFFLINE          UNDOTBS1
_SYSSMU32_1277269111$          OFFLINE          UNDOTBS1
_SYSSMU31_1277269111$          OFFLINE          UNDOTBS1
_SYSSMU30_1277269111$          OFFLINE          UNDOTBS1
_SYSSMU29_1277269111$          OFFLINE          UNDOTBS1
_SYSSMU28_1277269111$          OFFLINE          UNDOTBS1
_SYSSMU27_1277269111$          OFFLINE          UNDOTBS1
_SYSSMU26_1277269111$          NEEDS RECOVERY   UNDOTBS1

SEGMENT_NAME                   STATUS           TABLESPACE_NAME
------------------------------ ---------------- ------------------------------
_SYSSMU25_1277269111$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU24_1277269111$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU23_1277269111$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU22_1277269111$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU21_1277119714$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU20_1277119714$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU19_1273814895$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU18_1269840500$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU17_1269840500$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU16_1269840500$          NEEDS RECOVERY   UNDOTBS1
_SYSSMU15_1269840500$          NEEDS RECOVERY   UNDOTBS1

发现很多回滚段的数据需要RECOVERY, 这个时候需要改动oracle启动文件
sql>cd /opt/oracle/product/11.1/dbs
sql> vi initSID.ora
在末尾添加:
undo_management=manual
undo_retention=10800
undo_tablespace=undotbs2
_CORRUPTED_ROLLBACK_SEGMENTS =(_SYSSMU26_1277269111$,_SYSSMU25_1277269111$,_SYSSMU24_1277269111$,_SYSSMU23_1277269111$,_SYSSMU22_1277269111$,_SYSSMU21_1277119714$,_SYSSMU20_1277119714$,_SYSSMU19_1273814895$,_SYSSMU18_1269840500$,_SYSSMU17_1269840500$,_SYSSMU16_1269840500$,_SYSSMU15_1269840500$,_SYSSMU14_1269840500$,_SYSSMU13_1269840500$,_SYSSMU12_1269840500$,_SYSSMU11_1269840500$,_SYSSMU10_1259671438$,_SYSSMU9_1259671438$,_SYSSMU8_1259671438$,_SYSSMU7_1259671438$,_SYSSMU6_1259671438$,_SYSSMU5_1259671438$,_SYSSMU4_1259671438$,_SYSSMU3_1259671438$,_SYSSMU2_1259671438$,_SYSSMU1_1259671438$)

_CORRUPTED_ROLLBACK_SEGMENTS 其中就是些需要recover的回滚段


3. 重启oracle
sql>shutdown abort
sql>startup pfile="/opt/oracle/product/11.1/dbs/initSID.ora";

4. 删除原回滚表空间
sql>drop tablespace undotbs1 including contents and datafiles;

5. 顺利删除重启oracle
sql>shutdown abort
sql>startup
分享到:
评论

相关推荐

    达梦修改UNDO_RETENTION.zip

    3. **调整UNDO_TABLESPACE大小**:在增加或减少UNDO_RETENTION之前,确保有足够的撤销表空间(UNDO_TABLESPACE)来容纳所需的撤销数据。 4. **修改参数**:在达梦数据库中,你可以通过SQL命令来修改UNDO_RETENTION...

    广药oracle选择题复习.doc

    临时表空间(Temporary Tablespace)、用户表空间(User Tablespace)和索引表空间(Index Tablespace)可以在不影响整个数据库运行的情况下脱机。 - 要调整数据文件大小,可以使用`ALTER DATABASE DATAFILE`或`...

    oracle undo详解

    管理Undo数据主要包括监控Undo表空间的空闲空间,防止“快照太旧”错误,以及设置合适的Undo保留期。如果Undo表空间的空间不足,或者Undo数据超过了保留期,可能会导致事务失败。DBA可以通过调整Undo表空间的大小,...

    mysql常见异常 mysql常见异常

    13. **错误1114、1116:数据表满或打开的表太多** - 调整MySQL的配置以增加表的最大数量或优化查询以减少同时打开的表数。 14. **错误1130、1133:连接权限问题** - 确保用户有权连接到数据库服务器。 15. **错误...

    解决外接显示器关闭后程序窗口停留问题

    然而,在某些情况下,当我们断开或关闭外接显示器时,可能会遇到程序窗口停留在已关闭的显示器上的问题。这不仅会带来不便,还可能会影响工作流程。本文将详细探讨这一现象的原因,并提供几种有效的解决方案。 ####...

    清楚svn目录下生成的.svn文件夹

    这些文件夹对于SVN的正常运行至关重要,但有时它们可能会占用大量的磁盘空间,或者在不需要进行版本控制的情况下成为不必要的负担。因此,了解如何清理这些`.svn`文件夹是一项实用的技能。 1. **.svn文件夹的作用**...

    mysql数据库my.cnf配置文件

    如果你使它太大, # 系统将开始换页并且真的变慢了。对于内存在4GB左右的服务器该参数可设置为384M或512M。通过检查状态值Key_read_requests和Key_reads, # 可以知道key_buffer_size设置是否合理。比例key_reads/...

    MySQL问答系列之如何避免ibdata1文件大小暴涨

    它包含了InnoDB表的元数据、撤销记录、插入缓冲区(insert buffer)、双写缓冲区(double write buffer)以及回滚段(rollback segments)和撤销空间(undo space)。当`innodb_file_per_table`配置项为0时,所有的...

    分区助手6.2.zip

    用户可以制作硬盘的备份映像,以防硬件故障或其他意外情况导致的数据丢失。 5. **检查分区错误**:软件内置了检查分区错误的功能,可以帮助用户检测并修复磁盘上的逻辑错误,确保数据的完整性和可靠性。 6. **优化...

    数据库知识点记录数据库知识点记录

    数据库知识点记录 本文主要对数据库知识点进行了记录,包括事务、主键/外键、...2. 日志文件:是为了防止当数据丢失,或都出现异常的情况下可以利用日志恢复最近的操作。 六、索引 索引主要目的是提高了系统的性能。

    oracle面试题目

    ORA-01555错误通常是由于回滚段中的数据快照太旧而无法使用导致的。解决这个问题的一个常见方法是增大rollback segment的大小,并检查出错的SQL文本。 $ORACLE_HOME和$ORACLE_BASE是Oracle数据库系统中用于存放可...

    深度一键回原工具

    "深度一键回原工具"是一款专为个人计算机用户设计的系统恢复软件,主要功能是帮助用户将操作系统恢复到一个已知的良好状态,通常用于解决系统出现严重错误、病毒攻击或性能下降等问题。这款工具以其简单易用的特点,...

    [Oracle] 浅析令人抓狂的ORA-01555问题

    如果Undo表空间不足以存储所有需要回滚的信息,或者保留的时间不够长,就可能导致前镜像被过早地清除。解决方案包括增加Undo表空间的大小,并设置适当的UNDO_RETENTION参数以确保undo记录足够长时间的保留。 - **...

    SqlServer日志清除专家

    清除过程会根据SQL Server的最佳实践,确保在不丢失重要数据的前提下,有效地释放磁盘空间。 在使用过程中,SqlClear.log文件记录了程序运行的日志信息,这对于排查问题和理解清理过程非常有帮助。License.txt文件...

    xnp.rar_virtual disk

    快照的使用不影响虚拟盘的正常运行,且快照本身并不占用太多额外空间,因为它只保存自上次快照以来的变化部分。 "虚拟盘不会消失"可能是指虚拟磁盘的持久性。即使在关闭虚拟机或重启主机后,虚拟磁盘中的数据仍然...

    oracle经典面试题

    - 当遇到 ORA-01555 错误(快照过旧),通常是因为事务回滚段太小或不足。可以通过增加回滚段大小或者优化查询逻辑来解决该问题。 #### 19. $ORACLE_HOME 与 $ORACLE_BASE 的区别 - `$ORACLE_BASE`:Oracle 的根...

    mysql面试整理2

    * 数据不能永久保存:虽然数据库可以永久保存数据,但是在某些情况下,例如数据库崩溃或磁盘损坏,数据可能会丢失。 * 速度比内存操作慢:数据库操作速度比内存操作速度慢,因为数据库需要将数据存储在磁盘上,而...

    一个好用的清除系统垃圾软件

    2. 日志文件:操作系统和应用程序运行时生成的错误日志,对于普通用户来说并无太大价值。 3. 临时文件:安装程序或运行软件时生成的临时文件,通常在任务完成后应被删除,但有时会遗留下来。 4. 无用注册表项:随着...

Global site tag (gtag.js) - Google Analytics