當前位置:成語大全網 - 書法字典 - oracle轉移表空間真的能轉移表嗎?

oracle轉移表空間真的能轉移表嗎?

壹.傳輸表空間概述

首先,我們來了解壹下什麽是transmission表空間。傳輸表空間技術始於oracle9i,它可以用於數據字典管理的表空間和本地管理的表空間。傳輸表空間不需要在源數據庫和目標數據庫之間具有相同的DB_BLOCK_SIZE塊大小;使用傳輸表空間遷移數據比使用數據導入和導出工具更快,因為傳輸表空間只將包含實際數據的數據文件復制到目標數據庫的指定位置,而使用數據導入和導出工具是將表空間對象的元數據傳輸到目標數據庫。

第二,傳遞表空間的方法

1,使用SQL*PLUS,RMAN,數據泵工具實現手工表空間傳輸。

2.使用EM工具中的轉移表空間向導實現轉移表空間。

第三,跨平臺傳輸表空間

從oracle 10g開始,oracle實現了跨平臺的表空間傳輸,也就是說數據庫可以從壹種類型的平臺遷移到另壹種中等規模的平臺,大部分(但不是全部)平臺都支持表空間傳輸。首先,您必須通過查看v$transportable_platform視圖來查看oracle支持的平臺,並確定每個平臺的字節存儲順序。註意:這壹點非常重要。以下查詢涉及oracle(版本10.2.0.4)支持的各種平臺和字節存儲順序。在跨平臺表空間傳輸時,需要通過查詢該視圖來比較平臺和字節存儲順序。

SQL & gtselect * from v$transportable _ platform order by platform _ name;PLATFORM _ ID PLATFORM _ NAME ENDIAN _ FORMAT---6基於AIX的系統(64位)big 16 Apple Mac OS big 19 HP IA Open VMS little 15 HP Open VMS little 5 HP tru 64 UNIX little 3 HP-UX(64位)Big4 HP-UX IA (64位)Big18基於IBM Power的Linux Big9基於IBM zSeries的Linux Big10

4.在兩個數據庫之間轉移表空間的過程。

1.在跨平臺表空間傳輸的情況下,需要檢查兩個平臺支持的字節存儲順序。檢查方法如上所述。如果可以確定源數據庫和目標數據庫屬於同壹個平臺,則可以省略這壹步。2.選擇壹個獨立的表空間。與使用數據泵相比,這裏的限制是不正常的。實驗中會有壹些粗略的介紹。

3.將源數據庫上選中的表空間修改為只讀狀態,使用expde工具生成transmission表空間(set)。//在這壹步中,如果兩個平臺之間的字節存儲順序不同,就需要完成字節存儲順序的轉換。4.傳輸表空間和表空間對應的數據文件(使用操作系統命令、ftp命令等。)到目標數據庫。//字節存儲順序的轉換也可以在這壹步完成。5.將源數據庫的表空間恢復到讀寫狀態(可選)。6.使用impdp工具導入目標數據庫中的表空間(集)。5.這個實驗的記錄。

最初設計的實驗過程是通過改變字節存儲順序來實現跨平臺的表空間傳輸。但是通過查詢v$transportable_platform視圖,發現所擁有的平臺(windows 64bit和Linux x86-64)的字節存儲順序是相同的,測試時字符集不兼容。由於條件所限,我只能選擇兩個Linux平臺數據庫(10.2.0.4和11.2.0.1)之間的表空間傳輸。

實驗限制1: Windows 64bit和Linux x86-64有相同的字節存儲順序SQL >;select * from v$transportable _ platform,其中platform_name如“Microsoft%64%”或platform_name如“Linux % 64%”;PLATFORM _ ID PLATFORM _ NAME ENDIAN _ FORMAT---11 Linux IA(6 4位)Little8 Microsoft Windows IA (64位)Little 13 Linux x86 64位Little 12 Microsoft Windows x86 64位Little實驗性限制2:表空間導入期間由於字符集不兼容而保存的信息C:\ users \ German > impdp system/Oracle dump file = exp dat . DMP directory = dump _ dir transport _ data files = D:\ "DBF日誌文件= TTS _ import。log import:Release 11 . 2 . 0 . 1.0-周壹生產17年3月22: 08: 29 2014版權所有(C 1982,2009,Oracle和/或其附屬公司。版權所有

