成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle數據庫性能:表占用盤區解析

數據庫 Oracle
Oracle數據庫是大家都非常熟悉的數據庫,當然Oracle數據庫的性能是非常好的,下文中將為大家講解Oracle數據庫性能中表占用盤區,希望對大家能夠有所幫助。

眾所周知,Oracle數據庫中占有很重要的地位,另外,碎片對于Oracle數據庫空間管理有很大的阻礙作用。同時如果段中的盤區量比較多的話,也會影響到數據庫的性能。雖然說在 Oracle10G中采用了本地托管表空間技術,已經可以在最大程度上消除由此帶來的負面影響。但是當數據量一大,盤區量增加,仍然會降低數據庫的查詢效率。當數據庫管理員遇到類似的情況時,該如何處理呢?在這篇文章中,筆者主要針對這個問題做出一些說明,以供大家參考。

一、如何統計某個表所使用的盤區數量?

Oracle數據庫系統在分配磁盤空間的時候,往往采用的是逐筆分配的方法。如此長久以往,隨著表逐漸變大,其使用的盤區數量也會隨之增加。如果在部署數據庫的時候,不能夠合理的預見到表的增長情況,那么后續盤區數量就會非理性的增長。從而最終影響到數據庫性能。為此數據庫管理員必須要對數據庫的運行不間斷的進行追蹤,如需要統計一些常用表、記錄數量比較多的表的盤區數量。

如下圖所示,這是一個ERP系統中產品信息基本表的盤區情況。據筆者了解,這家公司數據庫才用來不滿六個月。此時產品表的盤區數量已經達到了 25。如果再過個半年,那么盤區數量就有可能突破100了。很明顯,在數據庫設計的時候,數據庫管理員沒有預料到這種情況。如果任其發展下去,其很可能會成為系統性能的瓶頸。故有必要對其進行整理。

二、創建新表空間并將相關數據移植進去。

當數據庫管理員發現表所占用的盤區數量非常大已經成了不爭的事實時,需要設法對表進行整理。一般比較推薦的做法是創建一個新的表空間,然后將相關的數據再移植進去。在談具體的操作之前,筆者要強調一點。雖然數據庫允許這個事后的彌補措施,但是筆者并不建議經常這么操作。筆者的意見是在數據庫設計的時候,就最好能夠遇見到表日后的增長情況。如果某個表的記錄比較多、更新比較頻繁、使用也比較多的話,那么最好能夠為其設置一個比較獨立的表空間或者比較高的增長率。這些措施都可以在最大程度上降低日后表所占用的盤區數目,提高表的查詢效率。

第一步:創建一個新的表空間并創建一個M_PRODUCT1表。

注意筆者并不建議在已有的表空間中建立表。這主要是因為已有的表空間中其可能已經沒有連續的存儲空間了。為此不能夠確保新創建的表格一定具有連續的磁盤空間。筆者認為,最好能夠再重新創建一個新的表空間。而且由于這張表更新頻率比較快、使用頻率也比較高,為此專門設置一個表空間有利于后續的維護,如數據的升級、備份等等。另外需要注意的是,要為這個表空間設置一個合適的大小。一般來說,最好這個大小能夠滿足未來兩年的需要。這可以滿足未來數據增長的需要。否則的話,如果每隔半年或者一年就遇到盤區數量過多的問題,那顯然會很頭疼。

表空間創建完成之后,再建立一張M_PRODUCT1表。在創建這個表的時候,數據庫管理員可以采用Create as Select * FROM M_PRODUCT的形式來創建表。在創建表的同時,將數據也導入到新表中,從而確保數據與數據類型的一致。

第二步:刪除原表與表中的索引。

主要要先將原表中的索引一一刪除,然后才能夠刪除表。否則的話,系統會提示錯誤信息。為了保障數據的安全,筆者強調一次,在操作之前最好先對整個數據庫進行一次完全備份。其次由于這會影響到系統的正常運行,為此在操作之前最好先斷開當前的所有用戶。并設置為用戶不能夠訪問。以免在操作的過程中,造成不必要的麻煩。一般建議在用戶不使用數據庫的時候,如下班后或者雙休日對其進行操作。

第三步:重命名新表并建立索引。

