oracle undo管理机制,Oracle UNDO数据概念和管理
UNDO數據也稱為回滾(ROLLBACK)數據,它用于確保數據的一致性.UNDO表空間用于存放UNDO數據,當執行DML操作(INSERT,UPDATE和DELETE)時,oracle會將這些操作的舊數據寫入到UNDO段,在oracle9i之前,管理UNDO數據時使用(Rollback Segment)完成的.從oracle9i開始,管理UNDO數據不僅可以使用回滾段,還可以使用UNDO表空間.因為規劃和管理回滾段比較復雜,所有oracle database 10g已經完全丟棄用回滾段.并且使用UNDO表空間來管理UNDO數據.
UNDOTBS1是一個回滾表空間,隨著數據庫的使用,默認會自動擴展。當它增大到一定程度,占用了過多的磁盤空間時,就需要定時進行清理了。1. 登陸到數據庫
oracle@suse:~> sqlplus '/as sysdba'2. 創建一個新的回滾段表空間
SQL> create undo tablespace undotbs2 datafile '%oracle_home%/oradata/DBSID/undotbs02.dbf' size 500M;
Tablespace created.
3. 將回滾段指向新的表空間
SQL> alter system set undo_tablespace=undotbs2 scope=spfile;
System altered.4. 重新啟動數據庫
SQL> startup force
ORACLE instance started.
5. 因為oracle9i默認是自動管理回滾段,為了防止其無限制的增長,可以將其設置為人工管理:
SQL> alter system set undo_management =MANUAL scope=spfile;
System altered.
(本人建議:還是讓數據庫自動管理回滾段比較好,可以定期清理該表空間)7. 刪除原來的回滾段:
SQL> drop tablespace undotbs1 including contents and datafiles;
Tablespace dropped.
總結
以上是生活随笔為你收集整理的oracle undo管理机制,Oracle UNDO数据概念和管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1万并发服务器配置_小程序后端服务器搭建
- 下一篇: mysql到mysqli转变表_利用my