IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁數(shù)據(jù)庫Oracle → 全面剖析Oracle數(shù)據(jù)庫中的分區(qū)功能

全面剖析Oracle數(shù)據(jù)庫中的分區(qū)功能

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)

  Oracle 分區(qū)功能可以提高許多應用程序的可管理性、性能與可用性。通過分區(qū)功能,可以將表、索引和索引組織表進一步細分為段,從而能夠更精確地管理和訪問這些數(shù)據(jù)庫對象。Oracle 提供了種類繁多的分區(qū)方案以滿足每種業(yè)務要求。

  而且,因為在 SQL 語句中分區(qū)是完全透明的,所以該功能幾乎可應用于任何應用程序。

  分區(qū)功能的優(yōu)勢

  分區(qū)功能通過改善可管理性、性能和可用性,從而為各式應用程序帶來了極大的好處。通常,分區(qū)可以使某些查詢以及維護操作的性能大大提高。此外,分區(qū)還可以極大簡化常見的管理任務。通過分區(qū),數(shù)據(jù)庫設計人員和管理員能夠解決前沿應用程序帶來的一些難題。分區(qū)是構(gòu)建千兆字節(jié)數(shù)據(jù)系統(tǒng)或超高可用性系統(tǒng)的關鍵工具。

  分區(qū)功能的基本知識

  分區(qū)功能能夠?qū)⒈?、索引或索引組織表進一步細分為段。這些數(shù)據(jù)庫對象的段叫做分區(qū)。每個分區(qū)有自己的名稱,還可以選擇自己的存儲特性。從數(shù)據(jù)庫管理員的角度來看,一個分區(qū)后的對象具有多個段,這些段既可進行集體管理,也可單獨管理。這就使數(shù)據(jù)庫管理員在管理分區(qū)后的對象時有相當大的靈活性。但是,從應用程序的角度來看,分區(qū)后的表與非分區(qū)表完全相同,使用 SQL DML 命令訪問分區(qū)后的表時,無需任何修改。

  表的分區(qū)是通過"分區(qū)鍵"來實現(xiàn)的,分區(qū)鍵指的是一些列,這些列決定了某一行所在的分區(qū)。Oracle 數(shù)據(jù)庫 10g 提供了六項技術(shù)用于對表進行分區(qū):

  范圍分區(qū)

  每個分區(qū)都由一個分區(qū)鍵值范圍指定(對于一個以日期列作為分區(qū)鍵的表,"2005 年 1 月"分區(qū)包含分區(qū)鍵值為從"2005 年 1 月 1 日"到"2005 年 1 月 31 日"的行)。

  列表分區(qū)

  每個分區(qū)都由一個分區(qū)鍵值列表指定(對于一個地區(qū)列作為分區(qū)鍵的表,"北美"分區(qū)可能包含值"加拿大""美國"和"墨西哥")。

  散列分區(qū)

  將散列算法用于分區(qū)鍵來確定指定行所在的分區(qū)。

  組合范圍散列分區(qū)

  范圍和散列分區(qū)技術(shù)的組合,通過該組合,首先對表進行范圍分區(qū),然后針對每個單獨的范圍分區(qū)再使用散列分區(qū)技術(shù)進一步細分。索引組織表只能進行范圍分區(qū)。

  組合范圍列表分區(qū)

  范圍和列表分區(qū)技術(shù)的組合,通過該組合,首先對表進行范圍分區(qū),然后針對每個單獨的范圍分區(qū)再使用列表分區(qū)技術(shù)進一步細分。索引組織表可以按范圍、列表或散列進行分區(qū)。

  Oracle 數(shù)據(jù)庫 10g 還提供了三種類型的分區(qū)索引:

  本地索引

  本地索引是其分區(qū)方式與其所在基礎表的分區(qū)方式一模一樣的索引。本地索引的每個分區(qū)僅對應于其所在基礎表的一個分區(qū)。

  全局分區(qū)索引

  全局分區(qū)索引是使用不同于其所在表的分區(qū)鍵進行分區(qū)的索引,其所在表可以是分區(qū)表或非分區(qū)表。全局分區(qū)的索引可以使用范圍或散列分區(qū)進行分區(qū)。例如,某個表可以按月份進行范圍分區(qū),因此具有十二個分區(qū),而該表上的索引則可以使用不同的分區(qū)鍵進行范圍分區(qū),從而具有不同的分區(qū)數(shù)量。

  全局非分區(qū)索引

  全局非分區(qū)索引基本上和非分區(qū)表的索引一樣。索引結(jié)構(gòu)是不分區(qū)的。

  Oracle 提供了一系列豐富的技術(shù),可用于對表、索引和索引組織表進行分區(qū),因此可以針對任何業(yè)務環(huán)境中的任何應用程序進行最佳的分區(qū) Oracle 還提供一套完整的 SQL 命令,用于管理分區(qū)表。其中包括添加新分區(qū)、刪除分區(qū)、分拆分區(qū)以及合并分區(qū)的命令。

  用分區(qū)功能提高可管理性

  通過 Oracle 分區(qū)功能,可將表和索引分成更多、更小的可管理單元,從而使數(shù)據(jù)庫管理員能以"化整為零,個個擊破"的方式管理數(shù)據(jù)。

  使用分區(qū)功能,維護操作可集中于表的特定部分。例如,數(shù)據(jù)庫管理員可以只對表的一部分做備份,而不必對整個表做備份。對整個數(shù)據(jù)庫對象的維護操作,可以在每個分區(qū)的基礎上進行,從而將維護工作分解成更容易管理的小塊。

  利用分區(qū)功能提高可管理性的一個典型用法是支持數(shù)據(jù)倉庫中的‘滾動視窗’加載進程。假設數(shù)據(jù)庫管理員每周向表中加載新數(shù)據(jù)??梢詫υ摫磉M行范圍分區(qū),使每個分區(qū)包含一周的數(shù)據(jù)。這樣加載進程只是簡單地添加新的分區(qū)。添加一個分區(qū)的操作比修改整個表效率高很多,因為 DBA 不需要修改任何其他分區(qū)。

  用分區(qū)功能提高性能

  由于限制了所檢查或操作的數(shù)據(jù)數(shù)量,同時支持并行任務執(zhí)行,Oracle 分區(qū)功能實現(xiàn)了性能上增益。這些特性包括:

  分區(qū)修整

  分區(qū)修整是用分區(qū)功能提高性能的最簡單最有價值的手段。分區(qū)修整常常能夠?qū)⒉樵冃阅芴岣邘讉€數(shù)量級。例如,假設某個應用程序包含一個存儲訂單歷史記錄的 Orders 表,并且此表已按周分區(qū)。查詢一周的訂單只需訪問該訂單表的一個分區(qū)。如果該訂單表包含兩年的歷史記錄,這個查詢只需要訪問一個分區(qū)而不是一百零四個。該查詢的執(zhí)行速度因為分區(qū)修整而有可能快一百倍。分區(qū)修整能與所有其他 Oracle 性能特性協(xié)作。Oracle 能將分區(qū)修整功能與任何索引技術(shù)、聯(lián)接技術(shù)或并行訪問方法結(jié)合使用。

  分區(qū)智能聯(lián)接

  分區(qū)功能可以通過稱為分區(qū)智能聯(lián)接的技術(shù)提高多表聯(lián)接的性能。當兩個表要聯(lián)接在一起,而且每個表都用聯(lián)接鍵來分區(qū)時,就可以使用分區(qū)智能聯(lián)接。分區(qū)智能聯(lián)接將大型聯(lián)接分解成較小的發(fā)生在各個分區(qū)間的聯(lián)接,從而用較少的時間完成全部聯(lián)接。這就給串行和并行的執(zhí)ERP研發(fā)部心得體會行都能帶來顯著的性能改善。

  用分區(qū)功能提高可用性

  分區(qū)的數(shù)據(jù)庫對象具有分區(qū)獨立性。該分區(qū)獨立性特點可能是高可用性戰(zhàn)略的一個重要部分,例如,如果分區(qū)表的一個分區(qū)不能用,但該表的所有其他分區(qū)仍然保持在線并可用。那么這個應用可以繼續(xù)針對該分區(qū)表執(zhí)行查詢和事務處理,只要不是訪問不可用的分區(qū),數(shù)據(jù)庫操作仍然能夠成功運行。

  數(shù)據(jù)庫管理員可以指定各分區(qū)存放在不同的表空間里,從而讓管理員隔離其它表分區(qū)針對單個分區(qū)進行備份與恢復操作。還有,分區(qū)功能可以減少計劃停機時間。由于分區(qū)功能改善了性能,使數(shù)據(jù)庫管理員能用相對較少的時間完成大型數(shù)據(jù)庫對象的維護工作。

  未來發(fā)展方向

  自從引入分區(qū)技術(shù)以來,Oracle 公司在每次推出重要版本時都會增加新的分區(qū)方法。Oracle8 引入了范圍分區(qū)功能,Oracle8i 引入了散列和組合范圍散列分區(qū)功能,Oracle9i 引入了列表分區(qū)功能。在最新版本 Oracle 數(shù)據(jù)庫 10g 中,則增強了用于索引組織表和全局父親節(jié):祝爸爸節(jié)日快樂分區(qū)索引的分區(qū)策略,并且擴展了其用于所有分區(qū)維護操作的并發(fā)索引維護功能。Oracle 公司致力于不斷完善分區(qū)技術(shù),確保滿足所有的業(yè)務需求。

  結(jié)論

  具有 Oracle 分區(qū)功能的 Oracle 數(shù)據(jù)庫 10g 可以顯著增強幾乎任何數(shù)據(jù)庫應用程序的可管理性、性能和可用性。分區(qū)功能可用于前沿應用程序,分區(qū)功能確實能夠成為保障這些應用程序成功的關鍵技術(shù)成分。同時,分區(qū)功能也可用于較為普通的數(shù)據(jù)庫應用,來簡化這些應用的管理工作,降低管理成本。

關鍵詞標簽:Oracle,數(shù)據(jù)庫

相關閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務器設置Oracle全文檢索 為UNIX服務器設置Oracle全文檢索

相關下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法