輕松實現(xiàn)快速數(shù)據(jù)遷移
數(shù)據(jù)遷移又被稱為分級存儲管理,快速的數(shù)據(jù)遷移能夠在很大程度上提高數(shù)據(jù)庫工作中的效率,為大家的工作帶來很大的便利,那么下文中就開始為大家介紹輕松實現(xiàn)快速數(shù)據(jù)遷移的方法。
如果只需將特定的表或表集合進行轉移,那么Lora可以在expdp命令中使用TABLES=<tablelist>子句來只下載特定的表或表集合。
拖出表空間
作為第三種選擇,Lora建議使用Oracle數(shù)據(jù)庫10g中的新工具,它簡化了可移動表空間的移動方法,因此只涉及執(zhí)行一個打包過程。在這種方法中,用戶利用所提供的DBMS_STREAMS_TABLESPACE_ADM包從源系統(tǒng)中"拖?quot;表空間。這個包使用數(shù)據(jù)泵轉移表空間并將數(shù)據(jù)文件轉換成目標系統(tǒng)的格式。 它還自動執(zhí)行任何所需的字節(jié)順序變換。
下面給出在最簡單的情況下使用這種方法的過程--涉及單個簡單表空間(更復雜的情況在下一節(jié)介紹)。 如果一個表空間只有一個數(shù)據(jù)文件,則這個表空間稱為簡單表空間。Lora演示了DBMS_STREAMS_TABLESPACE_ADM包中PULL_SIMPLE_TABLESPACE過程的使用方法:
1.在存放數(shù)據(jù)文件的目錄所在的(遠程)數(shù)據(jù)倉庫數(shù)據(jù)庫中創(chuàng)建一個目錄對象。
CREATE DIRECTORY dbf_dir AS '/u01/oradata/dw';
2.設置遠程數(shù)據(jù)庫中的表空間TS1為只讀。
ALTER TABLESPACE TS1 READ ONLY
剩下的一些步驟在本地(數(shù)據(jù)集市)數(shù)據(jù)庫中完成。
3.創(chuàng)建一個連接到遠程(數(shù)據(jù)倉庫)數(shù)據(jù)庫(在Lora的例子中是dwdb)的數(shù)據(jù)庫鏈接。
4.創(chuàng)建一個數(shù)據(jù)文件將被轉移到其中的目錄對象。
CREATE DIRECTORY dbf_dir AS '/u01/oradata/mart';
5.從遠程數(shù)據(jù)庫中拖出表空間。
BEGIN
DBMS_STREAMS_TABLESPACE_ADM6 b;
.PULL_SIMPLE_TABLESPACE
tablespace_name => 'TS1',
database_link => 'dwdb'
directory_object => 'DBF_DIR',
conversion_extension => 'linux'
);
END;
該操作在后臺完成了許多步驟:設置源表空間為只讀;用數(shù)據(jù)泵導出工具進行一次表空間的元數(shù)據(jù)轉儲;用DBMS_FILE_TRANSFER包移動數(shù)據(jù)文件和轉儲的文件;把源表空間恢復到其最初的讀寫狀態(tài);使用數(shù)據(jù)泵導入工具將表空間插入到本地數(shù)據(jù)庫中。由于源數(shù)據(jù)庫運行在Linux上,而目標數(shù)據(jù)庫運行在Solaris上,因此這一操作首先復制原始數(shù)據(jù)文件(Linux的文件格式),然后將它轉換到目標平臺上(Solaris)的文件格式。復制過程保持最初被轉移的文件,而創(chuàng)建一個新文件用于轉換。新文件與最初的文件同名,但具有CONVERSION_EXTENSION參數(shù)指定的linux擴展名。在目標數(shù)據(jù)庫中創(chuàng)建的表空間為只讀表空間。
關于實現(xiàn)快速數(shù)據(jù)遷移的內(nèi)容就為大家介紹到這里, 相信上文中的內(nèi)容會讓大家覺得受益匪淺,希望大家都能夠從中有所收獲。
【編輯推薦】





























