加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 14:20:26 所属栏目:百科 来源:网络整理
导读:缩小Oracle目录下UNDOTBS01.DBF文件的大小 使用sys用户登录Oracle 方法一:重置表空间大小 linux下执行 ALTER DATABASE DATAFILE '/opt/oracle/oradata/res/undotbs01.dbf' RESIZE 100M; windows下执行ALTERDATABASEDATAFILE'E:ORACLEORADATAUNDOTBS01.DB

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


使用sys用户登录Oracle

方法一:重置表空间大小

linux下执行

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

windows下执行ALTERDATABASEDATAFILE'E:ORACLEORADATAUNDOTBS01.DBF'RESIZE100M;


其中'/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 UNDOTABLESPACEUNDOTBS2 DATAFILE'E:oradataUNDOTBS02.DBF' SIZE 100M REUSEAUTOEXTENDON;



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

执行

ALTERSYSTEMSETUNDO_TABLESPACE=UNDOTBS2;


3. 重启数据库

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


4. 删除旧的Undo表空间

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

DROPTABLESPACE UNDOTBS01 INCLUDINGCONTENTSAND DATAFILES;


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读