真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle高水位怎么看 oracle 高水位線

很精辟的oracle高水位線,終于知道DELETE和TRUNCATE為什么不一樣

兩個操作都是刪除表數(shù)據(jù)的但是實際卻又很大的不同

榮縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)公司2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

delete只是單純的刪掉表里的數(shù)據(jù),他可以添加刪除條件,但是不會將空間回收,刪除的時候有記錄日志,方便恢復(fù),但是速度比較慢

truncate table是全表清空的操作,回收空間,無日志,基本上是不可恢復(fù)的

Oracle里面 表的高水位是怎么會事情? 就是說的HWM哪個東西

在MSSM的FREELIST下, 高水位High Water Mark代表所有相關(guān)塊, 高水位以上就是未格式化unformatted 的數(shù)據(jù)塊,INSRT數(shù)據(jù)時不能直接使用。當(dāng)FREELIST中不包含可插入數(shù)據(jù)塊時 HWM默認(rèn)每次上升5個數(shù)據(jù)塊。

對于ASSM管理的BITMAP 數(shù)據(jù)段而言,Oracle允許在數(shù)據(jù)段的中部出現(xiàn)unformatted blocks未格式化的數(shù)據(jù)塊, 基于以下的原因:

一、在以前 HWM以下的數(shù)據(jù)塊必然是formatted , 為了維護(hù)這一點代價是昂貴的:

長時間持有HW enqueue 隊列鎖對并發(fā)的抑制

過于頻繁的持有HW enqueue在Oracle研發(fā)看來是罪惡的

上漲HWM 而不格式化 這樣的話更有效率,因為格式化往往涉及到 IO,是一種較慢的操作

二、 在直接路徑加載過程中,最后的一個extent中的數(shù)據(jù)塊將被全部format 格式化,而如果下一次還是direct load直接路徑加載數(shù)據(jù)的話,它不會從Freelist上獲取數(shù)據(jù)塊,而是使用HWM以上新的數(shù)據(jù)盤區(qū)extent。 如果這個數(shù)據(jù)段是典型的一直在direct load加載數(shù)據(jù)的話,則可能在freelist上有很多unused block從來不被使用,而被浪費了。 這可能造成空間的浪費,尤其是在Extent size 很大的時候 或者 數(shù)據(jù)段幾乎從來不傳統(tǒng)路徑插入數(shù)據(jù)的時候。保留這些數(shù)據(jù)塊為unformatted則可以讓加載數(shù)據(jù)時利用到這些空間空洞

如果自己搞不定可以找ASKMACLEAN專業(yè)ORACLE數(shù)據(jù)庫修復(fù)團隊成員幫您恢復(fù)!

oracle9.2如何在不使用TRUNCATE語句的情況下拉回高水位線(High

最笨最簡單也最管用的方法,就是重建表。建立一個新表將原表的數(shù)據(jù)插入到新表,刪除原表,將新表重命名就OK。

如何降低Oracle表的高水位

1. 執(zhí)行表重建指令 alter table table_name move(驗證不可行,不降低水位線,但可釋放表空間)

當(dāng)你創(chuàng)建了一個對象如表以后,不管你有沒有插入數(shù)據(jù),它都會占用一些塊,ORACLE也會給它分配必要的空間.同樣,用ALTER TABLE MOVE釋放自由空間后,還是保留了一些空間給這個表.

ALTER TABLE ... MOVE 后面不跟參數(shù)也行,不跟參數(shù)表還是在原來的表空間,Move后記住重建索引.

查詢失效索引語句:select index_name,table_name,tablespace_name,status From dba_indexes Where owner='HNUNICOM' And status'VALID';

重建索引語句:alter index INDEX_NAME rebuild tablespace TABLESPACE_NAME;

如果以后還要繼續(xù)向這個表增加數(shù)據(jù),沒有必要move,只是釋放出來的空間,只能這個表用,其他的表或者segment無法使用該空間。

2. 執(zhí)行alter table table_name shrink space;(已經(jīng)驗證成功,推薦使用,可釋放數(shù)據(jù)庫和磁盤空間空間,大表可同時降低表自身和表空間的高水位線,小表則只可以降低表自身的高水位線,原因不詳)

注意,此命令為Oracle 10g新增功能,執(zhí)行該指令之前必須允許行移動 alter table table_name enable row movement;

3. 復(fù)制要保留的數(shù)據(jù)到臨時表t,drop原表,然后rename臨時表t為原表(未驗證

4. 用EXP導(dǎo)出后,刪除原表/表空間,之后用IMP重新導(dǎo)入(驗證成功)

5. Alter table table_name deallocate unused(驗證不可行,不降低水位線)

注:這證明,DEALLOCATE UNUSED為釋放HWM上面的未使用空間,但是并不會釋放HWM下面的自由空間,也不會移動HWM的位置.

6. 盡量使用truncate(驗證不可行,不降低水位線,可釋放數(shù)據(jù)庫空間,但truncate后表默認(rèn)空間大小為刪除前的空間大小,如想釋放計算機磁盤空間,需要用方法2壓縮)

oracle 如何查看表 高水位線

select blocks, empty_blocks from dba_tables where table_name='xxx' and owner='xx';

blocks就是已經(jīng)分配的空間即HWM,實際分配的空間,不是實際大小


當(dāng)前文章:oracle高水位怎么看 oracle 高水位線
文章起源:http://weahome.cn/article/hjjgoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部