Oracle数据库ORA-30036解决办法

栏目: 数据库 · 发布时间: 6年前

ORA-30036:unable to extend segment by 8 in undo tablespace 'UNDOTBS1'

出现问题原因:

大批量导入某表时imp报错如下:

Export file created by EXPORT:V11.02.00 via conventional path

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set

import server uses WE8MSWIN1252 character set (possible charset conversion)

.....

IMP-00058:Oracle error 30036 encountered

ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'

IMP-00028: partial import of previous table rolled back: 814416 rows rolled back

IMP-00057: Warning: Dump file may not contain data of all partitions of this table

Import terminated successfully with warnings.

字面意思翻译就是:无法按8扩展字段

首先了解了一下UNDO的作用:

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数据,主要有两个作用:

1、确保事务一致性:如果事务发生错误或者用户想要取消数据库操作,则可以通过Rollback回到修改前的值。

2、提供一致性读:如表T有100条记录,用户A在表T执行了语句删除掉10条记录,尚未提交,此时用户B执行查询语句,将返回100条记录而不是90条。

再来谈一下解决办法:

1、在原有数据文件中增加扩展容量:

alter database datafile '/opt/oracle/oradata/orcl/undotbs01.dbf' resize 30G;

(注意:如果原有数据文件大小是30G的话,这个方法就不能用了,因为oralce最大文件只让配置成30G一个数据文件)

2.新增数据文件(通用):

alter tablespace UNDOTBS1 add datafile '/opt/oracle/oradata/orcl/undotbs01_01.dbf' size 30G;

--autoextend on next 1M maxsize 5000M; //可选项;目的是设置文件的自动扩展属性,从最小1M到最大5000M

3.如果有需求要创建有多个undotbs表空间,可以定时检查undo表空间,并进行切换:

alter system set undo_tablespace = undotbs02;

(注意undotbs02需要提前新建,并设置相应的数据文件大小即可)

更多Oracle相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-09/154489.htm


以上所述就是小编给大家介绍的《Oracle数据库ORA-30036解决办法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Django 1.0 Template Development

Django 1.0 Template Development

Scott Newman / Packt / 2008 / 24.99

Django is a high-level Python web application framework designed to support the rapid development of dynamic websites, web applications, and web services. Getting the most out of its template system a......一起来看看 《Django 1.0 Template Development》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具