綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|論壇轉(zhuǎn)帖|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁數(shù)據(jù)庫類Oracle → oracle數(shù)據(jù)庫如何重建索引

oracle數(shù)據(jù)庫如何重建索引

我要評論 2013/04/26 11:40:56 來源:綠色資源網(wǎng) 編輯:sonlywya.cn [ ] 評論:0 點(diǎn)擊:252次

當(dāng)索引的碎片過多時(shí),會影響執(zhí)行查詢的速度,從而影響到我們的工作效率。這時(shí)候采取的最有利的措施莫過于重建索引了。本文主要介紹了Oracle數(shù)據(jù)庫中檢查索引碎片并重建索引的過程,接下來我們就開始介紹這一過程。

重建索引的步驟如下:

1. 確認(rèn)基本信息

登入數(shù)據(jù)庫,找到專門存放index 的tablespace,并且這個(gè)tablespace下所有index的owner都是tax.將index專門存放在一個(gè)獨(dú)立的tablespace, 與數(shù)據(jù)表的tablespace分離,是常用的數(shù)據(jù)庫設(shè)計(jì)方法。

2. 查找哪些index需要重建

通過anlyze index .... validate structure命令可以分析單個(gè)指定的index,并且將單個(gè)index 分析的結(jié)果存放到 index_stats試圖下。一般判斷的依據(jù)是:

height >4 pct_used < 50% del_lf_rows / lf_rows +0.001 > 0.03 g )

3. google上下載了遍歷所有index腳本

發(fā)現(xiàn)anlyze index .... validate structure只能填充單個(gè)index分析信息,于是google了下,從網(wǎng)上下了個(gè)Loop 腳本,遍歷索引空間下所有的索引名字,并且可以把所有index的分析信息存放到自己建立的一個(gè)用戶表中。

4. anlyze index 鎖定index

發(fā)現(xiàn)下載的腳本不好用,應(yīng)為anlyze index在分析索引前要爭取獨(dú)占鎖,鎖住index,很明顯有些index正在被應(yīng)用系統(tǒng)的使用,所以運(yùn)行anlyze失敗。這里吸取的教訓(xùn)是,盡量晚上做這種事。但是本人比較喜歡準(zhǔn)時(shí)回家,所以在語句中添加Exception Handler,拋出anlyze index執(zhí)行失敗的那些index 名稱,使腳本正常運(yùn)行完畢。并且根據(jù)打印到前臺的index name手動執(zhí)行那些index分析。

5. 總結(jié)

雖然發(fā)現(xiàn)522個(gè)index中有160個(gè)符合上面的判斷的依據(jù)。但是發(fā)現(xiàn)索引都不大,而那些擁有百萬leaf的索引又沒有符合上面的判斷條件,所以結(jié)論是無需index rebuild online. 沒有啥碎片。

6.什么時(shí)候可以rebuild index呢?

rebuild index online,對那些有大量DML操作的大索引是有益的??梢悦總€(gè)月季度做一次針對較大索引的rebuild。通常哪怕rebuild index online也會造成I/O爭用,所以有無online意義不大,可以放到3-5個(gè)晚上,分批執(zhí)行rebuild index,鎖定index,不讓用戶用(沒有用戶等入的時(shí)候),并且加上paralle 8關(guān)鍵字,應(yīng)為發(fā)現(xiàn)數(shù)據(jù)庫服務(wù)器有8個(gè)cpu processors.

關(guān)于Oracle數(shù)據(jù)庫檢查索引碎片和重建索引的知識就介紹到這里,希望能夠?qū)δ兴鶐椭?/p>

關(guān)鍵詞:oracle,數(shù)據(jù)庫,重建索引

閱讀本文后您有什么感想? 已有 人給出評價(jià)!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視