跨 OS 平台遷移 Oracle 資料庫
將現有 Oracle 資料庫(非二進位可執行程式檔案/)從一個作業系統平台移植到另一個作業系統平台(例如從 Windows 到 Solaris)
這種需求會發生在 Oracle 版本升級過程中(Oracle 8i 一直到 Oracle 11G),或者在同一 Oracle 版本內(Oracle 10.2 到 Oracle 10.2)。
平台遷移中不考慮作業系統內部的更改(例如將 Linux、Windows 或 Solaris 從 32 位到 64 位元),這些更改會被當做正常升級/ wordsize 轉換來處理。
我們以下幾種解決方案
解決方案
我們沒有遷移公用程式(指令碼或 DBUA)來執行 Oracle Database 的跨平台遷移。
更改平台需要使用下列方法之一重新構建資料庫和(或)移動資料:
- 執行“export/import”操作,包括Datapump。所有版本都支援“export/import”操縱,但是對於Datapump,則需要 10.1.0.2 或更高版本。
- 10G 或更高版本可使用 Transportable Tablespaces。
- 10G 或更高版本可使用 RMAN Convert Database 功能。
- Streams 流複製。
- Create Table As Select (CTAS)
- Dataguard 基於異構平台的物理主備庫。
- Oracle Golden Gate。
每個可用選項都會有其優勢和局限,包括資料類型、所需時間和潛在成本。
可用選項的優劣將取決於源和目標作業系統及 Oracle 版本。
例如:
使用 Dataguard 基於異構平台的物理主備庫時將存在平台局限
僅當源和目標都屬於相同 ENDIAN 格式時,RMAN Convert Database 才工作。
針對 Transportable Tablespaces 的 RMAN's convert 功能將從一種 ENDIAN 格式轉換為另一種格式。
這兩個命令是不相同的。
PLATFORM_NAME |
ENDIAN_FORMAT |
Oracle Solaris on SPARC (32-bit & 64-bit) |
Big |
AIX-Based Systems (64-bit) |
Big |
HP-UX (64-bit) |
Big |
HP-UX IA (64-bit) |
Big |
IBM zSeries Based Linux |
Big |
Apple Mac OS |
Big |
IBM Power Based Linux |
Big |
HP Tru64 UNIX |
Little |
Linux IA (32-bit & 64-bit) |
Little |
HP Open VMS |
Little |
Microsoft Windows IA (32-bit & 64-bit) |
Little |
Oracle Solaris on x86 & x86-64 |
Little |
Linux 64-bit for AMD |
Little |
Microsoft Windows 64-bit for AMD |
Little |
下面是使用Transportable Tablespaces基本步驟:
- 在新環境中建立一個“空”資料庫
- 將所有資料資料表空間從來源資料庫插入目標資料庫
- SYSTEM+SYSAUX 資料表空間無法傳輸
- 行動裝置檢視、同義字等所需的其他步驟
- 可能升級很快
- 複雜性可能成為約束
- 自 Oracle Database 10g 開始支援跨平台和跨 Endian 工作
下面是在升級中使用 Oracle Streams 的基本資料:
- 構建資料庫的副本並升級該資料庫
- 將其與來源資料庫同步
- 最小停機時間:僅重新串連用戶端
- 跨平台工作
- 自 Oracle 9iR2 開始支援跨版本
- 對其進行設定所需的一些工作
- 自來源資料庫未被操作以來可能的回退
- 可能的問題包括:
- 資料類型限制
- 性��
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2