Little Endian means that the low-order byte of the number is stored in memory at the lowest address, and the high-order byte at the highest address. (The little end comes first.) For example, a 4 byte Long Int
Byte3 Byte2 Byte1 Byte0
will be arranged in memory as follows:
Base Address+0 Byte0
Base Address+1 Byte1
Base Address+2 Byte2
Base Address+3 Byte3
Linux, Windows use "Little Endian" byte order.
Byte3 Byte2 Byte1 Byte0
will be arranged in memory as follows:
Base Address+0 Byte0
Base Address+1 Byte1
Base Address+2 Byte2
Base Address+3 Byte3
Linux, Windows use "Little Endian" byte order.
Big Endian means that the high-order byte of the number is stored in memory at the lowest address, and the low-order byte at the highest address. (The big end comes first.) Our LongInt, would then be stored as:
Base Address+0 Byte3
Base Address+1 Byte2
Base Address+2 Byte1
Base Address+3 Byte0
Solaris, HPUX, Apple Mac use "Big Endian" byte order.
Base Address+0 Byte3
Base Address+1 Byte2
Base Address+2 Byte1
Base Address+3 Byte0
Solaris, HPUX, Apple Mac use "Big Endian" byte order.
In Oracle 10g, following SQL should tell you which operating systems follow which byte order,
select * from v$transportable_platform order by platform_id;
To transport tablespaces between OS with same byte orders (endianness), we don’t need conversion in other cases we do which can be done using RMAN. E.g. I need to transport a Tablespace from Linux (Little Endian) to Solaris (Big Endian)
RMAN> convert tablespace XXX to
platform ‘Solaris[tm] OE (64-bit)'
db_file_name_convert '/app/oracle/oradata/mbs’,
'/app/oracle/rman_bkups';
Now this file can be copied over to the target Solaris system, and the rest of the steps are easy.
SQL> select * from v$transportable_platform order by platform_id;
PLATFORM_ID | PLATFORM_NAME | ENDIAN_FORMAT |
1 | Solaris[tm] OE (32-bit) | Big |
2 | Solaris[tm] OE (64-bit) | Big |
3 | HP-UX (64-bit) | Big |
4 | HP-UX IA (64-bit) | Big |
5 | HP Tru64 UNIX | Little |
6 | AIX-Based Systems (64-bit) | Big |
7 | Microsoft Windows IA (32-bit) | Little |
8 | Microsoft Windows IA (64-bit) | Little |
9 | IBM zSeries Based Linux | Big |
10 | Linux IA (32-bit) | Little |
11 | Linux IA (64-bit) | Little |
12 | Microsoft Windows 64-bit for AMD | Little |
13 | Linux 64-bit for AMD | Little |
14 | HP Open VMS | Little |
15 | Apple Mac OS | Big |
No comments:
Post a Comment