国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle可傳輸表空間實(shí)現(xiàn)跨平臺(tái)移植

瀏覽:44日期:2023-11-13 13:39:57
可傳輸表空間現(xiàn)在可以跨平臺(tái)移植,從而使得數(shù)據(jù)發(fā)布更快更輕易。此外,外部表下載使得通過轉(zhuǎn)換進(jìn)行數(shù)據(jù)轉(zhuǎn)移的任務(wù)更簡(jiǎn)單更快。 如何將數(shù)據(jù)從一個(gè)數(shù)據(jù)庫(kù)轉(zhuǎn)移到另一個(gè)數(shù)據(jù)庫(kù)?在現(xiàn)有的幾種方法中,有一種方法尤為出色:可傳輸表空間。在這種方法中,使用一組自包含、只讀的表空間,只導(dǎo)出元數(shù)據(jù),在操作系統(tǒng)層將這些表空間的數(shù)據(jù)文件拷貝至目標(biāo)平臺(tái),并將元數(shù)據(jù)導(dǎo)入數(shù)據(jù)字典 — 這個(gè)過程稱為插入。 操作系統(tǒng)文件拷貝一般比其它傳統(tǒng)的數(shù)據(jù)轉(zhuǎn)移方法(如導(dǎo)出/導(dǎo)入或 SQL*Loader)要快得多。然而,在 Oracle9i 數(shù)據(jù)庫(kù)和更低版本中,可傳輸表空間僅限于在目標(biāo)數(shù)據(jù)庫(kù)和源數(shù)據(jù)庫(kù)都運(yùn)行在同一操作系統(tǒng)平臺(tái)上的少數(shù)情況下才有用 — 例如,不能在 Solaris 和 HP-UX 平臺(tái)之間傳輸表空間。 在 Oracle 數(shù)據(jù)庫(kù) 10g 中,這個(gè)局限消失了:只要操作系統(tǒng)字節(jié)順序相同,就可以在平臺(tái)之間傳輸表空間。本文將不就字節(jié)順序展開長(zhǎng)篇的討論,但這里只要提幾句話就足夠了:一些操作系統(tǒng)(包括 Windows)在低位內(nèi)存地址中用最低有效字節(jié)存儲(chǔ)多字節(jié)二進(jìn)制數(shù)據(jù);因此這種系統(tǒng)被稱為低地址低字節(jié)序。相反,其它的操作系統(tǒng)(包括 Solaris)將最高有效字節(jié)存儲(chǔ)在低位內(nèi)存地址中,因此這種系統(tǒng)被稱為低地址高字節(jié)序。當(dāng)一個(gè)低地址高字節(jié)序的系統(tǒng)試圖從一個(gè)低地址低字節(jié)序的系統(tǒng)中讀取數(shù)據(jù)時(shí),需要一個(gè)轉(zhuǎn)換過程 — 否則,字節(jié)順序?qū)?dǎo)致不能正確解釋讀取的數(shù)據(jù)。(有關(guān)字節(jié)順序的具體說明,請(qǐng)閱讀嵌入式系統(tǒng)編程的 2002 年 1 月刊中的一篇極好的文章“字節(jié)順序介紹”。)不過,當(dāng)在相同字節(jié)順序的平臺(tái)之間傳輸表空間時(shí),不需要任何轉(zhuǎn)換。 怎么知道哪一種操作系統(tǒng)采用哪一種字節(jié)順序?不需猜測(cè)或搜索互聯(lián)網(wǎng),相反只需簡(jiǎn)單地執(zhí)行以下查詢: SQL> select * from v$transportable_platform order by platform_id;PLATFORM_ID PLATFORM_NAME  ENDIAN_FORMAT----------- ----------------------------------- --------------1 Solaris[tm] OE (32-bit) Big2 Solaris[tm] OE (64-bit) Big3 HP-UX (64-bit) Big4 HP-UX IA (64-bit)  Big5 HP Tru64 UNIX  Little6 AIX-Based Systems (64-bit) Big7 Microsoft Windows IA (32-bit)  Little8 Microsoft Windows IA (64-bit)  Little9 IBM zSeries Based Linux Big10 Linux IA (32-bit)  Little11 Linux IA (64-bit)  Little12 Microsoft Windows 64-bit for AMDLittle13 Linux 64-bit for AMDLittle15 HP Open VMS Little16 Apple Mac OSBig假設(shè)想從一臺(tái)在 Intel 體系結(jié)構(gòu)上運(yùn)行 Linux 操作系統(tǒng)的主機(jī) SRC1 中將一個(gè)表空間 USERS 傳輸?shù)竭\(yùn)行 Microsoft Windows 操作系統(tǒng)的計(jì)算機(jī) TGT1 上。源平臺(tái)和目標(biāo)平臺(tái)都是低地址低字節(jié)序的。表空間 USERS 的數(shù)據(jù)文件是 users_01.dbf。將按照類似以下的方法來進(jìn)行操作。 使表空間為只讀: alter tablespace users read only; 導(dǎo)出表空間。在操作系統(tǒng)提示符下執(zhí)行: eXP tablespaces=users transport_tablespace=y file=exp_ts_users.dmpexp_ts_users.dmp 文件只包含元數(shù)據(jù)(不是表空間 USERS 的內(nèi)容)因此它將非常小。將文件 exp_ts_users.dmp 和 users_01.dbf 拷貝至主機(jī) TGT1。假如使用 FTP,那么將需要指定二進(jìn)制選項(xiàng)。 將表空間插入到數(shù)據(jù)庫(kù)中。在操作系統(tǒng)命令提示符下執(zhí)行下面的語(yǔ)句: imp tablespaces=users transport_tablespace=y file=exp_ts_users.dmp datafiles='users_01.dbf'在第 4 步之后,目標(biāo)數(shù)據(jù)庫(kù)將有一個(gè)名稱為 USERS 的表空間,并將提供該表空間的內(nèi)容。請(qǐng)記住,系統(tǒng) SRC1 和 TGT1 分別是 Linux 和 Windows。到 Oracle9i 為止,運(yùn)行在 TGT1 上的數(shù)據(jù)庫(kù)不能識(shí)別第 4 步中的數(shù)據(jù)文件 users_01.dbf,從而使得整個(gè)過程無用。您將必須求助其它一些方法(如常規(guī)的導(dǎo)出和導(dǎo)入、創(chuàng)建純文本文件并通過 SQL*Loader 加載,或直接在不同的數(shù)據(jù)庫(kù)間連接加載插入)。 在 10g 中,不再需要這些替代方法,因?yàn)槟繕?biāo)數(shù)據(jù)庫(kù)能夠識(shí)別來自另一個(gè)平臺(tái)的數(shù)據(jù)文件。在我們的示例中,源主機(jī)和目標(biāo)主機(jī)運(yùn)行的操作系統(tǒng)的字節(jié)順序是相同的(低地址低字節(jié)序),因此不需要任何轉(zhuǎn)換。 這個(gè)功能在數(shù)據(jù)倉(cāng)庫(kù)中非凡有用,其中更小的面向?qū)ο蟮臄?shù)據(jù)集市經(jīng)常在刷新之后從倉(cāng)庫(kù)中進(jìn)行填充。利用 10g,這些數(shù)據(jù)集市現(xiàn)在能夠放在更小、更廉價(jià)的計(jì)算機(jī)(如運(yùn)行 Linux 的 Intel boxes)中,而將數(shù)據(jù)倉(cāng)庫(kù)服務(wù)器放在更大的企業(yè)級(jí)計(jì)算機(jī)中。從本質(zhì)上講,利用可傳輸表空間,現(xiàn)在可以更好地利用各種硬件和操作系統(tǒng)的組合。 跨不同字節(jié)順序的平臺(tái) 假如平臺(tái)是不同字節(jié)順序的,那么將如何實(shí)現(xiàn)可傳輸性?正如我之前說明的,目標(biāo)計(jì)算機(jī)的字節(jié)順序假如與源計(jì)算機(jī)的字節(jié)順序不同,那么將不能正確地讀取數(shù)據(jù)文件,因而不可能簡(jiǎn)單地拷貝數(shù)據(jù)文件。但別灰心,在 Oracle 10g RMAN 實(shí)用程序中提供了幫助,它支持將數(shù)據(jù)文件從一種字節(jié)順序向另一種字節(jié)順序轉(zhuǎn)換。 在上面的例子中,假如主機(jī) SRC1 運(yùn)行在 Linux 上(低地址低字節(jié)序),而目標(biāo)主機(jī) TGT1 運(yùn)行在 HP-UX 上(低地址高字節(jié)序),那么需要在第 3 步和第 4 步之間引入另一個(gè)步驟,以進(jìn)行轉(zhuǎn)換。利用 RMAN,您將在源計(jì)算機(jī) SRC1 上把數(shù)據(jù)文件從 Linux 轉(zhuǎn)換成 HP-UX 格式(假定已經(jīng)使表空間變?yōu)橹蛔x): RMAN> convert tablespace users2> to platform 'HP-UX (64-bit)'3> format='/home/oracle/rman_bkups/%N_%f';Starting backup at 14-MAR-04using channel ORA_DISK_1channel ORA_DISK_1:starting datafile conversioninput datafile fno=00004 name=/usr/oradata/dw/starz10/users01.dbfconverted datafile=/home/oracle/rman_bkups/USERS_4channel ORA_DISK_1:datafile conversion complete, elapsed time: 00:00:07Finished backup at 14-MAR-04這個(gè)步驟在目錄 /home/oracle/rman_bkups 中創(chuàng)建了一個(gè)標(biāo)準(zhǔn) RMAN 文件格式_ 的文件。注重我們沒有觸及表空間 USERS 的數(shù)據(jù)文件;而是為 HP-UX 創(chuàng)建了一個(gè)新文件。現(xiàn)在可以將這個(gè)文件拷貝至目標(biāo)系統(tǒng),剩下的步驟很簡(jiǎn)單。 這個(gè) RMAN 轉(zhuǎn)換命令非常強(qiáng)大。按照上面給定的形式,它可以按順序創(chuàng)建數(shù)據(jù)文件。對(duì)于包含多個(gè)數(shù)據(jù)文件的表空間,可以命令同時(shí)轉(zhuǎn)換并運(yùn)行多個(gè)數(shù)據(jù)文件。要實(shí)現(xiàn)這一目的,將需要在上述命令中添加一個(gè)子句: parallelism = 4 該子句創(chuàng)建四個(gè) RMAN 通道,每一個(gè)通道處理一個(gè)數(shù)據(jù)文件。不過,一種更有用的方法是用一個(gè)步驟轉(zhuǎn)換大量的表空間,在這種情況下并行轉(zhuǎn)換將真正帶來很大的幫助。下面我們將兩個(gè)表空間 USERS 和 MAINTS 轉(zhuǎn)換至 HP-UX: RMAN> convert tablespace users, maints2> to platform 'HP-UX (64-bit)'3> format='/home/oracle/rman_bkups/%N_%f'4> parallelism = 5;Starting backup at 14-MAR-04using target database controlfile instead of recovery catalogallocated channel:ORA_DISK_1channel ORA_DISK_1:sid=244 devtype=DISKallocated channel:ORA_DISK_2channel ORA_DISK_2:sid=243 devtype=DISKallocated channel:ORA_DISK_3channel ORA_DISK_3:sid=245 devtype=DISKallocated channel:ORA_DISK_4channel ORA_DISK_4:sid=272 devtype=DISKallocated channel:ORA_DISK_5channel ORA_DISK_5:sid=253 devtype=DISKchannel ORA_DISK_1:starting datafile conversioninput datafile fno=00004 name=/usr/oradata/dw10/dw10/users01.dbfchannel ORA_DISK_2:starting datafile conversioninput datafile fno=00005 name=/usr/oradata/dw10/dw10/users02.dbfchannel ORA_DISK_3:starting datafile conversioninput datafile fno=00006 name=/usr/oradata/dw10/dw10/maints01.dbfchannel ORA_DISK_4:starting datafile conversioninput datafile fno=00007 name=/usr/oradata/dw10/dw10/maints02.dbfconverted datafile=/home/oracle/rman_bkups/USERS_4channel ORA_DISK_1:datafile conversion complete, elapsed time: 00:00:03converted datafile=/home/oracle/rman_bkups/USERS_5channel ORA_DISK_2:datafile conversion complete, elapsed time: 00:00:00converted datafile=/home/oracle/rman_bkups/MAINTS_6channel ORA_DISK_3:datafile conversion complete, elapsed time: 00:00:01converted datafile=/home/oracle/rman_bkups/MAINTS_7channel ORA_DISK_4:datafile conversion complete, elapsed time: 00:00:01Finished backup at 14-MAR-04在上述例子中,轉(zhuǎn)換后的文件名難于辨認(rèn)并很難與原始文件關(guān)聯(lián)(例如,文件 users01.dbf 變?yōu)?USERS_4)。相反,還可以使用其它格式來為數(shù)據(jù)文件命名。
主站蜘蛛池模板: 亚洲网址在线观看 | 波多野结衣中文一区二区免费 | 亚洲欧美国产精品专区久久 | 成人国产一区二区三区 | 男人的天堂精品国产一区 | 亚洲制服欧美自拍另类 | 悠悠影院欧美日韩国产 | 亚洲精品国产成人一区二区 | 美女视频黄a全部 | 手机看黄av免费网址 | 成人网18免费视频 | 国产日韩亚洲欧美 | 国产成人免费网站在线观看 | yy6080久久亚洲精品 | 天堂8中文在线最新版在线 天堂8资源8在线 | 国产成人高清一区二区私人 | 欧美亚洲免费 | 伊人狼人影院 | 亚洲黄色免费在线观看 | 亚洲精品一区国产二区 | 国产欧美一区二区三区免费看 | 男人天堂视频在线观看 | 日韩专区亚洲精品欧美专区 | 欧美满嘴射 | 在线观看中文字幕亚洲 | 欧美 在线 成 人怡红院 | 久草视频中文在线 | 国产精品成aⅴ人片在线观看 | 成人永久免费视频网站在线观看 | 久久亚洲国产精品 | 中文在线免费视频 | 久久福利青草狠狠午夜 | 亚洲第一成人天堂第一 | 亚洲色在线视频 | 久久影院国产 | 亚洲精品国产第一区二区三区 | 美女18一级毛片免费看 | 一级做a爰片久久毛片鸭王 一级做a爰全过程免费视频毛片 | 日韩亚洲欧美综合一区二区三区 | 精品久久久久不卡无毒 | 无码孕妇孕交在线观看 |