自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle數(shù)據(jù)庫(kù)性能:表占用盤(pán)區(qū)解析

數(shù)據(jù)庫(kù) Oracle
Oracle數(shù)據(jù)庫(kù)是大家都非常熟悉的數(shù)據(jù)庫(kù),當(dāng)然Oracle數(shù)據(jù)庫(kù)的性能是非常好的,下文中將為大家講解Oracle數(shù)據(jù)庫(kù)性能中表占用盤(pán)區(qū),希望對(duì)大家能夠有所幫助。

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

一、如何統(tǒng)計(jì)某個(gè)表所使用的盤(pán)區(qū)數(shù)量?

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

如下圖所示,這是一個(gè)ERP系統(tǒng)中產(chǎn)品信息基本表的盤(pán)區(qū)情況。據(jù)筆者了解,這家公司數(shù)據(jù)庫(kù)才用來(lái)不滿(mǎn)六個(gè)月。此時(shí)產(chǎn)品表的盤(pán)區(qū)數(shù)量已經(jīng)達(dá)到了 25。如果再過(guò)個(gè)半年,那么盤(pán)區(qū)數(shù)量就有可能突破100了。很明顯,在數(shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)候,數(shù)據(jù)庫(kù)管理員沒(méi)有預(yù)料到這種情況。如果任其發(fā)展下去,其很可能會(huì)成為系統(tǒng)性能的瓶頸。故有必要對(duì)其進(jìn)行整理。

二、創(chuàng)建新表空間并將相關(guān)數(shù)據(jù)移植進(jìn)去。

當(dāng)數(shù)據(jù)庫(kù)管理員發(fā)現(xiàn)表所占用的盤(pán)區(qū)數(shù)量非常大已經(jīng)成了不爭(zhēng)的事實(shí)時(shí),需要設(shè)法對(duì)表進(jìn)行整理。一般比較推薦的做法是創(chuàng)建一個(gè)新的表空間,然后將相關(guān)的數(shù)據(jù)再移植進(jìn)去。在談具體的操作之前,筆者要強(qiáng)調(diào)一點(diǎn)。雖然數(shù)據(jù)庫(kù)允許這個(gè)事后的彌補(bǔ)措施,但是筆者并不建議經(jīng)常這么操作。筆者的意見(jiàn)是在數(shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)候,就最好能夠遇見(jiàn)到表日后的增長(zhǎng)情況。如果某個(gè)表的記錄比較多、更新比較頻繁、使用也比較多的話,那么最好能夠?yàn)槠湓O(shè)置一個(gè)比較獨(dú)立的表空間或者比較高的增長(zhǎng)率。這些措施都可以在最大程度上降低日后表所占用的盤(pán)區(qū)數(shù)目,提高表的查詢(xún)效率。

第一步:創(chuàng)建一個(gè)新的表空間并創(chuàng)建一個(gè)M_PRODUCT1表。

注意筆者并不建議在已有的表空間中建立表。這主要是因?yàn)橐延械谋砜臻g中其可能已經(jīng)沒(méi)有連續(xù)的存儲(chǔ)空間了。為此不能夠確保新創(chuàng)建的表格一定具有連續(xù)的磁盤(pán)空間。筆者認(rèn)為,最好能夠再重新創(chuàng)建一個(gè)新的表空間。而且由于這張表更新頻率比較快、使用頻率也比較高,為此專(zhuān)門(mén)設(shè)置一個(gè)表空間有利于后續(xù)的維護(hù),如數(shù)據(jù)的升級(jí)、備份等等。另外需要注意的是,要為這個(gè)表空間設(shè)置一個(gè)合適的大小。一般來(lái)說(shuō),最好這個(gè)大小能夠滿(mǎn)足未來(lái)兩年的需要。這可以滿(mǎn)足未來(lái)數(shù)據(jù)增長(zhǎng)的需要。否則的話,如果每隔半年或者一年就遇到盤(pán)區(qū)數(shù)量過(guò)多的問(wèn)題,那顯然會(huì)很頭疼。

表空間創(chuàng)建完成之后,再建立一張M_PRODUCT1表。在創(chuàng)建這個(gè)表的時(shí)候,數(shù)據(jù)庫(kù)管理員可以采用Create as Select * FROM M_PRODUCT的形式來(lái)創(chuàng)建表。在創(chuàng)建表的同時(shí),將數(shù)據(jù)也導(dǎo)入到新表中,從而確保數(shù)據(jù)與數(shù)據(jù)類(lèi)型的一致。

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

主要要先將原表中的索引一一刪除,然后才能夠刪除表。否則的話,系統(tǒng)會(huì)提示錯(cuò)誤信息。為了保障數(shù)據(jù)的安全,筆者強(qiáng)調(diào)一次,在操作之前最好先對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行一次完全備份。其次由于這會(huì)影響到系統(tǒng)的正常運(yùn)行,為此在操作之前最好先斷開(kāi)當(dāng)前的所有用戶(hù)。并設(shè)置為用戶(hù)不能夠訪問(wèn)。以免在操作的過(guò)程中,造成不必要的麻煩。一般建議在用戶(hù)不使用數(shù)據(jù)庫(kù)的時(shí)候,如下班后或者雙休日對(duì)其進(jìn)行操作。

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

