1. 程式人生 > >UNDOTBS01.DBF太大的解決方法

UNDOTBS01.DBF太大的解決方法

問題來源

工作環境的物理空間幾乎滿了,檢視資料庫對應的物理檔案,發現UNDOTBS01.DBF佔了4個多G的空間

問題解決文章地址

具體操作記錄

1.想升級系統軟體,發現空間不夠,使用df -h檢視磁碟空間使用情況

2.檢視資料庫物理檔案佔用空間大小,在/u01/app/oracle/product/10.2.0/oradata/qyb6(其中qyb6為資料庫例項名,不同環境可能位置不同)

ll -h 發現UNDOTBS01.DBF佔用4個多G的空間

3.對資料庫進行操作的過程

以SYS使用者登入Oracle 自帶的SQL*PLUS的方法:

sys

sys

oracle as sysdba

1-- 建立一個新的小空間的UNDO TABLESPACE

CREATE UNDO TABLESPACEUNDOTBS2 DATAFILE '/u01/app/oracle/product/10.2.0/oradata/qyb6/UNDOTBS02.DBF' SIZE 100M REUSE AUTOEXTEND ON;

2-- 設定新的表空間為系統UNDO_TABLESPACE

ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;

3—在配置檔案中修改undo_tablespace的設定

D:\oracle\product\10.1.0\db_1\database\initoracle.ora

在本系統的位置及檔名稱/u01/app/oracle/product/10.2.0/db_1/dbs/initqyb6.ora

即cd $ORACLE_HOME/dbs目錄下

將其中的undo_tablespace=UNDOTBS1 改為UNDOTBS2

4—重啟資料庫

方法一:採用命令SHUTDOWN IMMEDIATE 關閉資料庫,然後再採用命令STARTUP 重新開啟資料庫;

方法二:重啟計算機(推薦)

5-- DROP 舊的表空間

DROP TABLESPACEUNDOTBS1 INCLUDINGCONTENTS AND DATAFILES;  

查詢所有表空間情況: SELECT NAME FROM V$DATAFILE;

空間得到恢復利用