加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2013-11-15 15:46:13)
标签:

oracle

ora-30036

undotbs1

it

分类: Oracle
原因:undotbs1表空间不够

解决办法:

用plsql工具(好像toad里面不起作用),在命令窗口执行如下命令:

1、直接更改现在的UNDOTBS1大小

alter database datafile 'E:\Oracle_12c_Database\oradata\rmdb2\UNDOTBS01.DBF' resize 65536M;

其中引号中的文件路径为你自己安装的数据库对应文件路径。

2、创建一个新的undotbs,并使用新的undotbs

CREATE BIGFILE UNDO TABLESPACE undotbs2 DATAFILE 'E:\Oracle_12c_Database\oradata\rmdb2\UNDOTBS02.DBF' SIZE 65536M;

更改系统undotbs:

ALTER SYSTEM SET undo_tablespace=undotbs2;

此时可以删除原来的UNDOTBS1:

DROP TABLESPACE undotbs1;

利用SELECT tablespace_name FROM dba_tablespaces WHERE contents='UNDO';可以查看现在的undotbs有哪些。

但是你会发现文件路径中E:\Oracle_12c_Database\oradata\rmdb2\UNDOTBS01.DBF还是无法删除的。

这是因为数据库启动时使用的该文件。

到数据库安装目录E:\Oracle_12c_Database\product\12.1.0\dbhome_1\dbs下init.ora文件中可以找到有一句

undo_tablespace='UNDOTBS1'

将它改成undo_tablespace='UNDOTBS2'

重启数据库或重启服务器后,可删掉UNDOTBS01.DBF。

建议用第一种方法简单快捷,除非UNDOTBS01.DBF损坏可以用第二种方法。

可以参考如下文章:
http://blog.sina.com.cn/s/blog_676255e101018d5s.html
http://blog.sina.com.cn/s/blog_6170af260100f7in.html


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有