異構OS平臺的不同點 - 位元組順序
不同平臺的檔案格式通常是不同的,不同平臺的檔案的差異主要在於
1, 檔案頭標誌
2, 位元組的高低位順序可能不一樣
在10g中,主要就是透過 RMAN 修改這兩個東西來實現跨平臺的遷移的
位元組順序和平臺
資料檔案所以不能跨平臺,主要是由於不同平臺的位元組順序不同,這是計算機領域由來已久的問題之一,在各種計算機體系結構中,由於對於字、位元組等的儲存機制有所不同,通訊雙方交流的資訊單元(位元、位元組、字、雙字等)應該以什麼樣的順序進行傳送就成了一個問題,如果不達成一致的規則,通訊雙方將無法進行正確的編/譯碼從而導致通訊失敗。
目前在各種體系的計算機中通常採用的位元組儲存機制主要有兩種:Big-Endian和Little-Endian 。
一些作業系統(包括Windows)在低位記憶體地址中存放二進位制資料的最低有效位元組,因此這種系統被稱為Little Endian;一些作業系統(包括Solaris)將最高有效位元組儲存在低位記憶體地址中,因此這種系統被稱為Big Endian。
舉一個簡單點的例子,假如1122這樣一個資料要存入不同系統,對於Little Endian的系統,儲存的順序就是2211,小頭在前;而對於Big Endian的系統來說,儲存順序就是1122,大頭在前,顯然Big Endian更符合我們通常的語言習慣。
那麼跨平臺的問題就出現了,當一個Little Endian的系統試圖從一個Big Endian的系統中讀取資料時,就需要透過轉換,否則不同的位元組順序將導致資料不能被正確讀取。
資料庫所處平臺的位元組序可透過如下查詢得到 :
select * from v$transportable_platform
PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
----------- -------------------------------------- --------------
1 Solaris[tm] OE (32-bit) Big
7 Microsoft Windows IA (32-bit) Little
10 Linux IA (32-bit) Little
6 AIX-Based Systems (64-bit) Big
4 HP-UX IA (64-bit) Big
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-767226/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Modbus通訊協議中的四種位元組順序協議
- 【MOS】如何利用RMAN可傳輸表空間遷移資料庫到不同位元組序的平臺(文件 ID 1983639.1)資料庫
- modbus和位元組序
- 順序結構
- 大端序、小端序、網路位元組序
- [RDMA] RDMA的不同操作是否保證順序?
- Python 模組的載入順序Python
- 順序三元組
- 測試平臺-unittest 指定順序執行用例
- 不同順序InBoundHandler之間的資料傳遞
- Qt 大小端位元組序的處理QT
- C++與Qt的位元組序探究:C++QT
- pxc 三個節點全部異常和正常關閉的啟動順序
- spring不同配置方式的區別與優先順序Spring
- 如何修改監聽異常的優先順序
- 從Java到JVM到OS執行緒的優先順序JavaJVM執行緒
- [譯] 時間順序的價格異常檢測
- Day11-順序結構
- Day17-順序結構
- 快手發力小遊戲平臺,挑戰位元組?遊戲
- 順序結構與選擇結構
- 構造和解構函式呼叫順序函式
- 位元組序探析:大端與小端的比較
- 五大CRM客戶管理平臺的不同特點
- 【Linux網路程式設計】位元組序Linux程式設計
- 疑問:使用find_elements_by_ios_predicate定位元素組,獲取元素的index沒有按照順序iOSIndex
- 04C++順序結構(3)C++
- 1.3順序結構程式設計程式設計
- 深入理解Emoji(二) —— 位元組序和BOM
- utf-8 不用考慮位元組序(轉)
- 11 線性表的順序儲存結構
- 位元組跳動打遊戲,抖音平臺當先鋒?遊戲
- OS X平臺的Dylib劫持技術(下)
- OS X平臺的Dylib劫持技術(上)
- 1.入門與順序結構
- Java流程控制02:順序結構Java
- 位元組跳動的技術架構架構
- 位元組跳動的多平臺綻放祕訣 | Flutter 開發者故事Flutter
- python運算子及優先順序順序Python