連接到:Oracle數據庫11g企業版版本1 . 2 . 0 . 1.0-帶有分區、OLAP、數據挖掘和真實應用程序測試選項的生產已成功加載/主表“系統”。“sys _ import _ transportable _ 01”啟動了“系統”。" sys _ import _ transportable _ 01 ":system/* * * * * * dump file = expdat . DMP directory = dump _ dir transport _ data files = d:\ app \ manganese \ oradata \ orcl \ test 01 . dbflog file = TTS _ import . log處理transportable _ export/plug ts _ bl kora-3965438+對象類型。

ORA-29345:無法使用不兼容的字符集將表空間插入數據庫。工作“系統”。“sys _ import _ transportable _ 01”因致命錯誤而於22:08:30停止。實驗前的準備。創建測試表空間,用戶,表,插入兩個數據(用於最終驗證表傳輸成功,數據可以正常訪問)SQL & gt創建表空間測試

2 datafile '/u 01/app/Oracle/oradata/stdb/test 01 . DBF '大小10m;//創建名為testTablespace created的測試表空間。

SQL & gt創建由測試者默認表空間測試帳戶解鎖標識的用戶測試者;//創建壹個測試用戶,用戶名為tester,默認表空間為testUser created。

SQL & gt將連接、資源授予測試人員;

格蘭特成功了。

SQL & gt連接器測試器/測試器;

已連接。

SQL & gt創建表t1 (id號,name varchar(10),sex char(1),age int,class varchar(3));//創建壹個名為t 1的測試驗證表。

SQL & gt插入t1值(2001,' alex ',' M ',18,' 10 ');1行已創建。

SQL & gt插入t1值(2002,'鮑勃',' M ',18,' 20 ');1行已創建。

SQL & gtselect * from t 1;

身份證姓名年齡類別

- - - - -

2001亞歷克斯M 18 10

2002鮑勃M 18 20

SQL & gt提交;

提交完成。

2、表空間獨立(獨立性)檢查

根據該文獻,傳輸表空間受到如下許多因素的限制:

表空間集內的索引用於表空間集外的表。

分區表部分包含在表空間集中。

參照完整性約束指向跨越集合邊界的表。

表空間集內的壹個表包含壹個LOB列,該列指向表空間集外的LOB。

等壹下。

SQL & gt連接/作為系統管理員

已連接。

SQL & gt執行DBMS _ TTS . transport _ set _ check(' test ',true);PL/SQL過程已成功完成。

SQL & gtselect * from transport _ set _ violations;沒有選中行//查詢沒有返回結果,說明檢查通過,否則各種參照完整性問題,如主鍵、外鍵約束、分區等等,都需要根據違例字段的描述來解決。3.在源數據庫中將表空間設置為只讀狀態。

SQL & gt將表空間測試改為只讀;

表空間已更改。

4.使用expdp工具生成表空間(集)。

[oracle @ stdb ~]$ expdp system/Oracle dump file = exp dat . DMP directory = dump _ dir transport _ tablespaces = test log file = export . log export:版本10 . 2 . 0 . 4 . 0-64位生產於蒙達y,17年3月2065 438+04 19:29:02版權所有(c) 2003,2007,Oracle。版權所有

連接到:Oracle數據庫10g企業版版本10 . 2 . 0 . 4 . 0-64位生產,具有分區、OLAP、數據挖掘和真正的應用程序測試選項啟動“系統”。" SYS _ EXPORT _ TRANSPORTABLE _ 01 ":system/* * * * * * * * dump file = expdat . DMP directory = dump _ dir transport _ tablespaces = test log file = EXPORT . log處理對象類型TRANSPORTABLE _ EXPORT/plug ts _ blk處理對象類型TRANSPORTABLE _ EXPORT/table處理對象類型TRANSPORTABLE _ EXPORT/POST _ INSTANCE/plug ts _ blk master表" SYSTEM "。" SYS _ EXPORT _ TRANSPORTABLE _ 01 "已成功加載/卸載系統的* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *轉儲文件集。SYS _ EXPORT _ TRANSPORTABLE _ 01是:

/u 01/app/Oracle/dump _ dir/expdat . DMP

工作“系統”。“sys _ export _ transportable _ 01”已於19: 29: 185成功完成。將源數據庫表空間設置為讀寫狀態。

6.通過ftp工具將表空間(集合)和表空間對應的數據文件復制到相應的目錄下。

7.使用impdp工具將表空間(集)導入目標數據庫,並決定是否有必要創建與源數據庫相同的用戶,或者在使用impdp時使用remap_schema參數。

[Oracle @ db server 2 ~]$ impdp system/Oracle dump file = exp dat . DMP directory = dump _ dir transport _ data files =/u 01/app/Oracle/oradata/prac/test 01 . DBF log file = import . log import:Release 11 . 2 . 0 . 1.0-周壹生產17 14:30版權所有

連接到:Oracle數據庫11g企業版版本11 . 2 . 0 . 1.0-64位生產,具有分區、OLAP、數據挖掘和真實應用程序測試選項主表“系統”。" SYS _ IMPORT _ TRANSPORTABLE _ 01 "成功加載/卸載啟動"系統"。" SYS _ IMPORT _ TRANSPORTABLE _ 01 ":system/* * * * * * * * * * dump file = expdat . DMP directory = dump _ dir transport _ data files =/u 01/app/Oracle/oradata/prac/test 01 . DBF log file = IMPORT . log處理對象類型TRANSPORTABLE _ EXPORT/Plug ts _ blk處理對象類型TRANSPORTABLE _ EXPORT/table處理對象類型TRANSPORTABLE _ EXPORT/POST _ INSTANCE/Plug ts _ blk job " system "。“sys _ import _ transportable _ 01”於14: 32: 318成功完成,驗證結果。

[oracle @ db server 2 ~]$ sqlplus/as sysdbaSQL * Plus:版本11 . 2 . 0 . 1.0 2009年3月17日14:34:36日2014日版權所有(c) 1982,Oracle。版權所有

連接到:

Oracle數據庫11g企業版版本11 . 2 . 0 . 1.0-64位生產,具有分區、OLAP、數據挖掘和真實應用程序測試選項& gt從v $表空間中選擇ts#,name

TS#名稱

- - 0系統

1 SYSAUX

2撤消1

4個用戶

3溫度

6示例

7測試

選擇了7行。

SQL & gt連接器測試器/測試器;

已連接。

SQL & gtselect * from t 1;

身份證姓名年齡類別

- - - - -

2001亞歷克斯M 18 10

2002鮑勃M 18 20

不及物動詞附錄

因為字節存儲順序轉換測試失敗,所以從文檔中復制了兩個示例,並在條件允許時進行了測試。

示例1:在源數據庫中完成字節存儲順序轉換。

RMAN & gt;轉換表空間sales_1,sales_2

2 & gt到平臺“Microsoft Windows IA (32位)”

3 & gt格式“/tmp/% U”;

於2008年9月30日使用ORA_DISK_1通道在源位置開始轉換

通道ORA_DISK_1:開始數據文件轉換input數據文件文件編號= 00007 name =/u 01/app/Oracle/oradata/SALES db/SALES _ 101 . DBF轉換的數據文件=/tmp/data _ D-SALES db _ I-1192614013 _ TS-SALES _ SALESRMAN目標/

恢復管理器:版本11.2.0.0.1

版權所有(c) 1982,2007,甲骨文。版權所有

連接到目標數據庫:奧拉溫(DBID = 3462152886)RMAN & gt;轉換數據文件

2 & gtc:\ Temp \ sales _ 101 . DBF ',

3 & gt' C:\Temp\sales_201.dbf '

4 & gtTO PLATFORM = " Microsoft Windows IA(32位)" 5 & gt來自PLATFORM="Solaris[tm] OE (32位)" 6 & gt數據庫文件名轉換=

7 & gtC:\Temp\ ',' C:\app\orauser\oradata\orawin\ '

8 & gt並行度= 4;