共计 1017 个字符,预计需要花费 3 分钟才能阅读完成。
缩小 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 文件缩小完毕,如果想要还原原来的表空间名称,重新执行方法二即可。
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2018-01/150459.htm