專利名稱::集成具有不同塊大小的表空間的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)庫系統(tǒng),尤其涉及在數(shù)據(jù)庫系統(tǒng)之間有效移動(dòng)數(shù)據(jù)的技術(shù)。
背景技術(shù):
:在當(dāng)今社會(huì),保存和檢索大量數(shù)據(jù)的能力是計(jì)算機(jī)的一些最重要的功能。為了實(shí)現(xiàn)這些功能,通常使用數(shù)據(jù)庫系統(tǒng)在數(shù)據(jù)庫中檢索和保存數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)非常成功地執(zhí)行了這些功能,為社會(huì)創(chuàng)建了用先前無法想象的速度和數(shù)量來檢索數(shù)據(jù)的能力,此外還為社會(huì)提供了一種前所未有的訪問信息的等級。數(shù)據(jù)庫系統(tǒng)的成就產(chǎn)生了對于更快更有效地處理更大數(shù)據(jù)量的數(shù)據(jù)庫系統(tǒng)的永無止盡的需要。一種向大量數(shù)據(jù)提供有效訪問的機(jī)制是數(shù)據(jù)倉庫。數(shù)據(jù)倉庫代表一種原始數(shù)據(jù)轉(zhuǎn)換。這種倉庫使用的原始數(shù)據(jù)通常來源于一個(gè)“源”數(shù)據(jù)庫系統(tǒng),例如聯(lián)機(jī)事務(wù)處理(“OLTP”)數(shù)據(jù)庫。OLTP數(shù)據(jù)庫系統(tǒng)面向的是商業(yè)的“實(shí)時(shí)”操作,而數(shù)據(jù)倉庫針對的是對距離較長且面向管理的商業(yè)上的問題做出回答。為了同步更新,數(shù)據(jù)倉庫的庫房(house)是使用那些來源于OLTP數(shù)據(jù)庫系統(tǒng)的信息來進(jìn)行周期性更新的。這些更新需要傳送大量數(shù)據(jù)。一種用于傳送數(shù)據(jù)的常規(guī)方法是命令生成技術(shù)。在命令生成技術(shù)中,一個(gè)“導(dǎo)出”數(shù)據(jù)庫系統(tǒng)產(chǎn)生一個(gè)插入命令的文件。所述插入命令符合數(shù)據(jù)庫語言,例如結(jié)構(gòu)化查詢語言(“SQL”)。對于正在導(dǎo)出的各個(gè)記錄而言,插入命令規(guī)定創(chuàng)建一個(gè)記錄,所述記錄具有產(chǎn)生正被導(dǎo)出的記錄副本所需要的值。為了導(dǎo)入數(shù)據(jù),一個(gè)能夠執(zhí)行那些使用數(shù)據(jù)庫語言編寫的命令的“導(dǎo)入”數(shù)據(jù)庫系統(tǒng)對這個(gè)文件進(jìn)行掃描,以便執(zhí)行各個(gè)插入命令。為將要導(dǎo)出的各個(gè)記錄執(zhí)行一個(gè)插入命令來進(jìn)行導(dǎo)出,這通常是一個(gè)非常慢的過程,對較大的數(shù)據(jù)庫而言,其中一個(gè)過程有可能會(huì)跨越幾天的時(shí)間。在導(dǎo)出數(shù)據(jù)的時(shí)候,訪問所述數(shù)據(jù)將會(huì)受到限制。因此,需要訪問數(shù)據(jù)的數(shù)據(jù)庫用戶有可能會(huì)受到較大影響。這樣一來,用于導(dǎo)出數(shù)據(jù)的常規(guī)方法有可能是非常麻煩的。另一種用于將數(shù)據(jù)移入數(shù)據(jù)倉庫的方法包括運(yùn)用那些可以在那些用于管理數(shù)據(jù)倉庫的應(yīng)用中使用的工具。這些工具使用一個(gè)具有三個(gè)階段的處理而在源數(shù)據(jù)庫與數(shù)據(jù)倉庫之間傳送數(shù)據(jù),所述三個(gè)階段包括從源數(shù)據(jù)庫系統(tǒng)提取數(shù)據(jù),轉(zhuǎn)換所提取的數(shù)據(jù),以及把轉(zhuǎn)換的數(shù)據(jù)加載到數(shù)據(jù)倉庫。這些階段總稱為ETL,它代表了提取、轉(zhuǎn)換和加載。通常,ETL工具向源數(shù)據(jù)庫通過向數(shù)據(jù)倉庫發(fā)布查詢來檢索數(shù)據(jù),由此從源數(shù)據(jù)庫系統(tǒng)提取數(shù)據(jù)。ETL工具通過向數(shù)據(jù)倉庫發(fā)布插入命令來加載那些從數(shù)據(jù)庫系統(tǒng)中檢索得到的數(shù)據(jù),由此將所述數(shù)據(jù)加載到數(shù)據(jù)倉庫中。雖然使用ETL工具可能比命令生成技術(shù)更為有效,但是傳送數(shù)據(jù)的處理仍然需要長到不令人滿意的時(shí)間。與傳送數(shù)據(jù)的常規(guī)方法相比,一種更為有效的新穎方法稱為可移動(dòng)表空間。表空間是用于為數(shù)據(jù)庫對象保存數(shù)據(jù)的存儲(chǔ)容器(例如數(shù)據(jù)文件)的集合。數(shù)據(jù)庫對象則是受到數(shù)據(jù)庫系統(tǒng)管理的對象??梢苿?dòng)表空間是這樣一種技術(shù),其允許復(fù)制表空間并將其集成到另一個(gè)數(shù)據(jù)庫系統(tǒng)中,也就是將其“插入”另一個(gè)數(shù)據(jù)庫系統(tǒng)。這種能力允許使用那些用于復(fù)制文件的操作系統(tǒng)工具來對數(shù)據(jù)進(jìn)行復(fù)制,所述工具比通過執(zhí)行查詢和插入語句來提取和加載數(shù)據(jù)的處理運(yùn)行得更快。不幸的是,由于很可能無法將數(shù)據(jù)庫系統(tǒng)配置成對相同的數(shù)據(jù)塊大小進(jìn)行處理,因此,并非總是可以將表空間從一個(gè)數(shù)據(jù)庫系統(tǒng)插入另一個(gè)數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)塊是經(jīng)過分配來保存一個(gè)或多個(gè)數(shù)據(jù)庫記錄(例如行)的存儲(chǔ)空間的原子單位。通常,數(shù)據(jù)庫系統(tǒng)被配置成了對一個(gè)由特定大小的數(shù)據(jù)塊所組成的數(shù)據(jù)庫進(jìn)行操作。在某些系統(tǒng)中,當(dāng)創(chuàng)建數(shù)據(jù)庫時(shí),所述特定大小可以由用戶進(jìn)行配置。一旦創(chuàng)建了數(shù)據(jù)庫,則不可以改變數(shù)據(jù)塊大小。因此,不能將一個(gè)由指定大小的數(shù)據(jù)塊所組成的表空間插入一個(gè)希望得到具有不同塊大小的數(shù)據(jù)塊的數(shù)據(jù)庫系統(tǒng)。這種限制有可能通過管理數(shù)據(jù)倉庫及其源數(shù)據(jù)庫的數(shù)據(jù)塊大小來加以克服。可以將源數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)倉庫配置用于相同的數(shù)據(jù)塊大小。然而,出于效率方面的目的,通常比較理想的是具有用于較大數(shù)據(jù)倉庫的較大的塊大小和用于OLTP系統(tǒng)的較小的塊大小。因此,數(shù)據(jù)倉庫通常具有大于OLTP系統(tǒng)的塊大小?;谏衔?,很明顯,較為理想的是提供一種機(jī)制,所述機(jī)制允許將表空間或者任何指定大小的數(shù)據(jù)塊集合插入一個(gè)對不同大小的數(shù)據(jù)塊進(jìn)行操作的數(shù)據(jù)庫系統(tǒng)。
發(fā)明內(nèi)容在這里描述了這樣一種機(jī)制,所述機(jī)制允許一個(gè)指定數(shù)據(jù)庫系統(tǒng)從另一個(gè)數(shù)據(jù)庫系統(tǒng)訪問數(shù)據(jù)塊,其中來自指定數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)塊以及來自另一個(gè)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)塊具有不同的大小。根據(jù)本發(fā)明的一個(gè)方面,另一個(gè)數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)塊包含在一個(gè)表空間中。所述表空間從另一個(gè)數(shù)據(jù)庫系統(tǒng)分離并且集成到一個(gè)能夠處理不同大小的數(shù)據(jù)塊所保存的數(shù)據(jù)的指定數(shù)據(jù)庫中。本發(fā)明是借助實(shí)例來描述的,但這并不作為限制,在附圖的圖形中,相同的參考數(shù)字代表相同的部件,其中圖1是一個(gè)用于描述本發(fā)明實(shí)施例的數(shù)據(jù)庫系統(tǒng)的框圖;圖2是一個(gè)用于支持根據(jù)本發(fā)明實(shí)施例的相對尋址方案的表空間和數(shù)據(jù)結(jié)構(gòu)的框圖;圖3是一個(gè)用于支持根據(jù)本發(fā)明實(shí)施例來處理多個(gè)大小的數(shù)據(jù)塊的緩沖存儲(chǔ)系統(tǒng)結(jié)構(gòu)的框圖;圖4是對把表空間集成到數(shù)據(jù)庫系統(tǒng)中的處理進(jìn)行描述的流程圖,其中根據(jù)本發(fā)明的一個(gè)實(shí)施例,表空間中的數(shù)據(jù)塊和數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)塊具有不同的塊大?。灰约皥D5是一個(gè)描述可用于實(shí)施本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)的框圖。具體實(shí)施例方式在這里描述了一種用于在數(shù)據(jù)庫之間傳送數(shù)據(jù)的方法和設(shè)備。在以下描述中,基于說明目的而對許多細(xì)節(jié)進(jìn)行了闡述,從而提供了關(guān)于本發(fā)明的全面理解。然而很明顯,本發(fā)明可以在不具備這些特定細(xì)節(jié)的情況下得到實(shí)施。在其他情況下,為了避免不必要地造成本發(fā)明不清楚,眾所周知的結(jié)構(gòu)和設(shè)備將以框圖形式顯示。在這里描述的是這樣一種機(jī)制,所述機(jī)制允許一個(gè)指定數(shù)據(jù)庫系統(tǒng)從另一個(gè)數(shù)據(jù)庫系統(tǒng)訪問數(shù)據(jù)塊,其中,來自指定數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)塊與來自另一個(gè)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)塊具有不同的大小。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述技術(shù)包括使用一個(gè)對具有不同大小的數(shù)據(jù)塊的數(shù)據(jù)庫進(jìn)行處理的數(shù)據(jù)庫系統(tǒng)。這些技術(shù)是使用示范性的數(shù)據(jù)庫系統(tǒng)來進(jìn)行描述的。示范性的數(shù)據(jù)庫系統(tǒng)圖1是一個(gè)提供了用于描述本發(fā)明一個(gè)實(shí)施例的示范性數(shù)據(jù)庫系統(tǒng)概觀的框圖。數(shù)據(jù)庫系統(tǒng)101處理并保存數(shù)據(jù)庫對象中的數(shù)據(jù)。數(shù)據(jù)庫對象是受到一個(gè)用于保存、檢索和處理數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)管理的對象。數(shù)據(jù)庫對象的實(shí)例包括表、索引以及可以由數(shù)據(jù)庫系統(tǒng)執(zhí)行的程序模塊。通常,數(shù)據(jù)庫對象以數(shù)據(jù)文件的一個(gè)或多個(gè)數(shù)據(jù)塊的形式保存在靜態(tài)存儲(chǔ)器中。數(shù)據(jù)庫系統(tǒng)101對保持?jǐn)?shù)據(jù)的數(shù)據(jù)塊執(zhí)行操作,由此對數(shù)據(jù)庫對象中的數(shù)據(jù)執(zhí)行操作。對數(shù)據(jù)塊所進(jìn)行的操作是在那些從靜態(tài)存儲(chǔ)器讀入緩沖存儲(chǔ)器190的數(shù)據(jù)塊副本上執(zhí)行的。數(shù)據(jù)塊副本保存在緩沖存儲(chǔ)器190的緩沖區(qū)。所述緩存區(qū)由同時(shí)連接到數(shù)據(jù)庫系統(tǒng)101的所有用戶進(jìn)程所共享。每當(dāng)數(shù)據(jù)庫系統(tǒng)101執(zhí)行一個(gè)涉及諸如表中的行這類保存在數(shù)據(jù)塊中的數(shù)據(jù)條目的操作的時(shí)候,數(shù)據(jù)塊將會(huì)被加載到緩沖存儲(chǔ)器190中。如果所述操作改變了數(shù)據(jù)條目,則對緩沖存儲(chǔ)器190中的數(shù)據(jù)塊副本進(jìn)行修改。然后,數(shù)據(jù)庫寫入程序?qū)⒔?jīng)過修改的數(shù)據(jù)塊從緩沖存儲(chǔ)器190寫入磁盤上的數(shù)據(jù)文件。用于一個(gè)特定數(shù)據(jù)庫對象集合的數(shù)據(jù)可以存入從一個(gè)或多個(gè)表空間中分配的空間,例如表空間130、140和150。表空間是用于為數(shù)據(jù)庫對象保存數(shù)據(jù)的存儲(chǔ)容器(例如數(shù)據(jù)文件)的集合。舉例來說,表空間130包含數(shù)據(jù)文件130-1到130-4。當(dāng)表空間保持了用于數(shù)據(jù)庫對象的數(shù)據(jù)的時(shí)候,可以將數(shù)據(jù)庫對象稱為正處在一個(gè)特定的表空間。數(shù)據(jù)庫元數(shù)據(jù)110是描述數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的元數(shù)據(jù)。舉例來說,數(shù)據(jù)庫元數(shù)據(jù)110定義了數(shù)據(jù)庫對象(例如表和用于表的索引)、表空間以及用于為表或索引保存數(shù)據(jù)的表空間。數(shù)據(jù)庫元數(shù)據(jù)是響應(yīng)于來自用戶的接收數(shù)據(jù)定義命令而被產(chǎn)生的。舉例來說,用戶向數(shù)據(jù)庫系統(tǒng)發(fā)布數(shù)據(jù)庫命令來修改數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu),從而定義數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)對象、數(shù)據(jù)庫對象屬性、以及為數(shù)據(jù)庫對象保持?jǐn)?shù)據(jù)的表空間。數(shù)據(jù)定義命令必須符合數(shù)據(jù)庫系統(tǒng)認(rèn)定的數(shù)據(jù)定義語言,例如SQL。數(shù)據(jù)庫系統(tǒng)101有可能會(huì)遇到一些問題,這些問題可能會(huì)停止數(shù)據(jù)庫操作或是影響到將數(shù)據(jù)庫信息寫入磁盤。普通類型的故障包括處理故障,其中包含了用戶、服務(wù)器或數(shù)據(jù)庫實(shí)例的后臺(tái)處理中的故障,或者介質(zhì)故障,其中包含了在對執(zhí)行正常數(shù)據(jù)庫操作所需要的物理文件進(jìn)行讀寫方面的實(shí)際問題。數(shù)據(jù)庫操作和處理的一個(gè)主要方面包括從遭遇到的各種類型的故障中恢復(fù)所述數(shù)據(jù)庫。一種由數(shù)據(jù)系統(tǒng)101使用,以便設(shè)法從故障中恢復(fù)的方法是日志記錄機(jī)制。日志記錄機(jī)制需要通過為數(shù)據(jù)庫系統(tǒng)維持一個(gè)日志來記錄對數(shù)據(jù)庫系統(tǒng)做出的所有變化。其中保存了幾種不同的操作日志來執(zhí)行各種數(shù)據(jù)庫維護(hù)功能。具體地說,使用一個(gè)重做日志來保存數(shù)據(jù)庫操作,以使所述操作能被重新執(zhí)行,從而在出現(xiàn)故障之后將所述數(shù)據(jù)庫還原到故障之前的狀態(tài)。舉例來說,當(dāng)一個(gè)事務(wù)修改了緩沖存儲(chǔ)器190的數(shù)據(jù)時(shí),磁盤上的重做日志中將會(huì)保存一個(gè)詳述所述修改的重做條目。如果在將緩沖存儲(chǔ)器內(nèi)部已更新數(shù)據(jù)保存到磁盤之前發(fā)生了故障,則有可能丟失緩沖存儲(chǔ)器190中已經(jīng)修改的數(shù)據(jù)。在這些情況下,在恢復(fù)處理過程中,有可能基于重做條目而對數(shù)據(jù)庫進(jìn)行修改,以便包含所述丟失的變化。日志系統(tǒng)的基本組件是用于保存重做和撤消條目的一個(gè)或多個(gè)日志文件的群組。日志文件組180包含了表空間150中的數(shù)據(jù)文件150-1到150-4。重做和撤消條目則保存了數(shù)據(jù)庫變化的低級表示(low-levelrepresentation)。重做條目包含了對于重做由數(shù)據(jù)操作導(dǎo)致的改變所必需的信息,所述數(shù)據(jù)操作可以是INSERT(插入)、UPDATE(更新)、DELETE(刪除)、CREATE(創(chuàng)建)、ALTER(變更)或DROP(丟棄)。相反,撤消條目包含了對于撤消由數(shù)據(jù)操作導(dǎo)致的改變所必需的信息。靜態(tài)存儲(chǔ)器的重做日志文件組中的重做或撤消條目稱為重做日志。使用可移動(dòng)表空間可移動(dòng)表空間涉及一種用于在數(shù)據(jù)庫系統(tǒng)之間傳送數(shù)據(jù)的技術(shù),它是以把來源于“源數(shù)據(jù)庫系統(tǒng)”的表空間副本集成到一個(gè)“目標(biāo)數(shù)據(jù)庫系統(tǒng)”之中為基礎(chǔ)的。如以下將會(huì)更詳細(xì)描述的那樣,集成所述表空間副本包括修改或是添加數(shù)據(jù)來將表空間定義為數(shù)據(jù)庫系統(tǒng)使用的任何其他表空間,由此改變目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)庫元數(shù)據(jù)。用于集成這些表空間的技術(shù)的實(shí)例是在“可插入表空間以及表空間相關(guān)數(shù)據(jù)庫指針”這部分進(jìn)行描述的??梢允褂枚喾N方法來改變數(shù)據(jù)庫元數(shù)據(jù)??梢詧?zhí)行那些可以在源數(shù)據(jù)庫系統(tǒng)上使用的實(shí)用程序來把元數(shù)據(jù)導(dǎo)出到一個(gè)“導(dǎo)出控制文件”,并且可以執(zhí)行目標(biāo)數(shù)據(jù)庫系統(tǒng)上的實(shí)用程序來從導(dǎo)出控制文件中重構(gòu)元數(shù)據(jù)。作為選擇,導(dǎo)出的元數(shù)據(jù)可以與正在傳送的數(shù)據(jù)一起存入表空間,并且目標(biāo)數(shù)據(jù)庫從表空間包含的數(shù)據(jù)中重構(gòu)元數(shù)據(jù)。用戶可以在目標(biāo)數(shù)據(jù)庫系統(tǒng)上手動(dòng)重構(gòu)元數(shù)據(jù)。最后,源數(shù)據(jù)庫系統(tǒng)上的實(shí)用程序可以檢查表空間的數(shù)據(jù),以便導(dǎo)出元數(shù)據(jù)。如這里所使用的那樣,術(shù)語“副本”涉及元數(shù)據(jù)和元數(shù)據(jù)復(fù)制品。舉例來說,元數(shù)據(jù)文件副本可以是元數(shù)據(jù)文件本身,也可以是另一個(gè)數(shù)據(jù)文件,所述數(shù)據(jù)文件是使用那些易于使用的復(fù)制實(shí)用程序產(chǎn)生的一個(gè)副本,例如所述復(fù)制程序可以是用于創(chuàng)建數(shù)據(jù)文件副本的操作系統(tǒng)實(shí)用程序。并且可以從原始的源數(shù)據(jù)庫中分離表空間或是創(chuàng)建一個(gè)將要集成的分離副本,從而將表空間集成到數(shù)據(jù)庫中。在產(chǎn)生副本的時(shí)候,涉及表空間的操作應(yīng)該僅限于只讀操作。如果所要集成的表空間副本是一個(gè)分離的源表空間,則有可能要對源數(shù)據(jù)庫進(jìn)行配置,以使源數(shù)據(jù)庫系統(tǒng)不再使用所述表空間來保存數(shù)據(jù)。舉例來說,對源數(shù)據(jù)庫進(jìn)行配置可能需要通過刪除那些將表空間定義為源數(shù)據(jù)系統(tǒng)一部分的數(shù)據(jù)或是設(shè)定一個(gè)指示不再使用所述表空間的標(biāo)記來改變源數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)庫元數(shù)據(jù)。集成一個(gè)分離的表空間或是所述表空間的單獨(dú)副本的原因在于并沒有將多個(gè)數(shù)據(jù)庫系統(tǒng)配置成與其他數(shù)據(jù)庫系統(tǒng)一起同時(shí)直接訪問數(shù)據(jù)文件。術(shù)語“直接訪問”涉及在不必請求另一個(gè)數(shù)據(jù)庫系統(tǒng)提供數(shù)據(jù)情況下訪問數(shù)據(jù)容器中的數(shù)據(jù),例如數(shù)據(jù)文件中的數(shù)據(jù)。直接訪問數(shù)據(jù)容器的數(shù)據(jù)庫系統(tǒng)的一個(gè)實(shí)例是運(yùn)行在計(jì)算機(jī)上的數(shù)據(jù)庫系統(tǒng),所述計(jì)算機(jī)調(diào)用一個(gè)操作系統(tǒng)功能來訪問駐留在與計(jì)算機(jī)總線相連的磁盤驅(qū)動(dòng)器或是連接到一個(gè)經(jīng)由網(wǎng)絡(luò)而與計(jì)算機(jī)耦合的服務(wù)器上的數(shù)據(jù)文件。不直接訪問數(shù)據(jù)文件的一個(gè)實(shí)例是向另一個(gè)數(shù)據(jù)庫發(fā)布一個(gè)從表中請求數(shù)據(jù)的查詢。用于可移動(dòng)數(shù)據(jù)庫的引用方案引用(reference)是指示數(shù)據(jù)庫中保存的特定數(shù)據(jù)項(xiàng)位置的數(shù)據(jù)。在許多情況下,引用都是由數(shù)據(jù)庫系統(tǒng)來使用的。舉例來說,數(shù)據(jù)庫系統(tǒng)可以在表的一個(gè)列的索引中使用引用。索引將列值映射到包含這些值的表中的行。而索引中的每個(gè)條目則將特定值映射到行,并且保存一個(gè)行的位置的引用。用于數(shù)據(jù)項(xiàng)的引用可以包括那些對包含了數(shù)據(jù)項(xiàng)的特定數(shù)據(jù)容器進(jìn)行識別的信息。這種信息可以包括一個(gè)數(shù)據(jù)庫相關(guān)文件編號。數(shù)據(jù)庫相關(guān)文件編號是由數(shù)據(jù)庫系統(tǒng)使用,以便相對于數(shù)據(jù)庫系統(tǒng)使用的任何其他數(shù)據(jù)文件來唯一識別一個(gè)數(shù)據(jù)文件的編號。舉例來說,對某個(gè)諸如行或?qū)ο筮@樣特定的數(shù)據(jù)項(xiàng)的引用可以包括數(shù)據(jù)文件的數(shù)據(jù)文件編號,其中所述數(shù)據(jù)文件包含了保持所述數(shù)據(jù)項(xiàng)的數(shù)據(jù)塊。此外,所述引用可以在文件中包含一個(gè)偏移,以便在文件內(nèi)部識別數(shù)據(jù)塊的位置。不幸的是,使用基于數(shù)據(jù)庫相關(guān)文件編號的引用而在數(shù)據(jù)庫系統(tǒng)之間傳送數(shù)據(jù)文件產(chǎn)生出了新的問題。而這些問題則基于數(shù)據(jù)庫系統(tǒng)之間的數(shù)據(jù)庫相關(guān)文件編號未必唯一這個(gè)事實(shí)。數(shù)據(jù)庫系統(tǒng)上的數(shù)據(jù)庫相關(guān)文件編號可用于識別另一個(gè)數(shù)據(jù)庫系統(tǒng)上的一個(gè)不同的數(shù)據(jù)文件。這個(gè)問題可以通過使用幾種措施來克服。首先,可以為傳送到另一個(gè)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)文件指派新的數(shù)據(jù)庫相關(guān)文件編號。其次,由于傳送的數(shù)據(jù)文件可以包含數(shù)據(jù)對象,其中所述引用保持的是數(shù)據(jù)庫相關(guān)文件編號,因此必須修改這些引用,以便反映新近指定的數(shù)據(jù)庫相關(guān)文件編號。舉例來說,一組數(shù)據(jù)文件被從一個(gè)數(shù)據(jù)庫系統(tǒng)傳送到另一個(gè)數(shù)據(jù)庫系統(tǒng)。所述數(shù)據(jù)文件被指派了新的數(shù)據(jù)庫相關(guān)文件編號。數(shù)據(jù)文件可以保留表格的一部分以及一個(gè)指示表中的行的索引。所述索引中的引用可以包括數(shù)據(jù)庫相關(guān)文件編號,而所述編號應(yīng)被修改,以便反映新近指派的數(shù)據(jù)庫相關(guān)文件編號。表空間的相對尋址方案伴隨數(shù)據(jù)庫相關(guān)文件編號出現(xiàn)的問題和措施可以通過使用一個(gè)相對尋址方案來加以避免,其中地址數(shù)據(jù)文件涉及包含了所述數(shù)據(jù)文件的表空間。使用相對尋址方案還簡化了可移動(dòng)表空間的處理,如前所述,所述處理是使用一種包含了移動(dòng)或復(fù)制表空間的處理而在數(shù)據(jù)庫系統(tǒng)之間傳送數(shù)據(jù)的技術(shù)。這種技術(shù)的實(shí)例在“可插入表空間以及表空間相關(guān)數(shù)據(jù)庫指針”這一部分進(jìn)行了描述。圖2是對用于描述本發(fā)明實(shí)施例的相對尋址方案進(jìn)行說明的框圖。圖2描述了用于識別表空間和數(shù)據(jù)文件的標(biāo)識符,并且描述了這二者之間的關(guān)系,此外還描述了相對尋址方案所依賴的其他要素。參考圖2,數(shù)據(jù)庫系統(tǒng)101(未示出)分別將表空間編號(TSN)9和8與表空間130和140相關(guān)聯(lián)。當(dāng)數(shù)據(jù)庫系統(tǒng)101定義一個(gè)表空間的時(shí)候,它會(huì)把表空間編號與表空間相關(guān)聯(lián)。在一個(gè)指定數(shù)據(jù)庫系統(tǒng)內(nèi)部,表空間編號唯一地識別一個(gè)表空間。在一個(gè)表空間內(nèi)部,數(shù)據(jù)庫系統(tǒng)101將一個(gè)表空間相關(guān)文件編號(TRFN)與表空間的各個(gè)數(shù)據(jù)文件相關(guān)聯(lián)。而對于表空間的指定數(shù)據(jù)文件而言,表空間相關(guān)文件編號相對于表空間的其他數(shù)據(jù)文件則是唯一的,然而相對于其他表空間內(nèi)的其他數(shù)據(jù)文件而言,所述編號并不是唯一的。對表空間130而言,分配給數(shù)據(jù)文件130-1、130-2、130-3以及130-4的表空間相關(guān)文件編號分別是1、2、3和4。對表空間140而言,分配給數(shù)據(jù)文件140-1,140-2,140-3以及140-4的表空間相關(guān)文件編號分別是1、2、3和4。數(shù)據(jù)庫系統(tǒng)101將一個(gè)控制文件與各個(gè)表空間相關(guān)聯(lián)。對各個(gè)表空間來說,控制文件將表空間相關(guān)文件編號映射到一個(gè)數(shù)據(jù)庫相關(guān)文件編號,由此將表空間內(nèi)部的數(shù)據(jù)文件映射到一個(gè)數(shù)據(jù)庫相關(guān)文件編號??刂莆募?10與表空間130相關(guān)聯(lián),而控制文件220則與表空間140相關(guān)聯(lián)??刂莆募?10包含兩個(gè)字段(1)表空間相關(guān)文件編號212(“TRFN212”)以及數(shù)據(jù)庫相關(guān)文件編號(DRFN214),(2)條目210-1到210-4,其中每一個(gè)條目都包含了一個(gè)用于TRFN212以及DRFN214的值。條目210-1將表空間相關(guān)文件編號‘1’映射到數(shù)據(jù)庫相關(guān)文件編號‘12’??刂莆募?20則是相對于表空間140而以相似方式來構(gòu)造的。表空間中的任何數(shù)據(jù)文件都可以通過一個(gè)表空間編號和一個(gè)表空間相關(guān)文件編號來進(jìn)行識別。舉例來說,索引項(xiàng)中的“數(shù)據(jù)塊指針”涉及到包含某個(gè)行的數(shù)據(jù)塊。而數(shù)據(jù)塊則駐留在數(shù)據(jù)文件130-1中。數(shù)據(jù)塊指針包含了作為表空間引用編號的數(shù)值‘9’以及作為表空間相關(guān)文件編號的數(shù)值‘1’,由此識別表空間130和數(shù)據(jù)文件130-1。并且可以使用以下過程來識別數(shù)據(jù)文件。在給出了表空間編號以及表空間相關(guān)文件編號的情況下,對關(guān)聯(lián)于表空間相關(guān)文件編號的控制列表進(jìn)行訪問,以便找出映射到表空間相關(guān)文件編號的數(shù)據(jù)庫相關(guān)文件編號。在控制文件210中,條目210-4把表空間相關(guān)文件編號‘4’映射到數(shù)據(jù)庫相關(guān)文件編號42,所述編號識別的是數(shù)據(jù)文件130-4。在兩個(gè)數(shù)據(jù)庫系統(tǒng)之間傳送數(shù)據(jù)文件不僅是通過使用相對尋址方案來進(jìn)行簡化的,而且還通過使用自主的表空間得到了簡化。當(dāng)一個(gè)表空間集合中并沒有任何涉及集合外部任何數(shù)據(jù)項(xiàng)的引用時(shí),這個(gè)表空間集合是自主的。舉例來說,如果表空間保持了用于另一個(gè)表空間的表的一個(gè)索引的數(shù)據(jù),那么這個(gè)表空間不是自主的。如果表空間集合不是自主的,那么可以使用幾種措施來提交自主的表。并且可以修改表空間的數(shù)據(jù)來產(chǎn)生自主的表空間集合。此外,舉例來說,可以從集合中刪除表空間或者添加附加的表空間來修改表空間集合的組成。數(shù)據(jù)庫元數(shù)據(jù)110保存的是將表空間編號映射到表空間的數(shù)據(jù)以及將數(shù)據(jù)文件映射到數(shù)據(jù)庫相關(guān)文件編號的數(shù)據(jù),并且對于特定的表空間而言,數(shù)據(jù)庫元數(shù)據(jù)還保存了將表空間相關(guān)文件編號映射到數(shù)據(jù)文件的數(shù)據(jù)庫相關(guān)文件編號的數(shù)據(jù)。在把數(shù)據(jù)庫系統(tǒng)101配置成訪問一個(gè)數(shù)據(jù)文件的時(shí)候,數(shù)據(jù)庫系統(tǒng)101為所述文件產(chǎn)生一個(gè)新的數(shù)據(jù)庫相關(guān)文件編號,由此更新數(shù)據(jù)庫元數(shù)據(jù)110。在把數(shù)據(jù)庫系統(tǒng)101配置成對作為表空間一部分的數(shù)據(jù)文件進(jìn)行訪問的時(shí)候,數(shù)據(jù)庫系統(tǒng)101為數(shù)據(jù)文件產(chǎn)生一個(gè)新的表空間相關(guān)文件編號,由此更新數(shù)據(jù)庫元數(shù)據(jù)110,其中,相對于表空間的其他數(shù)據(jù)文件而言,所述編號是唯一的。應(yīng)該理解的是,本發(fā)明并不局限于任何一種用于可移動(dòng)表空間的特定技術(shù),也不局限于任何一種用于將來源于一個(gè)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)文件集成到另一個(gè)數(shù)據(jù)庫系統(tǒng)的技術(shù)。具有多種大小的數(shù)據(jù)塊的數(shù)據(jù)庫系統(tǒng)為了將一個(gè)表空間集成到一個(gè)數(shù)據(jù)庫中,其中所述數(shù)據(jù)庫把數(shù)據(jù)保存在一個(gè)與所述表空間的數(shù)據(jù)塊具有不同大小的數(shù)據(jù)塊中,所述數(shù)據(jù)庫系統(tǒng)應(yīng)該支持不同大小的數(shù)據(jù)塊。支持多種大小的數(shù)據(jù)塊的數(shù)據(jù)庫系統(tǒng)可以具有幾種能力。這些能力包括管理一個(gè)可以保存不同大小的數(shù)據(jù)塊副本的緩沖存儲(chǔ)器的能力,以及為不同大小的數(shù)據(jù)塊所保存的數(shù)據(jù)產(chǎn)生重做記錄的能力。圖3描述了用于在緩沖存儲(chǔ)器190中設(shè)法緩存不同大小的數(shù)據(jù)塊的數(shù)據(jù)庫系統(tǒng)101的組件。參考圖3,緩沖存儲(chǔ)器190具有用于保存不同大小的數(shù)據(jù)塊的不同大小的緩沖區(qū)緩沖區(qū)392具有塊大小A,緩沖區(qū)394具有塊大小B,緩沖區(qū)396具有塊大小C,緩沖區(qū)398具有塊大小D。緩沖存儲(chǔ)器190中的緩沖區(qū)可以是由數(shù)據(jù)庫元數(shù)據(jù)110定義的多個(gè)離散數(shù)據(jù)塊大小中的任何一個(gè)塊大小。數(shù)據(jù)庫系統(tǒng)101還可以定義一個(gè)缺省數(shù)據(jù)塊大小以供如進(jìn)一步描述的使用。根據(jù)本發(fā)明的一個(gè)實(shí)施例,表空間中的所有數(shù)據(jù)塊都具有相同大小。當(dāng)用戶提交DDL命令來定義一個(gè)表空間時(shí),所述命令可以包括一個(gè)指定表空間的數(shù)據(jù)塊的數(shù)據(jù)塊大小的參數(shù)。如果沒有為表空間指定參數(shù),那么缺省數(shù)據(jù)塊大小即為表空間的數(shù)據(jù)塊大小。塊大小映射330被用于將數(shù)據(jù)文件映射到數(shù)據(jù)塊大小。具體地說,塊大小映射330把數(shù)據(jù)文件的“數(shù)據(jù)庫相關(guān)”文件編號映射到數(shù)據(jù)文件包含的數(shù)據(jù)塊的塊大小。塊大小映射330包括塊大小映射條目332并以縱列形式顯示了數(shù)據(jù)庫相關(guān)文件編號336和塊大小334。塊大小映射條目332中的一個(gè)條目把縱列的數(shù)據(jù)庫相關(guān)文件編號336的數(shù)據(jù)庫相關(guān)文件編號值映射到塊大小334的塊大小值。數(shù)據(jù)庫相關(guān)編號映射320把數(shù)據(jù)文件的表空間編號和表空間相關(guān)文件編號映射到所述數(shù)據(jù)文件的數(shù)據(jù)庫相關(guān)編號。數(shù)據(jù)庫相關(guān)編號映射320包含數(shù)據(jù)庫相關(guān)編號映射條目322并以縱列形式顯示了表空間編號325、表空間相關(guān)文件編號326以及數(shù)據(jù)庫相關(guān)編號324。數(shù)據(jù)庫相關(guān)編號映射條目322中的一個(gè)條目將一對縱列的表空間編號325和表空間相關(guān)文件編號326的值映射到數(shù)據(jù)庫相關(guān)編號324中的數(shù)據(jù)庫相關(guān)編號。數(shù)據(jù)庫系統(tǒng)101可以使用數(shù)據(jù)庫相關(guān)編號映射320以及塊大小映射330來判定在從靜態(tài)存儲(chǔ)器中讀取數(shù)據(jù)塊之前,需要何種大小的緩沖區(qū)來保存一個(gè)數(shù)據(jù)塊。在給定了數(shù)據(jù)文件的表空間編號和表空間相關(guān)編號的情況下,可以通過初始檢查數(shù)據(jù)庫相關(guān)編號映射320來尋找數(shù)據(jù)庫相關(guān)編號,由此發(fā)現(xiàn)塊大小。并且可以通過檢查塊大小映射330而從數(shù)據(jù)庫相關(guān)編號中確定所述塊大小。舉例來說,數(shù)據(jù)庫系統(tǒng)101接收一個(gè)請求而讀取一個(gè)由數(shù)據(jù)塊指針R指向的數(shù)據(jù)塊DBR。數(shù)據(jù)塊指針R規(guī)定了表空間的表空間編號和表空間相關(guān)文件編號,并且規(guī)定了包含所述數(shù)據(jù)塊的數(shù)據(jù)文件,此外還規(guī)定了一個(gè)指示數(shù)據(jù)塊始于數(shù)據(jù)文件內(nèi)部哪個(gè)位置的偏移。數(shù)據(jù)庫系統(tǒng)101檢查數(shù)據(jù)庫相關(guān)編號映射320以及塊大小映射330,從而確定塊大小C即為數(shù)據(jù)塊DBR的數(shù)據(jù)塊大小。然后,數(shù)據(jù)庫系統(tǒng)101把數(shù)據(jù)塊從靜態(tài)存儲(chǔ)器加載到具有塊大小C的緩沖存儲(chǔ)器190的一個(gè)緩沖區(qū)。同樣,數(shù)據(jù)塊指針可以包含一個(gè)數(shù)據(jù)庫相關(guān)文件編號。數(shù)據(jù)庫系統(tǒng)101僅僅使用塊大小映射330來為需要保存數(shù)據(jù)塊指針?biāo)婕暗臄?shù)據(jù)塊的緩沖區(qū)確定塊大小。用于具有多種大小的數(shù)據(jù)塊的數(shù)據(jù)庫系統(tǒng)的撤消記錄如先前所描述的那樣,撤消條目包含了撤消由數(shù)據(jù)庫操作導(dǎo)致的變化所需要的數(shù)據(jù)(“撤消數(shù)據(jù)”)。并且,保存撤消數(shù)據(jù)所需要的數(shù)據(jù)塊有可能比保存已變化數(shù)據(jù)所需要的數(shù)據(jù)塊更多。關(guān)于這一點(diǎn),至少存在幾個(gè)原因。首先,就需要保存數(shù)據(jù)的存儲(chǔ)空間而言,撤消數(shù)據(jù)的數(shù)量本來就大于所改變的數(shù)據(jù)量。換句話說,對大小為X的數(shù)據(jù)塊中的所有用戶數(shù)據(jù)所進(jìn)行的變化可能會(huì)比可以保存在相同大小的數(shù)據(jù)塊中的數(shù)據(jù)需要更多的撤消數(shù)據(jù)。其次,修改的數(shù)據(jù)保存在數(shù)據(jù)塊中,所述數(shù)據(jù)塊具有大于那些用于保存撤消日志的數(shù)據(jù)塊的大小。具體地說,在數(shù)據(jù)庫系統(tǒng)101中,表空間150保持日志文件150。表空間150可被配置用于那些比表空間130所配置的數(shù)據(jù)塊大小更小的數(shù)據(jù)塊大小。由于數(shù)據(jù)塊大小存在差異,因此,與用于表空間的數(shù)據(jù)塊大小相等的情況下所需要的數(shù)據(jù)塊相比,用于表空間130中的數(shù)據(jù)塊的撤消數(shù)據(jù)可能會(huì)需要表空間150中的更多數(shù)據(jù)塊。對于改變用于一個(gè)事務(wù)的特定數(shù)據(jù)塊而言,將數(shù)據(jù)庫系統(tǒng)101配置成在一個(gè)以上的數(shù)據(jù)塊中保存撤消數(shù)據(jù)。無論撤消數(shù)據(jù)的大小是否原本就大于變化數(shù)據(jù)的大小,還是數(shù)據(jù)塊中保存的數(shù)據(jù)在大小上小于保存改變數(shù)據(jù)的數(shù)據(jù)塊,這個(gè)特征都允許數(shù)據(jù)庫系統(tǒng)101對撤消數(shù)據(jù)與相應(yīng)變化數(shù)據(jù)之間大小上的差異進(jìn)行處理。集成來自另一個(gè)數(shù)據(jù)庫系統(tǒng)的表空間圖4是一個(gè)對把表空間從源數(shù)據(jù)庫集成到目標(biāo)數(shù)據(jù)庫系統(tǒng)的處理步驟進(jìn)行描述的流程圖,其中表空間包含了與目標(biāo)數(shù)據(jù)庫系統(tǒng)使用的至少一個(gè)數(shù)據(jù)塊子集具有不同數(shù)據(jù)塊大小的數(shù)據(jù)塊,以便保存數(shù)據(jù)。所述處理是使用數(shù)據(jù)庫系統(tǒng)101來進(jìn)行描述的。參考圖4,在步驟410,數(shù)據(jù)庫系統(tǒng)101確定將要集成到數(shù)據(jù)庫系統(tǒng)101的表空間的塊大小。所述確定可以使用多種方式進(jìn)行。舉例來說,數(shù)據(jù)庫系統(tǒng)101可以檢查一個(gè)為所述表空間產(chǎn)生的導(dǎo)出控制文件來確定數(shù)據(jù)塊大小。作為選擇,數(shù)據(jù)庫系統(tǒng)101可以對表空間進(jìn)行檢查,掃描那些標(biāo)記了數(shù)據(jù)塊邊界的數(shù)據(jù)結(jié)構(gòu),并且確定處于邊界內(nèi)部的數(shù)據(jù)數(shù)量。最后,數(shù)據(jù)庫系統(tǒng)101可以向用戶提示輸入數(shù)據(jù)塊大小。在步驟420,數(shù)據(jù)庫系統(tǒng)101確定是否可以集成具有步驟410中確定的數(shù)據(jù)塊大小的表空間。如果數(shù)據(jù)庫系統(tǒng)101確定無法集成具有所述數(shù)據(jù)塊大小的表空間,則步驟的執(zhí)行將會(huì)前進(jìn)到步驟490,在所述步驟,數(shù)據(jù)庫系統(tǒng)101終止所述集成表空間的處理。否則,所述執(zhí)行將會(huì)進(jìn)行到步驟430??梢允褂酶鞣N技術(shù)來判定數(shù)據(jù)庫系統(tǒng)101是否可以集成具有所述數(shù)據(jù)塊大小的表空間。如果數(shù)據(jù)庫系統(tǒng)101支持由數(shù)據(jù)庫元數(shù)據(jù)110定義的離散數(shù)據(jù)塊大小,那么數(shù)據(jù)庫系統(tǒng)101將會(huì)檢查數(shù)據(jù)庫元數(shù)據(jù),以便確定所述數(shù)據(jù)塊大小是否即為所支持的離散塊大小中的一個(gè)。如果數(shù)據(jù)庫系統(tǒng)101經(jīng)過硬編碼而支持離散塊大小,則可以只對數(shù)據(jù)庫系統(tǒng)101進(jìn)行硬編碼,以便比較所述數(shù)據(jù)塊大小和所支持的離散塊大小。在步驟430,數(shù)據(jù)庫系統(tǒng)101把表空間集成到數(shù)據(jù)庫系統(tǒng)101。所述表空間是使用任何一種將表空間集成到前述數(shù)據(jù)庫系統(tǒng)的技術(shù)來集成的。用于將給定大小的數(shù)據(jù)塊傳送到一個(gè)具有不同大小的數(shù)據(jù)塊的數(shù)據(jù)庫系統(tǒng)的技術(shù)提供了超越在數(shù)據(jù)庫系統(tǒng)之間傳送數(shù)據(jù)的傳統(tǒng)方法的優(yōu)點(diǎn)。與用于導(dǎo)入數(shù)據(jù)的傳統(tǒng)方法相比,使用可移動(dòng)表空間允許在數(shù)據(jù)庫之間更加快速地移動(dòng)數(shù)據(jù)。此外,由于表空間的數(shù)據(jù)塊不必與目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)塊具有相同大小,因此目標(biāo)數(shù)據(jù)庫并不僅限于使用與源數(shù)據(jù)庫一樣的數(shù)據(jù)塊大小,并且可以將其配置成使用那些對于目標(biāo)數(shù)據(jù)庫最優(yōu)化的數(shù)據(jù)塊大小。舉例來說,可以將數(shù)據(jù)倉庫配置成在比OLTP源數(shù)據(jù)庫更大的數(shù)據(jù)塊中保持?jǐn)?shù)據(jù)。當(dāng)然,如果傳送數(shù)據(jù)仍處于用于傳送數(shù)據(jù)的表空間中,那么,所述表空間中包含的數(shù)據(jù)可以保存數(shù)據(jù)塊中,所述數(shù)據(jù)塊的大小并非對于目標(biāo)數(shù)據(jù)庫是最優(yōu)化的。然而,將所傳送的數(shù)據(jù)保留在用于傳送數(shù)據(jù)的表空間中,這一點(diǎn)并不是必要的。一旦集成了表空間,則可以提取那些來源于表空間的數(shù)據(jù)并將其加載到具有最佳數(shù)據(jù)塊大小的表空間中。舉例來說,一旦集成到數(shù)據(jù)倉庫中,則所傳送表空間中包含的表可以充當(dāng)分級表(stagingtable)。并且來自分級表的數(shù)據(jù)將被提取、轉(zhuǎn)換和加載到充當(dāng)數(shù)據(jù)倉庫的主聯(lián)機(jī)儲(chǔ)存庫的表中。與從另一個(gè)數(shù)據(jù)庫的表中提取數(shù)據(jù)相比,通常從數(shù)據(jù)庫系統(tǒng)內(nèi)部的表中提取數(shù)據(jù)將會(huì)得到更為有效的執(zhí)行。硬件綜述圖5是描述可以執(zhí)行本發(fā)明一個(gè)實(shí)施例的計(jì)算機(jī)系統(tǒng)500的框圖。計(jì)算機(jī)系統(tǒng)500包括一條總線502或是用于傳遞信息的其他通信結(jié)構(gòu),并且包括一個(gè)與總線502耦合并用于處理信息的處理器504。計(jì)算機(jī)系統(tǒng)500還包含一個(gè)主存儲(chǔ)器506,例如隨機(jī)訪問存儲(chǔ)器(RAM)或是其它動(dòng)態(tài)存儲(chǔ)器,其與總線502耦合,用于保存信息以及處理器504所要執(zhí)行的指令。在運(yùn)行處理器504所執(zhí)行指令的過程中,主存儲(chǔ)器506還可用于保存臨時(shí)變量或是其它中間信息。計(jì)算機(jī)系統(tǒng)500還包括一個(gè)只讀存儲(chǔ)器(ROM)508或其它靜態(tài)存儲(chǔ)設(shè)備,它與總線502耦合,用于保存靜態(tài)信息和涉及處理器504的指令。此外還提供了諸如磁盤或光盤這種存儲(chǔ)設(shè)備510,所述設(shè)備與總線502耦合,以便保存信息和指令。計(jì)算機(jī)系統(tǒng)500可以經(jīng)由總線502而與陰極射線管(CRT)這類顯示器512相耦合,以便將信息顯示給計(jì)算機(jī)用戶。包含字母數(shù)字及其他按鍵的輸入設(shè)備514與總線502相連,以便將信息和命令選擇傳遞到處理器504。另一種用戶輸入設(shè)備是光標(biāo)控制516,例如鼠標(biāo)、軌跡球或光標(biāo)方向鍵,用于將方向信息和命令選擇傳遞給處理器504以及控制顯示器512上的光標(biāo)移動(dòng)。這種輸入設(shè)備通常在第一軸(例如x)和第二軸(例如y)這兩個(gè)軸上具有兩個(gè)自由度,由此設(shè)備能夠確定一個(gè)平面上的位置。本發(fā)明涉及使用計(jì)算機(jī)系統(tǒng)500來實(shí)施這里所描述的技術(shù)方法。根據(jù)本發(fā)明的一個(gè)實(shí)施例,處理器504執(zhí)行主存儲(chǔ)器506中包含的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列,計(jì)算機(jī)系統(tǒng)500對此做出響應(yīng),由此執(zhí)行這些技術(shù)方法。這些指令可以從諸如存儲(chǔ)設(shè)備510等等的另一種計(jì)算機(jī)可讀介質(zhì)讀入主存儲(chǔ)器506。通過執(zhí)行主存儲(chǔ)器506中包含的指令序列,處理器504執(zhí)行這里描述的處理步驟。在替換實(shí)施例中,硬布線電路可用于取代軟件指令或是與之組合,由此實(shí)現(xiàn)本發(fā)明。因此,本發(fā)明的實(shí)施例不限于硬件電路和軟件的任何一種特定組合。這里使用的術(shù)語“計(jì)算機(jī)可讀介質(zhì)”是指任何一種參與向處理器504提供指令以供執(zhí)行的介質(zhì)。這種介質(zhì)可以采取很多形式,其中包括但不局限于非易失介質(zhì)、易失介質(zhì)和傳輸介質(zhì)。舉例來說,非易失介質(zhì)包括光盤或磁盤,例如存儲(chǔ)設(shè)備510。易失介質(zhì)包括動(dòng)態(tài)存儲(chǔ)器,例如主存儲(chǔ)器506。傳輸介質(zhì)包括同軸電纜、銅線和光纖,其中包括了構(gòu)成總線502的線路。傳輸介質(zhì)還可以采取聲波或光波的形式,例如無線電波和紅外數(shù)據(jù)通信中產(chǎn)生的那些聲波或光波。舉例來說,計(jì)算機(jī)可讀介質(zhì)的常見形式包括軟盤、軟磁盤、硬盤、磁帶或任何其它磁介質(zhì)、CD-ROM或任何其它光學(xué)介質(zhì)、穿孔卡、紙帶或具有孔洞圖案的任何其它物理介質(zhì)、RAM、PROM和EPROM、FLASH-EPROM、其它任何存儲(chǔ)芯片或盒式磁盤、如下所述的載波或是計(jì)算機(jī)可以讀取的其它任何介質(zhì)。在向處理器504傳遞一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列來加以執(zhí)行的過程中,可以包含不同形式的計(jì)算機(jī)可讀介質(zhì)。舉例來說,最初將指令傳送到遠(yuǎn)程計(jì)算機(jī)磁盤上。遠(yuǎn)程計(jì)算機(jī)可以將指令加載到它的動(dòng)態(tài)存儲(chǔ)器中,并且使用調(diào)制解調(diào)器而經(jīng)由電話線來發(fā)送指令。計(jì)算機(jī)系統(tǒng)500的本地調(diào)制解調(diào)器可以在電話線上接收數(shù)據(jù)并且使用紅外發(fā)射機(jī)來將數(shù)據(jù)轉(zhuǎn)換成紅外信號。紅外檢測器可以接收紅外信號中傳送的數(shù)據(jù),而恰當(dāng)?shù)碾娐穭t可將數(shù)據(jù)安插到總線502上??偩€502將數(shù)據(jù)傳送到主存儲(chǔ)器506,處理器504從主存儲(chǔ)器中檢索并執(zhí)行指令。在由處理器504執(zhí)行之前或之后,由主存儲(chǔ)器506接收的指令可以隨意保存在存儲(chǔ)設(shè)備510中。計(jì)算機(jī)系統(tǒng)500還包括一個(gè)與總線502相連的通信接口518。通信接口518提供了一個(gè)與網(wǎng)絡(luò)鏈路520耦合的雙向數(shù)據(jù)通信,其中網(wǎng)絡(luò)鏈路520與局域網(wǎng)522相連。舉例來說,通信接口518可以是一個(gè)向相應(yīng)類型的電話線路提供數(shù)據(jù)通信連接的綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)的網(wǎng)卡或是調(diào)制解調(diào)器。作為另一個(gè)實(shí)例,通信接口518可以是一個(gè)局域網(wǎng)(LAN)卡,它向兼容的LAN提供數(shù)據(jù)通信連接。此外還可以實(shí)施無線鏈路。在任何一種這類實(shí)施中,通信接口518都會(huì)收發(fā)電、電磁或光信號,這些信號傳送的是那些代表不同類型信息的數(shù)字?jǐn)?shù)據(jù)流。網(wǎng)絡(luò)鏈路520通常經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)來向其它數(shù)據(jù)設(shè)備提供數(shù)據(jù)通信。舉例來說,網(wǎng)絡(luò)鏈路520可以經(jīng)由局域網(wǎng)522而將一個(gè)連接提供給主機(jī)524或是互聯(lián)網(wǎng)服務(wù)供應(yīng)商(ISP)526運(yùn)作的數(shù)據(jù)設(shè)備。ISP526進(jìn)而又通過現(xiàn)在通常稱為“互聯(lián)網(wǎng)”528的全球分組數(shù)據(jù)通信網(wǎng)絡(luò)來提供數(shù)據(jù)通信業(yè)務(wù)。局域網(wǎng)522和互聯(lián)網(wǎng)528都使用了傳送數(shù)字?jǐn)?shù)據(jù)流的電、電磁或光信號。經(jīng)由不同網(wǎng)絡(luò)的信號以及網(wǎng)絡(luò)鏈路520上經(jīng)由通信接口518的信號傳送的是那些往返于計(jì)算機(jī)系統(tǒng)500的數(shù)字?jǐn)?shù)據(jù),而這些信號即為傳送信息的載波的示范性形式。計(jì)算機(jī)系統(tǒng)500可以經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路520以及通信接口518來發(fā)送消息和接收數(shù)據(jù),其中包括了程序代碼。在互聯(lián)網(wǎng)實(shí)例中,服務(wù)器530可以經(jīng)由互聯(lián)網(wǎng)528、ISP526、局域網(wǎng)522以及通信接口518來發(fā)送一個(gè)用于應(yīng)用程序的被請求碼。接收到的代碼可以在接收時(shí)由處理器504執(zhí)行和/或存入存儲(chǔ)設(shè)備510或其它非易失存儲(chǔ)器中,以供稍后執(zhí)行。這樣,計(jì)算機(jī)系統(tǒng)500可以得到載波形式的應(yīng)用碼。在前述說明中,本發(fā)明是參考其實(shí)施例來進(jìn)行描述的。然而很明顯,可以對本發(fā)明進(jìn)行各種修改和變化,而不脫離本發(fā)明較寬的實(shí)質(zhì)和范圍。因此,說明書和附圖將被認(rèn)為是說明性的而非限制性的。權(quán)利要求1.一種用于數(shù)據(jù)庫系統(tǒng)從其他數(shù)據(jù)庫系統(tǒng)訪問數(shù)據(jù)的方法,所述方法包括步驟第一數(shù)據(jù)庫系統(tǒng)直接將第一數(shù)據(jù)保存在具有第一數(shù)據(jù)塊大小的第一數(shù)據(jù)塊中;所述第一數(shù)據(jù)庫系統(tǒng)直接訪問第二數(shù)據(jù)塊的一個(gè)副本,其中第二數(shù)據(jù)庫系統(tǒng)直接將第二數(shù)據(jù)保存在所述副本中;以及所述第二數(shù)據(jù)塊具有至少一個(gè)數(shù)據(jù)塊,所述數(shù)據(jù)塊具有不同于所述第一數(shù)據(jù)塊大小的第二數(shù)據(jù)塊大小。2.根據(jù)權(quán)利要求1所述的方法,其中所述方法還包括步驟將所述第一數(shù)據(jù)庫系統(tǒng)內(nèi)部的所述第二數(shù)據(jù)塊的所述副本作為包含了所述第二數(shù)據(jù)塊的所述副本的表空間來進(jìn)行集成。3.根據(jù)權(quán)利要求1所述的方法,其中訪問第二數(shù)據(jù)塊副本的步驟包括將用戶數(shù)據(jù)保存在所述第二數(shù)據(jù)塊的所述副本中。4.根據(jù)權(quán)利要求1所述的方法,其中所述方法還包括步驟從所述第二數(shù)據(jù)庫系統(tǒng)中分離一個(gè)或多個(gè)表空間,其中所述一個(gè)或多個(gè)表空間包含了所述第二數(shù)據(jù)塊。5.根據(jù)權(quán)利要求1所述的方法,其中所述第二數(shù)據(jù)塊的所述副本的每個(gè)數(shù)據(jù)塊都具有所述第二數(shù)據(jù)塊大小。6.根據(jù)權(quán)利要求1所述的方法,還包括產(chǎn)生元數(shù)據(jù)的步驟,所述元數(shù)據(jù)為所述第一數(shù)據(jù)庫系統(tǒng)可以直接訪問的數(shù)據(jù)塊指定了多個(gè)塊大小。7.根據(jù)權(quán)利要求6所述的方法,其中所述元數(shù)據(jù)定義了表空間,并且為所述表空間中的每個(gè)表空間都指定了一個(gè)用于所述表空間中所有數(shù)據(jù)塊的特定數(shù)據(jù)塊大??;以及所述方法還包括步驟將所述第一數(shù)據(jù)庫系統(tǒng)內(nèi)部所述第二數(shù)據(jù)塊的所述副本作為至少一個(gè)包含所述第二數(shù)據(jù)塊的所述副本的表空間來集成;以及其中所述集成步驟包括修改所述元數(shù)據(jù),以便反映用于所述至少一個(gè)表空間的所述第二數(shù)據(jù)塊大小。8.根據(jù)權(quán)利要求1所述的方法,其中所述第一數(shù)據(jù)庫系統(tǒng)是一個(gè)數(shù)據(jù)倉庫,并且所述第二數(shù)據(jù)庫系統(tǒng)是一個(gè)用于所述數(shù)據(jù)倉庫的源數(shù)據(jù)庫系統(tǒng)。9.根據(jù)權(quán)利要求8所述的方法,還包括步驟將所述數(shù)據(jù)倉庫內(nèi)部所述第二數(shù)據(jù)塊的所述副本作為包含所述第二數(shù)據(jù)塊的所述副本的一個(gè)表空間來集成。10.根據(jù)權(quán)利要求1所述的方法,其中第一數(shù)據(jù)文件包含所述第一數(shù)據(jù)塊,并且第二數(shù)據(jù)文件包含所述第二數(shù)據(jù)塊;以及其中所述方法還包括在所述第一數(shù)據(jù)文件與所述第一數(shù)據(jù)塊大小之間以及在所述第二數(shù)據(jù)文件與所述第二數(shù)據(jù)塊大小之間產(chǎn)生映射的步驟。11.根據(jù)權(quán)利要求1所述的方法,其中第一表空間包含所述第一數(shù)據(jù)塊,第二表空間包含所述第二數(shù)據(jù)塊;以及其中所述方法還包括在所述第一表空間與所述第一數(shù)據(jù)塊大小之間以及在所述第二表空間與所述第二數(shù)據(jù)塊大小之間產(chǎn)生映射的步驟。12.根據(jù)權(quán)利要求1所述的方法,其中所述第一數(shù)據(jù)庫系統(tǒng)包含一個(gè)緩沖存儲(chǔ)器,所述第一數(shù)據(jù)庫系統(tǒng)則將多個(gè)大小的數(shù)據(jù)塊保存在所述緩沖存儲(chǔ)器中;以及其中所述方法還包括將所述第一數(shù)據(jù)塊和所述第二數(shù)據(jù)塊保存在所述緩沖存儲(chǔ)器中的步驟。13.一種計(jì)算機(jī)可讀介質(zhì),攜帶有一個(gè)或多個(gè)指令序列,用于使數(shù)據(jù)庫系統(tǒng)從其他數(shù)據(jù)庫系統(tǒng)訪問數(shù)據(jù),其中一個(gè)或多個(gè)處理器執(zhí)行一個(gè)或多個(gè)指令序列,以使一個(gè)或多個(gè)處理器執(zhí)行以下步驟第一數(shù)據(jù)庫系統(tǒng)直接將第一數(shù)據(jù)保存在具有第一數(shù)據(jù)塊大小的第一數(shù)據(jù)塊中;所述第一數(shù)據(jù)庫系統(tǒng)直接訪問第二數(shù)據(jù)塊的一個(gè)副本,其中第二數(shù)據(jù)庫系統(tǒng)直接將第二數(shù)據(jù)保存在所述副本中;以及所述第二數(shù)據(jù)塊具有至少一個(gè)數(shù)據(jù)塊,所述數(shù)據(jù)塊具有不同于所述第一數(shù)據(jù)塊大小的第二數(shù)據(jù)塊大小。14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì)還包括指令,用于執(zhí)行以下步驟將所述第一數(shù)據(jù)庫系統(tǒng)內(nèi)部所述第二數(shù)據(jù)塊的所述副本作為一個(gè)包含所述第二數(shù)據(jù)塊的所述副本的表空間來進(jìn)行集成。15.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中訪問第二數(shù)據(jù)塊副本的步驟包括將用戶數(shù)據(jù)保存在所述第二數(shù)據(jù)塊的所述副本中。16.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì)還包括指令,用于執(zhí)行以下步驟從所述第二數(shù)據(jù)庫系統(tǒng)中分離一個(gè)或多個(gè)表空間,其中所述一個(gè)或多個(gè)表空間包含了所述第二數(shù)據(jù)塊。17.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中所述第二數(shù)據(jù)塊的所述副本的每個(gè)數(shù)據(jù)塊都具有所述第二數(shù)據(jù)塊大小。18.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),還包括指令,用于執(zhí)行產(chǎn)生元數(shù)據(jù)的步驟,所述元數(shù)據(jù)為所述第一數(shù)據(jù)庫系統(tǒng)可以直接訪問的數(shù)據(jù)塊指定了多個(gè)塊大小。19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述元數(shù)據(jù)定義了表空間,并且為所述表空間中的每個(gè)表空間都指定了一個(gè)用于所述表空間中所有數(shù)據(jù)塊的特定數(shù)據(jù)塊大小;以及所述計(jì)算機(jī)可讀介質(zhì)還包括指令,用于執(zhí)行以下步驟將所述第一系統(tǒng)內(nèi)部所述第二數(shù)據(jù)塊的所述副本作為至少一個(gè)包含所述第二數(shù)據(jù)塊的所述副本的表空間來進(jìn)行集成;以及其中,所述集成步驟包括修改所述元數(shù)據(jù),以便反映用于所述至少一個(gè)表空間的所述第二數(shù)據(jù)塊大小。20.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中所述第一數(shù)據(jù)庫系統(tǒng)是一個(gè)數(shù)據(jù)倉庫,所述第二數(shù)據(jù)庫系統(tǒng)是一個(gè)用于所述數(shù)據(jù)倉庫的源數(shù)據(jù)庫系統(tǒng)。21.根據(jù)權(quán)利要求20所述的計(jì)算機(jī)可讀介質(zhì),還包括指令,用于執(zhí)行以下步驟將所述數(shù)據(jù)倉庫內(nèi)部所述第二數(shù)據(jù)塊的所述副本作為包含所述第二數(shù)據(jù)塊的所述副本的一個(gè)表空間來進(jìn)行集成。22.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中第一數(shù)據(jù)文件包含所述第一數(shù)據(jù)塊,并且第二數(shù)據(jù)文件包含所述第二數(shù)據(jù)塊;以及其中所述計(jì)算機(jī)可讀介質(zhì)還包括指令,用于執(zhí)行在所述第一數(shù)據(jù)文件與所述第一數(shù)據(jù)塊大小之間以及在所述第二數(shù)據(jù)文件與所述第二數(shù)據(jù)塊大小之間產(chǎn)生映射的步驟。23.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中第一表空間包含所述第一數(shù)據(jù)塊,第二表空間包含所述第二數(shù)據(jù)塊;以及其中計(jì)算機(jī)可讀介質(zhì)還包括指令,用于執(zhí)行在所述第一表空間與所述第一數(shù)據(jù)塊大小之間以及在所述第二表空間與所述第二數(shù)據(jù)塊大小之間產(chǎn)生映射的步驟。24.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中所述第一數(shù)據(jù)庫系統(tǒng)包含一個(gè)緩沖存儲(chǔ)器,所述第一數(shù)據(jù)庫系統(tǒng)則將多個(gè)大小的數(shù)據(jù)塊保存在所述緩沖存儲(chǔ)器中;以及其中所述計(jì)算機(jī)可讀介質(zhì)還包括將所述第一數(shù)據(jù)塊和所述第二數(shù)據(jù)塊保存在所述緩沖存儲(chǔ)器中的步驟。全文摘要本發(fā)明提供了一種機(jī)制,所述機(jī)制允許一個(gè)給定的數(shù)據(jù)庫系統(tǒng)從另一個(gè)數(shù)據(jù)庫系統(tǒng)訪問數(shù)據(jù)塊,其中來自給定數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)塊與來自其他數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)塊具有不同的大小。根據(jù)本發(fā)明的一個(gè)方面,其他數(shù)據(jù)庫系統(tǒng)中的表空間包含了數(shù)據(jù)塊。所述表空間從其他數(shù)據(jù)庫系統(tǒng)分離,并且集成到給定數(shù)據(jù)庫中,所述給定數(shù)據(jù)庫能夠處理具有不同大小的數(shù)據(jù)塊中保存的數(shù)據(jù)。文檔編號G06F17/30GK1526107SQ02811033公開日2004年9月1日申請日期2002年5月29日優(yōu)先權(quán)日2001年5月30日發(fā)明者斯里達(dá)·穆卡瑪拉,斯里達(dá)穆卡瑪拉,拉希里,特善卡·拉希里,帕雷克,阿魯克·帕雷克,洛艾薩,胡安·洛艾薩,J·威廉·李,ダ,加里·恩蓋,恩蓋申請人:甲骨文國際公司