当前位置:  数据库>oracle

Oracle undo表空间爆满的处理方法

    来源: 互联网  发布时间:2017-05-06

    本文导语: Oracle undo表空间爆满的解决步骤: 1. 启动SQLPLUS,并用sys登陆到数据库。#su - oracle  $>sqlplus / as sysdba 2. 查找数据库的UNDO表空间名,确定当前例程正在使用的UNDO表空间:Show parameter undo_tablespace。 3. 确认UNDO表空间;SQL> select name from ...

Oracle undo表空间爆满的解决步骤:

1. 启动SQLPLUS,并用sys登陆到数据库。
#su - oracle 
$>sqlplus / as sysdba

2. 查找数据库的UNDO表空间名,确定当前例程正在使用的UNDO表空间:
Show parameter undo_tablespace。

3. 确认UNDO表空间;
SQL> select name from v$tablespace; 
NAME 
------------------------------ 
UNDOTBS1



4. 检查数据库UNDO表空间占用空间情况以及数据文件存放位置;
SQL>select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS%';

5. 查看回滚段的使用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间(特别是生产环境)。
SQL> 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;

6. 检查UNDO Segment状态;
SQL> select usn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks
from v$rollstat order by rssize;
USN  XACTS  RSSIZE/1024/1024/1024  HWMSIZE/1024/1024/1024  SHRINKS
1    0    0     0.000358582             0.000358582               0
2    14   0     0.796791077             0.796791077               735
3    44   1     0.00920867919921875     3.99295806884766          996
这还原表空间中还存在3个回滚的对象。






7. 创建新的UNDO表空间,并设置自动扩展参数;
SQL> create undo tablespace undotbs2 datafile '/opt/oracle/oradata/ge01/UNDOTBS2.dbf' size 100m reuse autoextend on next 50m maxsize 5000m;
Tablespace created.

8. 切换UNDO表空间为新的UNDO表空间 , 动态更改spfile配置文件;
SQL> alter system set undo_tablespace=undotbs2 scope=both; 
System altered.

9.验证当前数据库的 UNDO表空间 【Linux公社 http://www.linuxidc.com 】
SQL> show parameter undo
NAME                                 TYPE        VALUE
------------------------------------ ----------- --------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS2
9. 等待原UNDO表空间所有UNDO SEGMENT OFFLINE;
select usn,xacts,status,rssize/1024/1024,hwmsize/1024/1024, shrinks from v$rollstat order by rssize;
select t.segment_name,t.tablespace_name,t.segment_id,t.status from dba_rollback_segs t;
      SEGMENT_NAME      TABLESPACE_NAME SEGMENT_ID   STATUS
1     SYSTEM             SYSTEM          0           ONLINE
2     _SYSSMU1$          UNDOTBS1        1           OFFLINE
3     _SYSSMU2$          UNDOTBS1        2           OFFLINE
4     _SYSSMU47$         UNDOTBS1        47          OFFLINE
上面对应的UNDOTBS1还原表空间所对应的回滚段均为OFFLINE
 
10.到$ORACLE_HOME/dbs/init$ORACLE_SID.ora如下内容是否发生变更:
#cat $ORACLE_HOME/dbs/initddptest.ora
……
*.undo_management=’AUTO’
*.undo_retention=10800
*.undo_tablespace=’UNDOTBS2’
……
如果没有发生变更请执行如下语句:
SQL> create pfile from spfile;
File created.

























11. 删除原有的UNDO表空间;
SQL> drop tablespace undotbs1 including contents;

最后需要在重启数据库或者重启计算机后到存储数据文件的路径下删除数据文件(为什么要手动删除呢:以上步骤只是删除了ORACLE中undo表空间的逻辑关系,即删除了数据文件在数据字典中的关联,不会自动删除项关联的数据文件)。
 
drop tablespace undotbs1 including contents and datafiles;


    
 
 

您可能感兴趣的文章:

  • 在Redhat7.2+Oracle8i如果硬件配置中用P4处理器,对oracle的安装有没有影响(100分)
  • Oracle控制文件多元化处理
  • 关于ORACLE中执行批处理的问题
  • oracle删除文件后数据库启动不了的处理方法
  • MS Server和Oracle中对NULL处理的一些细节差异
  • ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法
  • Oracle 10g中用FIRALL处理非连续数组
  • 重新安装主机后ORACLE DB的处理
  • 轻轻松松学会在Oracle中实现时间相加处理
  • Linux系统下导出ORACLE数据库出现Exporting questionable statistics.错误 处理
  • 处理Oracle数据库中杀不掉的锁
  • oracle 11g导出数据时报ORA 1455错误的处理方法
  • redhat 下 oracle proc 预处理总是留下 tpXXXXXX 的临时文件
  • Oracle时间精确到时、分、秒处理方案
  • 一次Oracle故障处理过程
  • Oracle 插入超4000字节的CLOB字段的处理方法
  • Oracle 10g中用FORALL处理非连续数组
  • Oracle对于死锁的处理方法
  • Oracle中关于处理小数点位数的几个函数
  • SQL Server和Oracle并行处理比较分析
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • ORACLE 中修改用户密码的方法
  • Linux下完全卸载ORACLE 10G的方法
  • 将Oracle 8i数据成功移植Oracle 10g的方法
  • Oracle Connect to Idle Instance解决方法
  • oracle增加表空间大小两种实现方法
  • linux下用ODBC链接Oracle怎么连啊?跪求具体方法!!!
  • Linux系统下查看oracle SID的方法
  • oracle 彻底删除方法
  • window中oracle环境变量设置方法分享
  • Oracle 忘记密码的找回方法
  • oracle的job不能运行问题的解决方法
  • Linux下Oracle 10G DBCA等汉字乱码解决方法
  • Oracle中serveroutput参数一次设置永久保存方法
  • Oracle指定IP访问数据库方法
  • Oracle SID存在解決方法
  • 登录oracle数据库时密码忘记的解决方法
  • PB7 连接 Oracle 的设置方法
  • Oracle删除后不能重新安装的解决方法
  • 跪求UNIX 下C用OCI连接ORACLE方法。高手进!!!
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,