有以下處理方法:

目前成都創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、哈爾濱網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
方法1:修改數(shù)據(jù)文件的擴(kuò)展性
alter?database?datafile?'文件路徑'?autoextend?on?next?100m?maxsize?4000M;
方法2:給表空間增加新的數(shù)據(jù)文件
alter?tablespace?表空間名?add?datafile?'數(shù)據(jù)文件路徑‘?size?1000m?autoextend?on?next?100m?maxsize?4000M;
首先不知道你的數(shù)據(jù)庫在什么系統(tǒng)下:
window:
找到數(shù)據(jù)文件存放的位置,比如D:\存放的是oracle的數(shù)據(jù)文件,如果表空間采用的是自動(dòng)管理方式,考慮將一些數(shù)據(jù)文件移到其他盤符下,比如:e:\等
linux/unix
du -sk * 查看oracle數(shù)據(jù)庫相關(guān)文件夾下每個(gè)文件的空間使用情況,刪除垃圾文件
如果沒有垃圾文件,嘗試整理表空間,可以釋放一些空間,只是暫時(shí)解決文件
增加裸設(shè)備
如果使用asm的方式管理的,考慮將asm里增加pv。
以上,希望能幫助你!
可以擴(kuò)展 數(shù)據(jù)文件, 如果數(shù)據(jù)文件沒有到最大尺寸的話, 也可以增加數(shù)據(jù)文件到表空間。
askmaclean oracle
刪除表空間(只有表空間中沒有任何的數(shù)據(jù)時(shí)才能刪除)
drop tablespace ygj_data;
刪除臨時(shí)表空間
drop tablespace ygj_temp;
刪除用戶(CASCADE會(huì)把該用戶的全部表等關(guān)聯(lián)信息一并刪除)
drop user atf_ygj2 CASCADE;
解決方案
執(zhí)行
alter?table?jk_test?move
或
alter?table?jk_test?move?storage(initial?64k)
或
alter?table?jk_test?deallocate?unused
或
alter?table?jk_test?shrink?space.
注意:因?yàn)閍lter table jk_test move 是通過消除行遷移,清除空間碎片,刪除空閑空間,實(shí)現(xiàn)縮小所占的空間,但會(huì)導(dǎo)致此表上的索引無效(因?yàn)镽OWID變了,無法找到),所以執(zhí)行 move 就需要重建索引。
找到表對(duì)應(yīng)的索引
select?index_name,table_name,tablespace_name,index_type,status??from?dba_indexes??where?table_owner='SCOTT'
根據(jù)status 的值,重建無效的就行了。sql='alter index '||index_name||' rebuild'; 使用存儲(chǔ)過程執(zhí)行,稍微安慰。
還要注意alter table move過程中會(huì)產(chǎn)生鎖,應(yīng)該避免在業(yè)務(wù)高峰期操作!
另外說明:truncate table jk_test 會(huì)執(zhí)行的更快,而且其所占的空間也會(huì)釋放,應(yīng)該是truncate 語句執(zhí)行后是不會(huì)進(jìn)入oracle回收站(recylebin)的緣故。如果drop 一個(gè)表加上purge 也不會(huì)進(jìn)回收站(在此里面的數(shù)據(jù)可以通過flashback找回)。
不管是delete還是truncate 相應(yīng)數(shù)據(jù)文件的大小并不會(huì)改變,如果想改變數(shù)據(jù)文件所占空間大小可執(zhí)行如下語句:
alter?database?datafile?'filename'?resize?8g
重定義數(shù)據(jù)文件的大小(不能小于該數(shù)據(jù)文件已用空間的大小)。
另補(bǔ)充一些PURGE知識(shí)
Purge操作:
1). Purge tablespace tablespace_name : 用于清空表空間的Recycle Bin
2). Purge tablespace tablespace_name user user_name: 清空指定表空間的Recycle Bin中指定用戶的對(duì)象
3). Purge recyclebin: 刪除當(dāng)前用戶的Recycle Bin中的對(duì)象。
4). Purge dba_recyclebin: 刪除所有用戶的Recycle Bin中的對(duì)象,該命令要sysdba權(quán)限
5). Drop table table_name purge:??刪除對(duì)象并且不放在Recycle Bin中,即永久的刪除,不能用Flashback恢復(fù)。
6). Purge index recycle_bin_object_name: 當(dāng)想釋放Recycle bin的空間,又想能恢復(fù)表時(shí),可以通過釋放該對(duì)象的index所占用的空間來緩解空間壓力。 因?yàn)樗饕强梢灾亟ǖ摹?/p>
二、如果某些表占用了數(shù)據(jù)文件的最后一些塊,則需要先將該表導(dǎo)出或移動(dòng)到其他的表空間中,然后刪除表,再進(jìn)行收縮。不過如果是移動(dòng)到其他的表空間,需要重建其索引。
1、
SQL?alter?table?t_obj?move?tablespace?t_tbs1;???---移動(dòng)表到其它表空間
也可以直接使用exp和imp來進(jìn)行
2、
SQLalter?owner.index_name?rebuild;?????--重建索引
3、刪除原來的表空間
據(jù)我現(xiàn)在知道的情況是,oracle的索引會(huì)有很多無效的索引目錄,因?yàn)閿?shù)據(jù)的修改(刪除,更新)導(dǎo)致一些索引無效,但他們?nèi)匀徽紦?jù)著空間。
下面是收集到的資料:
接合索引COALESCING INDEXES(碎片整理)
ALTER INDEX INDX COALESCE;
檢查索引的有效性(一個(gè)更新索引統(tǒng)計(jì)信息的過程,相應(yīng)數(shù)據(jù)字典中相關(guān)的信息發(fā)生改變)
ANALYZE INDEX IDX VALIDATE STRUCTURE;
DESC INDEX_STATS;
希望回到能夠解答你的疑惑
分享文章:oracle索引空間怎么清理,oracle 修改索引表空間
本文鏈接:http://www.yijiale78.com/article48/dsihjep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站、外貿(mào)建站、全網(wǎng)營銷推廣、建站公司、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)