`
com1com4
  • 浏览: 156933 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle 11G rollback段出错修复

阅读更多
测试服务器的磁盘满了,经分析由于测试服务器经常进行大量数据清理,UNDO表空间占了太多空间,于是打算新建UNDO表空间(UNDOTBS2),把旧(UNDOTBS1)的清理掉。
删除旧空间的时候发现怎么都删不了,报错说有回滚段被占用。
于是用查看回滚段情况:
select owner,segment_name,SEGMENT_ID,FILE_ID,BLOCK_ID,STATUS,tablespace_name from dba_rollback_segs;
 
结果显示 _SYSSMU14_1571488672$,_SYSSMU16_3431913684$ 等多个在UNDOTBS1上的回滚段的STATUS显示“NEEDS RECOVERY”,即这些回滚段有错误需要修复,阻止了删除UNDOTBS1。
 
上网搜索相关修复方法,按实际情况拟定修复方案,最后成功修复。方案如下:
  1. 用实例的system账号以DBA身份登录sqlplus:
    • sqlplus system/**** as sysdba
  2. 关闭数据库:
    • shutdown immediate
  3. 创建pfile文件:
    • create pfile 'c:/pfile.ora' from spfile
  4. 修改pfile文件,添加以下参数:
    • *.undo_management='Manual'
    • _corrupted_rollback_segments=('_SYSSMU14_1571488672$','_SYSSMU16_3431913684$')
  5. 启动数据库:
    • startup pfile='c:/pfile.ora'
  6. 删除状态为needs Recovery的segment:
    • drop rollback segment "_SYSSMU14_1571488672$"; 
    • 注意是用双引号,删除会有报错信息,只要删除了就忽略出错信息吧。
  7. 重启数据库并删除undo表空间:
    • drop tablespace UNDOTBS1 including contents and datafiles;
  8. 修改pfile.ora,去除之前添加的隐藏参数启动数据库:
    • startup pfile='c:/pfile.ora'
  9. 检查数据库是否能正常工作。
  10. 检查正常,确认完成修复,重启服务器。
 
 
以下为修复中使用过的一些命令记录:
查询正在运行的事务的回滚段使用情况
select s.username, u.name from v$transaction t,v$rollstat r, v$rollname u,v$session s where s.taddr=t.addr and t.xidusn=r.usn and r.usn=u.usn order by s.username;

查询数据文件情况
select * from dba_data_files where tablespace_name like 'UNDOTBS1';

查询回滚空间的使用情况
select usn,xacts,status,rssize/1024/1024/1024, hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;

创建新的UNDO表空间
create undo tablespace undotbs2 datafile 'D:\app\Administrator\oradata\QAS\UNDOTBS02.DBF' size 10m reuse autoextend on next 100m maxsize 20g;

指定系统使用新的UNDO表空间
alter system set undo_tablespace=undotbs2 scope=both;

显示UNDO相关参数
show parameter undo;
 
几个参考链接:
分享到:
评论

相关推荐

    数据库oracle11g导出 空表

    Oracle 11g导出空表、少表的解决办法  ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间。 解决方法:  1)insert一行,再rollback就产生segment了  该方法是在在空表中插入数据,再删除,则...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053) 共2部分:此为第002部分 基本信息 原书名: OCA/OCP Oracle Database 11g All-in-One Exam Guide with CD-ROM: Exams 1Z0-051, 1Z0-052...

    深入解析oracle的回滚段

    回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的头部包含正在使用的该回滚段事务的信息。一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回滚信息。

    oracle10g课堂练习I(2)

    Oracle Database 10 g :“g”代表网格 1-6 Oracle 数据库体系结构 1-8 数据库结构 1-9 Oracle 内存结构 1-10 进程结构 1-12 Oracle 实例管理 1-13 服务器进程和数据库缓冲区高速缓存 1-14 物理数据库结构 1-...

    Oracle数据库中回滚监视的深入探讨

    当在 Oracle Database 10g 中回滚长期运行的事务时,无论是并行实例恢复会话还是用户执行的回滚语句,您所需做的一切就是查看视图 V$SESSION_LONGOPS 并评估还需要多少时间。本文对Oracle数据库中回滚监视进行深入...

    Oracle10g 知识总结

    有关oracle10g的知识总结 1.SQL语句分类 (1).查询语句——select (2).数据操作语句(DML):insert into 、delete、update、merge (3).数据定义语句(DDL):create 、alter、drop、truncate (4).数据控制语句(DCL):...

    Oracle数据库学习指南

    11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整原则 17.创建和使用分区的表 18.基于成本的优化器一般错误概念和问题 ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053) 共2部分:此为第001部分 基本信息 原书名: OCA/OCP Oracle Database 11g All-in-One Exam Guide with CD-ROM: Exams 1Z0-051, 1Z0-052...

    Oracle的回滚段存储内容分析

    事务在执行DML操作时,会首先将相关的数据块写入数据缓冲区中,数据缓冲区中存储的是DML操作相关的完整...一旦用户对该操作执行了commit或rollback操作,回滚段内容会理解清空。 现在我们来作个测试验证上面的说法。

    Oracle10g DBA经常使用的动态性能视图和数据字典

    dba_objects:数据库中所有的对象 dba_rollback_segs:回滚段的描述 dba_segments:所有数据库段分段的存储空间 dba_synonyms:关于同义词的信息查询 dba_tables:数据库中所有数据表的描述 dba_tabespaces:关于表空间...

    .net C# ORACLE带表参数存储过程

    本人测试在ORACLE11GR2 采用OracleUdt; 请下载此资源的朋友认真读内含的英文网页;因为.net中的除string类的数据类型外,其它类型要求手动修改UDT自动生成的类文件,本人测试了2天后,才明白要修改UDT自动生成的类文件,...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    Ansible-rollback.zip

    Ansible-rollback.zip,在capistrano styleansistrano中负责回滚脚本应用程序(如php、python、ruby等),ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。

    oracle 培训PDF文件

    Oracle 特点、结构 创建数据库 Oracle 数据库的访问 Managing an Oracle Instance Maintaining the Control File Maintaining Redo Log Files Managing Tablespaces and Data Files Managing Rollback Segments ...

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

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

    Oracle 9i&10g编程艺术:深入数据库体系结构(全本)含脚本

    目录回到顶部↑第1章 开发成功的Oracle应用 1 1.1 我的方法 2 1.2 黑盒方法 4 1.3 开发数据库应用的正确(和不正确)方法 8 1.3.1 了解Oracle体系结构 8 1.3.2 理解并发控制 14 1.3.3 多版本 19 1.3.4 数据库...

    Rollback Rx 9.0 注册工具

    注册机 雨过天晴海外版

    Data rollback (MySQL -》 Oracle)

    NULL 博文链接:https://frankfan915.iteye.com/blog/1674877

Global site tag (gtag.js) - Google Analytics