对于undotbs01.dbf文件太大的处理办法

简介:

缩小Oracle目录下UNDOTBS01.DBF文件的大小


使用sys用户登录Oracle

方法一:重置表空间大小

linux下执行

ALTER DATABASE DATAFILE '/opt/oracle/oradata/res/undotbs01.dbf' RESIZE 100M;

windows下执行ALTER DATABASE DATAFILE 'E:\ORACLE\ORADATA\UNDOTBS01.DBF' RESIZE 100M;


其中 '/opt/oracle/oradata/res/undotbs01.dbf' 为您系统中UNDOTBS01.DBF文件的存储路径;100M为重置后的大小,根据需要修改。


如果方法一无法执行,可使用方法二

方法二:新建UNDO表空间,替换原来的UNDO表空间

1. 创建一个新的小的undo表空间

linux下执行:

create undo tablespace undotbs2 datafile '/opt/oracle/oradata/res/undotbs02.dbf' size 100M reuse autoextend on;

其中‘/opt/oracle/oradata/res/undotbs02.dbf’为表空间文件想要存储的位置。100M表示新的表空间的初始大小。

windows下执行:

CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'E:\oradata\UNDOTBS02.DBF' SIZE 100M REUSE AUTOEXTEND ON;



2. 设置新的表空间为系统的Undo表空间

执行

ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;


3. 重启数据库

可以使用sys用户,从sqlplus登录,执行startup force命令,强制重启


4. 删除旧的Undo表空间

依旧使用sys用户登录,执行

DROP TABLESPACE UNDOTBS01 INCLUDING CONTENTS AND DATAFILES;


至此,UNDOTBS01.DBF文件缩小完毕,如果想要还原原来的表空间名称,重新执行方法二即可。







      本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1975173,如需转载请自行联系原作者


相关文章
|
Oracle 关系型数据库 数据库
实战篇:Oracle 数据坏块的 N 种修复方式
实战篇:Oracle 数据坏块的 N 种修复方式
实战篇:Oracle 数据坏块的 N 种修复方式
|
存储 SQL Oracle
索引使用的好处与坏处(Oracle测试)(上)
索引使用的好处与坏处(Oracle测试)(上)
166 0
|
SQL Oracle 关系型数据库
索引使用的好处与坏处(Oracle测试)(下)
索引使用的好处与坏处(Oracle测试)(下)
134 0
|
Oracle 关系型数据库 索引
ORACLE关于索引是否需要定期重建争论的整理
ORACLE数据库中的索引到底要不要定期重建呢? 如果不需要定期重建,那么理由是什么? 如果需要定期重建,那么理由又是什么?另外,如果需要定期重建,那么满足那些条件的索引才需要重建呢?关于这个问题,网上也有很多争论,也一直让我有点困惑,因为总有点不得庐山真面目的感觉,直到上周看到了一些资料,遂整理于此,方便以后翻阅:   首先来看看网上关于索引需要重建的准则或标准:    一:分析(analyze)指定索引之后,查询index_stats的height字段的值,如果这个值>=4 ,最好重建(rebuild)这个索引。
1874 0
|
Oracle 关系型数据库 数据库