1.查看UNDO表空间使用情况

select tablespace_name,
       round(sum(decode(status, 'ACTIVE', bytes, 'UNEXPIRED', bytes, 0)) * 100 /
             sum(bytes),
             2) || '%' "used %"
  from DBA_UNDO_EXTENTS
 group by tablespace_name
 order by 1;

V$ROLLSTAT

只有在 automatic undo management mode 模式下有效,包含回滚段的一些行为。

V$UNDOSTAT

这个视图只在 automatic undo management mode 模式下才有意义。包含监控和调试 UNDO 表空间的信息,通过这个视图可以估计现有数据库所需的 UNDO 表空间的大小。

2.查看回滚段信息

select rownum,sys.dba_rollback_segs.segment_name Name,v$rollstat.extents Extents,
v$rollstat.rssize Size_in_Bytes,v$rollstat.xacts XActs,
v$rollstat.gets Gets,v$rollstat.waits Waits,v$rollstat.writes Writes,sys.dba_rollback_segs.status status
from v$rollstat,sys.dba_rollback_segs,v$rollname
where v$rollname.name(+) = sys.dba_rollback_segs.segment_name and v$rollstat.usn(+) = v$rollname.usn
order by rownum;

3.查看表空间数据文件所在位置

select file_name,tablespace_name from dba_data_files where tablespace_name = 'UNDOTBS1';

检查数据库的undo表空间是否自动扩展 

select FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE,STATUS,MAXBYTES,USER_BYTES from dba_data_files where tablespace_name like '%UNDO%';

4.修改UNDO表空间数据文件大小

alter database datafile '/oradata/datafile/UNDOTBS01.DBF' resize 300M;

alter database datafile '/oradata/datafile/UNDOTBS01.DBF' AUTOEXTEND ON NEXT 100M MAXSIZE 1000M;

5.UNDO表空间添加数据文件

SQL> alter tablespace UNDOTBS1 add datafile '/oradata/datafile/undotbs1_02.dbf' size 32000M;

Tablespace altered.

如果是自动扩展改成

SQL> alter tablespace UNDOTBS1 add datafile '/oradata/datafile/undotbs1_02.dbf' SIZE 5000M AUTOEXTEND ON NEXT 1000M MAXSIZE 32000M;

6.也可以考虑切换UNDO表空间

方法一

新建undo表空间,switch到新表空间,在把旧的undo表空间删除,具体操作如下:(不关闭数据库的情况下)

create tablespace new_name datafile 'D:\APP\ORADATA\ORCL\EXAMPLE01.DBF' size 2G;

alter system set undo_tablespace=new_name;

等待旧的undo表空间事物全部结束后执行:

alter database datafile 'D:\APP\SUNMI\ORADATA\ORCL\UNDOTBS01.DBF' offline;

alter database datafile 'D:\APP\SUNMI\ORADATA\ORCL\UNDOTBS01.DBF' offline drop ;

方法二

把数据库先mount起来,在把undo表空间删除,重新建立,在打开数据库就可以了(关闭数据库的情况)

7.undo_retention设置以及优化(默认900秒)

针对自动拓展的undo表空间设置undo_retention是有效的,在undo_retention的范围内,undo表空间中的数据将尽量不被重新覆盖,仅仅是尽量,不是完全。但是打开了自动拓展之后,有可能在undo_retention时间段内扩展到很大,造成隐患。
针对没有开自动拓展的undo表空间,设置了undo_retention之后,在oracle 10g之后会忽略掉该设置,而是根据undo表空间的大小和使用率来自动调整undo信息的保留时间。

ALTER SYSTEM SET undo_retention=10800 SCOPE=BOTH;

Oracle UNDOTBS表空间的查看与扩容的更多相关文章

  1. 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

    查看Oracle数据库表空间大小(空闲.已使用),是否要增加表空间的数据文件 1.查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1 ...

  2. oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录

    oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用 ...

  3. Oracle 设置表空间自增长

    Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...

  4. Oracle Temp表空间切换

    来源于:  http://www.2cto.com/database/201507/418564.html 一.TEMP表空间作用 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时 ...

  5. Oracle创建表空间和表

    创建表空间和表ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的oracle中的表就是一张存储数据的表.表空间是逻辑上的划分.方便管理的.数据表空间 (Tablesp ...

  6. [转载]Oracle修改表空间大小

    Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...

  7. oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段

    今天在查数据的时候报错  ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace,        b.segfile# ...

  8. Oracle创建表空间、用户管理、角色管理

    内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...

  9. Oracle system表空间满的暂定解决方法

    Oracle system表空间满的暂定解决方法 数据库用的是Oracle Express 10.2版本的.利用Oracle Text做全文检索应用,创建用户yxl时没有初始化默认表空间,在系统开发过 ...

  10. oracle创建表空间 扩展表空间文件 修改表空间自动增长

    1. 创建表空间 create tablespace SIRM2  datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 10 ...

随机推荐

  1. hive中对时间处理的函数总结

    日期转为时间戳 unix_timestamp('2022-11-12 00:00:00.000') 结果:1668182400 from_unixtime(unix_timestamp('2022-1 ...

  2. redis底层数据结构之跳表(skiplist)

    跳表(跳跃表, skiplist) 跳跃表(skiplist)是用于有序元素序列快速搜索查找的数据结构,跳表是一个随机化的数据结构,实质是一种可以进行二分查找的.具有层次结构的有序链表 跳表在原有的有 ...

  3. 探索如何在java中执行python脚本

    一个偶然的场景,笔者需要在java代码中执行某个python脚本,并且需要向脚本中传递参数,有可能的话,还要获取该脚本的某些执行结果,回到主程序中继续执行下去. 没有思路之前,狭隘的想法是,java中 ...

  4. 蓝牙mesh组网实践(配网方式的选择)

    目录 本测试基于CH582m单片机,尝试进行简单的组网. 沁恒官方EVT中提供了两种配网方式--配网器配网和自配网. ①配网器配网:用一个设备(一块582开发板)作为配网器,也就是沁恒蓝牙mesh软件 ...

  5. js中的加法运算

  6. Mybatisplus-Generator代码生成器-简单示例

    简单示例 import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotatio ...

  7. css悬浮动画

    1.Grow-Shadow /* Grow-Shadow */ .hvr-grow-shadow { display: inline-block; vertical-align: middle; -w ...

  8. Jenkins提供了哪些功能

    我的这篇文章仅仅是简单的根据上文,介绍Jenkins提供了哪些功能.具体大家还是要自己学习啦~ 官网首页就提供了windows版本的Jenkins安装包.我们可以下载一个用于学习.安装后自动打开htt ...

  9. Linux的常用命令符标注

    1.who命令--显示目前登录系统的用户信息. 语法:who(选项)(参数)参数:查询的文件 常用选项:-h:显示各栏位的标题信息列. -w:显示用户的信息状态栏. -q:显示登陆入系统的账号名称和总 ...

  10. iOS系统自带的扫码功能(二维码+条形码+识别本地图片)

    扫码采用类库:AVFoundation 1.相关权限 1).需要在info.plist中添加以下权限:Privacy - Camera Usage Description(使用摄像机的权限说明) 2) ...