時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
在日常的數(shù)據(jù)庫維護和數(shù)據(jù)庫編程中經(jīng)常會遇到猶豫對大數(shù)據(jù)量做DML操作后是得ORACLE的undo表空間擴展到十幾個G或者幾十個G 但是這些表空間的所占用磁盤的物理空間又不會被oracle所釋放,如果你用的是PC機很可能會遇到磁盤空間不足的問題,經(jīng)過個人整理經(jīng)過如下操作可以重構(gòu)undo表空間,同樣temp表空間也可能在你查詢大數(shù)據(jù)或則創(chuàng)建索引的時候無限擴大導致磁盤空間不足,同樣可以用如下方式解決此問題:
--查看各表空間名稱
select name from v$tablespace
--查看某個表空間信息
select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1';
--查看回滾段的使用情況,哪個用戶正在使用回滾段的資源,如果有用戶最好更換時間(特別是生產(chǎn)環(huán)境)。
select s.username, u.name from v$transaction t,v$rollstat r, v$rollname u,v$session s
where s.taddr=t.addr and? t.xidusn=r.usn and r.usn=u.usn order by s.username;
--檢查UNDO Segment狀態(tài)
select usn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;
--創(chuàng)建新的UNDO表空間,并設(shè)置自動擴展參數(shù);
create undo tablespace undotbs2 datafile 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' size 10m reuse autoextend on next 100m maxsize unlimited;
-- 動態(tài)更改spfile配置文件;
alter system set undo_tablespace=undotbs2 scope=both;
--等待原UNDO表空間所有UNDO SEGMENT OFFLINE;
select usn,xacts,status,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;
--再執(zhí)行看UNDO表空間所有UNDO SEGMENT ONLINE;
select usn,xacts,status,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;
-- 刪除原有的UNDO表空間;
drop tablespace undotbs1 including contents;
--確認刪除是否成功;
select name from v$tablespace;
最后需要在重啟數(shù)據(jù)庫或者重啟計算機后到存儲數(shù)據(jù)文件的路徑下刪除數(shù)據(jù)文件(為什么要手動刪除呢:以上步驟只是刪除了ORACLE中undo表空間的邏輯關(guān)系,即刪除了數(shù)據(jù)文件在數(shù)據(jù)字典中的關(guān)聯(lián),不會自動刪除項關(guān)聯(lián)的數(shù)據(jù)文件)。
關(guān)鍵詞標簽:ORACLE,ORACLE釋放und
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法