ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 异构OS平台的不同点 - 字节顺序

异构OS平台的不同点 - 字节顺序

原创 Linux操作系统 作者:tolywang 时间:2012-07-20 18:19:31 0 删除 编辑

不同平台的文件格式通常是不同的,不同平台的文件的差异主要在于
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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13456242