將原先的表刪除之后,再將剛才新建的表格名字改成原來(lái)的表名。然后根據(jù)原先的表建立相關(guān)的索引。這里比較簡(jiǎn)便的方法是,在創(chuàng)建新表的時(shí)候就將索引也復(fù)制過(guò)去。不過(guò)索引的名字不能夠重復(fù),為此需要在原有的索引名字后面加入一個(gè)后綴。等到舊表刪除之后,再將索引的名字改回來(lái),并重新啟用。注意,如果表中的數(shù)據(jù)比較多的話,則這個(gè)重新創(chuàng)建索引的時(shí)間可能會(huì)比較長(zhǎng)。

最后筆者提醒一點(diǎn),如果客戶(hù)表增長(zhǎng)過(guò)快,可以將數(shù)據(jù)移植到一個(gè)有著更大的統(tǒng)一盤(pán)區(qū)大小的表空間里,以適應(yīng)后續(xù)表的增長(zhǎng)。當(dāng)然這是一項(xiàng)比較大的工程。雖然這需要重建相關(guān)表的索引,但是這能夠保證這個(gè)表不會(huì)從數(shù)據(jù)庫(kù)物理存儲(chǔ)中丟失。如果數(shù)據(jù)庫(kù)管理員覺(jué)得有這么操作的必要,則筆者可以提供一些加快操作的建議。如可以使用COPY命令來(lái)避免使用回滾段。或者說(shuō)使用Nologging選項(xiàng)來(lái)避免重做導(dǎo)致的時(shí)間問(wèn)題。當(dāng)記錄比較多時(shí),使用NOLOGGING 選賢能夠加速數(shù)據(jù)插入的速度。不過(guò)其也同時(shí)帶來(lái)一個(gè)缺陷,即當(dāng)出現(xiàn)問(wèn)題時(shí)不能夠進(jìn)行回滾操作。魚(yú)與熊掌不能夠兼得,最后數(shù)據(jù)庫(kù)管理員還是要在性能與安全之間進(jìn)行均衡。

通過(guò)以上這種方式來(lái)解決盤(pán)區(qū)過(guò)多的問(wèn)題,只能是不得已而為之的事情。最關(guān)鍵的還是要在數(shù)據(jù)庫(kù)設(shè)計(jì)階段,就對(duì)表的增長(zhǎng)進(jìn)行合理的預(yù)計(jì)。然后根據(jù)預(yù)計(jì)的結(jié)果對(duì)盤(pán)區(qū)空間以及表空間進(jìn)行合理的規(guī)劃。合理的規(guī)劃可以將盤(pán)區(qū)數(shù)量控制在比較小的范圍之內(nèi)。

關(guān)于Oracle數(shù)據(jù)庫(kù)中表占用盤(pán)區(qū)的講解就為大家介紹這么多,希望大家通過(guò)上文的學(xué)習(xí)之后都能夠從上文中涉及到的內(nèi)容中有所收獲。

 

責(zé)任編輯:迎迎 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2010-06-17 12:59:07

Oracle

2009-07-02 00:26:00

臨時(shí)表空間Oracle數(shù)據(jù)庫(kù)性能

2009-05-14 13:36:11

Oracle表空間優(yōu)化

2011-05-20 10:30:20

ORACLE數(shù)據(jù)庫(kù)性能優(yōu)化

2011-05-18 09:39:19

Oracle數(shù)據(jù)庫(kù)性能優(yōu)化

2010-05-10 15:50:39

Oracle數(shù)據(jù)庫(kù)性能

2011-03-28 15:44:45

惠普數(shù)據(jù)庫(kù)Oracle數(shù)據(jù)庫(kù)

2010-04-23 11:32:22

Oracle數(shù)據(jù)庫(kù)

2010-04-09 15:08:17

Oracle 數(shù)據(jù)庫(kù)性

2010-04-06 11:30:09

Oracle 數(shù)據(jù)庫(kù)

2010-04-27 16:41:07

Oracle性能

2010-11-15 16:13:24

Oracle數(shù)據(jù)庫(kù)性能

2010-05-07 17:39:02

Oracle數(shù)據(jù)庫(kù)性能

2023-11-16 17:12:33

數(shù)據(jù)庫(kù)oracle

2009-09-09 11:27:30

Oracle數(shù)據(jù)庫(kù)服務(wù)

2010-04-12 17:19:16

Oracle數(shù)據(jù)庫(kù)

2010-04-14 13:14:46

Oracle數(shù)據(jù)庫(kù)

2020-08-03 11:52:31

Oracle數(shù)據(jù)庫(kù)

2010-04-01 17:06:57

Oracle數(shù)據(jù)庫(kù)

2009-02-03 09:04:51

Oracle數(shù)據(jù)庫(kù)Oracle安全策略Oracle備份
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)