undotbs1表空間滿了 oracle11gr2undo表空間使用率高如何查看是什么語(yǔ)句造成的?
oracle11gr2undo表空間使用率高如何查看是什么語(yǔ)句造成的?通過(guò)這個(gè)SQL語(yǔ)句可以查詢到會(huì)話對(duì)應(yīng)的活動(dòng)事務(wù)使用的UNDO段名稱,以及該段占用的UNDO空間大小,對(duì)于非活動(dòng)事務(wù)占用了UNDO空
oracle11gr2undo表空間使用率高如何查看是什么語(yǔ)句造成的?
通過(guò)這個(gè)SQL語(yǔ)句可以查詢到會(huì)話對(duì)應(yīng)的活動(dòng)事務(wù)使用的UNDO段名稱,以及該段占用的UNDO空間大小,對(duì)于非活動(dòng)事務(wù)占用了UNDO空間是由Oracle實(shí)例根據(jù)參數(shù)配置自動(dòng)化管理的。select s.sid,s.serial#,s.sql_id,v.usn,segment_name,r.status, v.rssize/1024/1024 mb From dba_rollback_segs r, v$rollstat v,v$transaction t,v$session s Where r.segment_id = v.usn and v.usn=t.xidusn and t.addr=s.taddr order by segment_name
如何刪除oracle undo表空間占用的空間?
系統(tǒng)在使用多年以后,隨著數(shù)據(jù)的頻繁操作,導(dǎo)致oracle的undo表空間在不停增大,占用了磁盤空間。 為了清理這部分的空間,下面通過(guò)如下幾個(gè)步驟完成替換操作。 1、創(chuàng)建新的undo表空間undotbs2 CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE "/u01/app/oracle/oradata/mydb/undo02.dbf" SIZE 512M REUSE AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED RETENTION NOGUARANTEE BLOCKSIZE 8K FLASHBACK ON 將紅色部分替換為實(shí)際的oracle數(shù)據(jù)庫(kù)路徑 2、切換系統(tǒng)表空間 alter system set undo_tablespace=UNDOTBS2 scope=both 讓oracle的當(dāng)前undo表空間切換到undotbs2上 3、重啟數(shù)據(jù)庫(kù) 通過(guò)命令行方式登錄數(shù)據(jù)庫(kù), [root$smserver] sqlplus /nolog [root$smserver]conn / as sysdba [root$smserver] shutdown immediate[root$smserver] startup 4、刪除原來(lái)undo內(nèi)容 drop tablespace undotbs1 including contents and datafiles 5、重復(fù)第三部操作,重啟數(shù)據(jù)庫(kù) 6、手工刪除原來(lái)undotbs對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件