將原先的表刪除之后,再將剛才新建的表格名字改成原來的表名。然后根據原先的表建立相關的索引。這里比較簡便的方法是,在創建新表的時候就將索引也復制過去。不過索引的名字不能夠重復,為此需要在原有的索引名字后面加入一個后綴。等到舊表刪除之后,再將索引的名字改回來,并重新啟用。注意,如果表中的數據比較多的話,則這個重新創建索引的時間可能會比較長。

最后筆者提醒一點,如果客戶表增長過快,可以將數據移植到一個有著更大的統一盤區大小的表空間里,以適應后續表的增長。當然這是一項比較大的工程。雖然這需要重建相關表的索引,但是這能夠保證這個表不會從數據庫物理存儲中丟失。如果數據庫管理員覺得有這么操作的必要,則筆者可以提供一些加快操作的建議。如可以使用COPY命令來避免使用回滾段。或者說使用Nologging選項來避免重做導致的時間問題。當記錄比較多時,使用NOLOGGING 選賢能夠加速數據插入的速度。不過其也同時帶來一個缺陷,即當出現問題時不能夠進行回滾操作。魚與熊掌不能夠兼得,最后數據庫管理員還是要在性能與安全之間進行均衡。

通過以上這種方式來解決盤區過多的問題,只能是不得已而為之的事情。最關鍵的還是要在數據庫設計階段,就對表的增長進行合理的預計。然后根據預計的結果對盤區空間以及表空間進行合理的規劃。合理的規劃可以將盤區數量控制在比較小的范圍之內。

關于Oracle數據庫中表占用盤區的講解就為大家介紹這么多,希望大家通過上文的學習之后都能夠從上文中涉及到的內容中有所收獲。

 

責任編輯:迎迎 來源: 中國IT實驗室
相關推薦

2010-06-17 12:59:07

Oracle

2009-05-14 13:36:11

Oracle表空間優化

2009-07-02 00:26:00

臨時表空間Oracle數據庫性能

2011-05-20 10:30:20

ORACLE數據庫性能優化

2011-05-18 09:39:19

Oracle數據庫性能優化

2011-03-28 15:44:45

惠普數據庫Oracle數據庫

2010-05-10 15:50:39

Oracle數據庫性能

2010-04-09 15:08:17

Oracle 數據庫性

2010-04-06 11:30:09

Oracle 數據庫

2010-04-23 11:32:22

Oracle數據庫

2010-04-12 17:19:16

Oracle數據庫

2023-11-16 17:12:33

數據庫oracle

2010-04-27 16:41:07

Oracle性能

2010-11-15 16:13:24

Oracle數據庫性能

2010-05-07 17:39:02

Oracle數據庫性能

2010-04-01 17:06:57

Oracle數據庫

2009-02-03 09:04:51

Oracle數據庫Oracle安全策略Oracle備份

2009-09-09 11:27:30

Oracle數據庫服務

2011-05-24 14:55:01

Oracle數據庫

2010-04-14 13:14:46

Oracle數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人精品在线观看 | 日本免费一区二区三区 | 亚洲国产一区二区三区在线观看 | 午夜精品久久久久久 | 青青草综合 | 久久伊人操 | 亚洲精品无 | 激情毛片| 欧美日韩精品一区二区三区四区 | 欧美在线一区视频 | 亚洲三级av | 欧美成人一区二免费视频软件 | 欧美一区二区激情三区 | 亚洲一区二区日韩 | 极品粉嫩国产48尤物在线播放 | 中文精品视频 | 亚洲一区二区日韩 | 91精品一区二区三区久久久久久 | 亚洲欧洲精品成人久久奇米网 | 在线观看特色大片免费网站 | 免费看91 | 涩在线 | 中文字幕成人在线 | 蜜桃一区二区三区在线 | 欧美日韩高清 | 精品国产乱码久久久久久蜜柚 | 福利国产| 成人在线免费网站 | 男人av在线播放 | 九七午夜剧场福利写真 | 亚洲一二三视频 | 免费成人在线网站 | 欧美精品久久久 | 夜夜精品视频 | 免费看片在线播放 | 天堂av资源| 欧美a在线| 欧美精品一区二区三区四区五区 | 国产高清在线精品一区二区三区 | 久久成人精品视频 | 精品日韩|