# ORA-30036:无法按8扩展段(在还原表空间xxx中)

转载自:
[https://blog.csdn.net/labixiaofeng/article/details/73483143]

1.什么是还原表空间?

还原表空间即Undo表空间,是Oracle特有的概念,Undo表空间会自动分配Undo段,用来保存事务中DML( Insert、Update或Delete)语句的Undo数据。在Oracle9i前,管理Undo数据只能使用Rollback Segment。从Oracle9i开始,管理Undo数据不仅可以使用回滚段,还可以使用Undo表空间。而由于管理里规划回滚段太过复杂,Oracle10g已经弃用回滚段,仅使用Undo表空间来管理Undo数据。


2.什么是Undo数据?

Undo数据也称回滚数据,当执行DML语句时,事务操作过程中的数据被称为Undo数据,主要有两个作用:

  • 确保事务一致性:如果事务发生错误或者用户想要取消数据库操作,则可以通过Rollback回到修改前的值。
  • 提供一致性读:如表T有100条记录,用户A在表T执行了语句删除掉10条记录,尚未提交,此时用户B执行查询语句,将返回100条记录而不是90条。

3.如何解决?

言归正传,开始解决问题,首先我们查看当前实例使用的Undo表空间:

SQL> show parameter undo;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1

可以看到,使用的Undo表空间为“UNDOTBS1”,与报错内容中的名字一致。接下来查看数据库可用的Undo表空间:

SQL> SELECT tablespace_name FROM dba_tablespaces WHERE contents='UNDO';

TABLESPACE_NAME
------------------------------
UNDOTBS1
UNDOTBS2

结果显示有两个Undo表空间可用,分别为UNDOTBS1、UNDOTBS2。我们来看看这两个表空间的使用情况:

------查看表空间使用情况
select b.tablespace_name as "表空间",
       b.file_name as "物理文件名",
       b.bytes / 1024 / 1024 as "当前大小(M)",
       (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 as "已使用(M)",
       substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) as "使用率(%)",
       case b.autoextensible
         when 'YES' then '是'
         else '否'
       end as "是否自增",
       b.maxbytes / 1024 / 1024 as "自增最大容量(M)"
  from dba_free_space a, dba_data_files b
 where a.file_id = b.file_id
   and a.tablespace_name in ('UNDOTBS1', 'UNDOTBS2')
 group by b.tablespace_name, b.file_name, b.bytes, b.autoextensible, b.maxbytes
 order by b.tablespace_name;
表空间 物理文件名 当前大小(M) 已使用(M) 使用率(%) 是否自增 自增最大容量(M)
UNDOTBS1 +DATADG/esbmssdb/datafile/undotbs1.2.dbf 8192 8140 99.36 0
UNDOTBS1 +DATADG/esbmssdb/datafile/undotbs1.3.dbf 90 89 98.88 0
UNDOTBS2 +DATADG/esbmssdb/datafile/undotbs2.2.dbf 8192 96.3125 1.175 0
UNDOTBS2 +DATADG/esbmssdb/datafile/undotbs2.3.dbf 5725 212.125 3.705 0

可以看到,UNDOTBS1有两个数据文件来存储Undo数据,使用率都到达了90%以上,所剩空间已不足。解决的办法有三个:

1.为表空间增加数据文件

alter tablespace UNDOTBS1
      add datafile '+DATADG/esbmssdb/datafile/undotbs1.4.dbf' --数据文件名
      size 100M --初始大小
      autoextend on next 1M maxsize 8192M; --自增,每次增加1M,最大为8192M

2.设置文件自动扩展

alter database 
      datafile '+DATADG/esbmssdb/datafile/undotbs1.3.dbf' 
      autoextend on next 1M maxsize 8192M;

3.切换Undo表空间

alter system set undo_tablespace = UNDOTBS2;

注:如果数据库中只有一个可用的Undo表空间,则使用前两种方法。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容

  • 具体细节 请去掘金购买《MySQL 是怎样运行的:从根儿上理解 MySQL》 通用链表结构(页通过这些pageNu...
    简书徐小耳阅读 1,083评论 0 0
  • oracle用户与表空间关系 用户=商家 表=商品 表空间=仓库 1. 1个商家能有很多商品,1个商品只能属于一个...
    千叶飞雪阅读 1,961评论 0 2
  • 事务隔离 ITL ITL: Interested Transaction List,也叫事务槽,它位于BLOCK ...
    eric_gao阅读 853评论 0 0
  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 748评论 0 3
  • 今年寒假带儿子去了一趟珠海长隆。逃离阴冷潮湿的魔都,来到阳光明媚的新鲜之地,置身欢声笑语的游乐王国,心情自然是愉悦...
    七菽阅读 496评论 7 5