IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ARM上的oracle数据库存储字节序分析—小字节序

    惜分飞发表于 2023-07-09 13:59:23
    love 0

    联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

    标题:ARM上的oracle数据库存储字节序分析—小字节序

    作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

    对在ARM CPU上运行的oracle数据库进行分析,判断大小字节序问题
    从系统上lscpu看是小字节序

    [root@xifenfei ~]# lscpu
    Architecture:                    aarch64
    CPU op-mode(s):                  32-bit, 64-bit
    Byte Order:                      Little Endian
    CPU(s):                          8
    On-line CPU(s) list:             0-7
    Thread(s) per core:              1
    Core(s) per socket:              8
    Socket(s):                       1
    NUMA node(s):                    1
    Vendor ID:                       ARM
    Model:                           1
    Model name:                      Cortex-A76
    Stepping:                        r4p1
    BogoMIPS:                        125.00
    NUMA node0 CPU(s):               0-7
    …………
    [root@xifenfei ~]# 
    

    从dbid分析字节序问题
    数据库中查看dbid值

    SQL> select name,dbid,PLATFORM_ID,PLATFORM_NAME from v$database;
    
    NAME            DBID PLATFORM_ID
    --------- ---------- -----------
    PLATFORM_NAME
    --------------------------------------------------------------------------------
    ARMDB     1195886419          23
    Linux OS (AARCH64)
    

    bbed查看dbid值

    BBED> p kcvfh.kcvfhhdr.kccfhdbi
    ub4 kccfhdbi                                @28       0x4747c753
    
    BBED> set count 16
            COUNT           16
    
    BBED> d
     File: /tmp/system01.dbf (0)
     Block: 1                Offsets:   28 to   43           Dba:0x00000000
    ------------------------------------------------------------------------
     53c74747 41524d44 42000000 03040000 
    
     <32 bytes per line>
    

    从这里可以看出来dbid(1195886419)是倒序存储的,也就证明了arm linux上面运行的oracle 是小字节序的.

    • Linux 7 新命令之—lscpu和systemctl
    • dd操作数据文件
    • bbed处理ORA-01200故障
    • 在UltraEdit中定位数据文件内容
    • dul支持arm版本Oracle数据库恢复
    • ORACLE 12C 依然支持 bbed
    • oracle 12.2依旧支持bbed
    • 系统中数据文件第一个数据块和oracle 中第一个数据块关系
    • 使用bbed修复损坏datafile header
    • bbed修改数据内容
    • 拷贝windows中datafile header方法(ocopy)
    • bbed修改ASM中数据


沪ICP备19023445号-2号
友情链接