undotbs1表空間滿了 oracle如何擴(kuò)展undo表空間?
oracle如何擴(kuò)展undo表空間?有兩種處理方法,一種是添加undo表空間的數(shù)據(jù)文件,另一種是切換undo表空間。在這種情況下,通常在撤消表空間已經(jīng)非常大的情況下使用。1添加數(shù)據(jù)文件SQL> a
oracle如何擴(kuò)展undo表空間?
有兩種處理方法,一種是添加undo表空間的數(shù)據(jù)文件,另一種是切換undo表空間。在這種情況下,通常在撤消表空間已經(jīng)非常大的情況下使用。1添加數(shù)據(jù)文件SQL> alter tablespace undo添加數(shù)據(jù)文件“D:%undo 2?!癉BF”表空間大小已更改。2切換撤消表空間1。新建表空間undo table space undotbs2 SQL>;創(chuàng)建undo table space undotbs2數(shù)據(jù)文件“D:%undo03。已創(chuàng)建DBF“size 100m重用表空間。2切換到新的撤消表空間。操作如下:SQL> alter system set undoTablespace=undotbs2 scope=both system changed。三。將原始撤消表空間設(shè)置為脫機(jī):SQL> alter table space undo offline table space has been changed。4刪除原始撤消表空間:已刪除SQL> drop table space undo including contents and datafiles cascade constraints表空間。如果只是drop tablespace undo,則只刪除控制文件中的記錄,而不會物理刪除該文件。只有在不使用表空間時才能執(zhí)行Drop undo。如果正在使用undo表空間(例如,事務(wù)失敗,但恢復(fù)尚未成功),drop table space命令將失敗。Include內(nèi)容可以在drop表空間中使用。
如何讓Oracle釋放undo表空間?
為了清理這部分空間,使用以下步驟完成更換操作。1創(chuàng)建新的undo表空間undobs2創(chuàng)建undo表空間undotbs2數(shù)據(jù)庫“/u01/APP/Oracle/oradata/mydb/undo02。DBF “size 512M reuseautotext on next 64M maxsize unlimited reservation noguarante blocksize 8K flashback on用實際Oracle數(shù)據(jù)庫路徑2替換紅色部分。Switch system table space alter system set undo able space=undotbs2 scope=both將Oracle的當(dāng)前undo表空間切換到undotbs2。三。重新啟動數(shù)據(jù)庫,通過命令行[root$smserver]sqlplus/nolog[root$smserver]conn/as SYSDBA[root$smserver]shutdown immediate[root$smserver]startup登錄數(shù)據(jù)庫。4刪除原始undo content drop表空間undotbs1,包括內(nèi)容和數(shù)據(jù)文件5。重復(fù)第三步操作,重新啟動數(shù)據(jù)庫
通過此SQL語句,可以查詢會話對應(yīng)的活動事務(wù)所使用的撤消段名稱和該段占用的撤消空間。對于非活動事務(wù),所占用的撤消空間由Oracle實例根據(jù)參數(shù)配置自動管理。從dba_2;rollback_2;segs r、v$rollstat v、v$transaction t、v$session s中選擇s.sid、s.serial#、s.sql id、v.usn、segment 2; name、r.status、v.rssize/1024/1024 mb,其中r.segment 2; id=v.usn和v.usn=t.xidusn和t.addr=s.taddr order by segment 2; name