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;
空間得到恢復利用