天天看點

對于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,如需轉載請自行聯系原作者