oracle undo表空間滿了 如何讓Oracle釋放undo表空間?
如何讓Oracle釋放undo表空間?為了清理這部分空間,使用以下步驟完成更換操作。1創(chuàng)建新的undo表空間undobs2創(chuàng)建undo表空間undotbs2數(shù)據(jù)庫“/u01/APP/Oracle/or
如何讓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用實(shí)際Oracle數(shù)據(jù)庫路徑2替換紅色部分。Switch system table space alter system set undo able space=undotbs2 scope=both將Oracle的當(dāng)前undo表空間切換到undotbs2。三。重新啟動(dòng)數(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ù)第三步操作,重新啟動(dòng)數(shù)據(jù)庫
通過此SQL語句,可以查詢會話對應(yīng)的活動(dòng)事務(wù)所使用的撤消段名稱和該段占用的撤消空間。對于非活動(dòng)事務(wù),所占用的撤消空間由Oracle實(shí)例根據(jù)參數(shù)配置自動(dòng)管理。從dba_u2;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按segment 2; name排序,我們需要區(qū)分要收縮的表空間是undo表空間、temp表空間還是普通數(shù)據(jù)表空間。
1. 如果它是臨時(shí)表空間,則可以在刪除后重建。
2. 如果是撤消表空間,則創(chuàng)建新的撤消表空間,將新的撤消表空間指定為默認(rèn)數(shù)據(jù)庫表空間,并刪除原始的撤消表空間。
3. 如果是數(shù)據(jù)表空間,則可以通過表空間遷移來降低高水位,并執(zhí)行收縮表空間來釋放空間。