第二十一章 使用 cvendian 進行字節順序轉換
本章描述了一個實用程序,用於轉換 數據庫的字節順序,以便在大端和小端平臺之間遷移。它還提供了一個選項來報告給定數據庫的字節順序。
cvendian
介紹
可以將數據庫的字節順序從大端序(即最高有效字節優先)轉換爲小端序(即最低有效字節優先),反之亦然。它被稱爲cvendian
,即轉換端序。當在兩種類型的平臺之間移動數據庫時,這非常有用。它還提供了一個選項來報告給定數據庫的字節順序。
重要提示:不能在掛載的數據庫上使用此實用程序。
Location of Utility
cvendian
實用程序是文件
install-dir\Bin\cvendian.exe。
轉換過程
可以在擁有要轉換的文件的系統或將使用轉換後的文件的系統上運行cvendian
。
例如,要將數據庫從小端序轉換爲大端序,可以在小端序系統上執行轉換,然後將數據庫傳輸到大端序系統,或者可以先傳輸文件,然後再轉換。
注意:cvendian
實用程序使用簡單的緩衝I/O
來讀寫目標文件。爲了獲得最佳性能,請確保沒有禁用操作系統(OS
)文件系統緩存。
cvendian
不能用於備份和日誌文件。必須在具有相同端序的平臺上恢復數據庫,將恢復的數據庫移動到不同的端序平臺,然後使用cvendian
實用程序來轉換數據庫。
轉換數據庫的過程是:
- 製作數據庫文件的副本,因爲該實用程序將源文件替換爲轉換後的文件。
- 使用“實用程序語法”部分中描述的語法運行
cvendian
。
實用程序語法
使用cvendian endian
實用程序,可以指定所需的字節順序,也可以報告當前的字節順序而不進行轉換。使用以下語法:
cvendian [-option] file
選項參數是以下參數之一:
- -
big
- 將數據庫轉換爲Big-endian
- -
little
- 將數據庫轉換爲Little-endian
- -
report
- 報告數據庫的字節順序
可以將選項縮短爲它們的首字母。如果這是一個轉換請求(-big or -little)
,並且數據庫已經有了指定的字節順序,實用程序將顯示一條警告消息並停止處理。
如果不提供選項參數,實用程序將數據庫從現有字節順序轉換爲其他字節順序。但是,建議使用option
參數。
file
參數是要轉換的文件,可以包含完整的路徑名。
該實用程序執行以下操作:
- 自動檢測數據庫的字節順序
- 顯示端序信息和其他信息
- 執行轉換
- 顯示成功或失敗的消息
例如,假設正在將數據庫從Windows Server 2016
轉換爲IBM AIX®For Power System-64
上使用。這意味着必須從小端序(Intel
)轉換爲大端序(POWER
)。在將文件移動到AIX
系統之前,在Windows
系統上運行cvendian
的輸出類似如下所示:
C:\IrisSys\Bin>cvendian -big c:\temp\powerdb\iris.dat
This database is little-endian.
This database has a block size of 8192 bytes.
This database has 1 volume and 1 map.
The last block in the primary volume is 18176.
Original manager directory is c:\temp\powerdb\
No extension volumes.
Done converting c:\temp\powerdb\iris.dat to big-endian
C:\IrisSys\Bin>
現在可以將轉換後的數據庫文件移動到AIX
系統。