zoukankan      html  css  js  c++  java
  • Oracle dump 分析secondary key

    验证secondary key 含有主键列数据
    
    SQL>  select object_name,object_id,OBJECT_TYPE  from user_objects;
    
    OBJECT_NAME	      OBJECT_ID OBJECT_TYPE
    -------------------- ---------- -------------------
    T2			 101449 TABLE
    SYS_IOT_TOP_101449	 101450 INDEX
    T2_IDX1 		 101451 INDEX
    
    将索引dump到trace文件中
    SQL> select value from v$diag_info where name='Default Trace File';
    
    VALUE
    --------------------------------------------------------------------------------
    /u01/app/oracle/diag/rdbms/oadb/oadb/trace/oadb_ora_5435.trc
    
    SQL> alter session set events 'immediate trace name treedump level 101451';
    
    会话已更改。
    
    
    ----- begin tree dump
    branch: 0x10000bb 16777403 (0: nrow: 8, level: 1)
       leaf: 0x10000bc 16777404 (-1: nrow: 266 rrow: 266)
       leaf: 0x10000bd 16777405 (0: nrow: 266 rrow: 266)
       leaf: 0x10000be 16777406 (1: nrow: 266 rrow: 266)
       leaf: 0x10000bf 16777407 (2: nrow: 266 rrow: 266)
       leaf: 0x10000c0 16777408 (3: nrow: 266 rrow: 266)
       leaf: 0x10000c1 16777409 (4: nrow: 267 rrow: 267)
       leaf: 0x10000c2 16777410 (5: nrow: 266 rrow: 266)
       leaf: 0x10000c3 16777411 (6: nrow: 137 rrow: 137)
    ----- end tree dump
    
    
    SQL> select dbms_utility.data_block_address_file(16777404)fno,
    dbms_utility.data_block_address_block(16777404) bkno from dual   2  ;
    
           FNO	 BKNO
    ---------- ----------
    	 4	  188
    
    alter system dump datafile 4 block 188;
    
    
    row#0[8008] flag: K-----, lock: 0, len=24
    col 0; len 10; (10):  61 31 20 20 20 20 20 20 20 20
    col 1; len 2; (2):  c1 02
    tl: 8 fb: --H-FL-- lb: 0x0  cc: 1
    col  0: [ 4]  01 00 00 ac
    row#1[7984] flag: K-----, lock: 0, len=24
    col 0; len 10; (10):  61 31 30 20 20 20 20 20 20 20
    col 1; len 2; (2):  c1 0b
    tl: 8 fb: --H-FL-- lb: 0x0  cc: 1
    col  0: [ 4]  01 00 00 ac
    row#2[7960] flag: K-----, lock: 0, len=24
    col 0; len 10; (10):  61 31 30 30 20 20 20 20 20 20
    col 1; len 2; (2):  c2 02
    tl: 8 fb: --H-FL-- lb: 0x0  cc: 1
    col  0: [ 4]  01 00 00 ac
    row#3[7936] flag: K-----, lock: 0, len=24
    col 0; len 10; (10):  61 31 30 30 30 20 20 20 20 20
    col 1; len 2; (2):  c2 0b
    tl: 8 fb: --H-FL-- lb: 0x0  cc: 1
    col  0: [ 4]  01 00 00 b5
    row#4[7911] flag: K-----, lock: 0, len=25
    col 0; len 10; (10):  61 31 30 30 31 20 20 20 20 20
    col 1; len 3; (3):  c2 0b 02
    tl: 8 fb: --H-FL-- lb: 0x0  cc: 1
    col  0: [ 4]  01 00 00 b5
    row#5[7886] flag: K-----, lock: 0, len=25
    col 0; len 10; (10):  61 31 30 30 32 20 20 20 20 20
    col 1; len 3; (3):  c2 0b 03
    tl: 8 fb: --H-FL-- lb: 0x0  cc: 1
    col  0: [ 4]  01 00 00 b5
    
    
    DECLARE
       n   VARCHAR2 (2000);
    BEGIN
       DBMS_STATS.convert_raw_value ('61', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('31', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('20', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('20', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('20', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('20', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('20', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('20', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('20', n);
       DBMS_OUTPUT.put_line (n);
       DBMS_STATS.convert_raw_value ('20', n);
       DBMS_OUTPUT.put_line (n);
    END;
    
    
    declare
       n number;
     begin
       dbms_stats.convert_raw_value('c102',
                                    n);
       dbms_output.put_line(n);
     end; 
    
    
    col 0; len 10; (10):  61 31 20 20 20 20 20 20 20 20  表示a1
    col 1; len 2; (2):  c1 02 表示1
    
    
    row#1[7984] flag: K-----, lock: 0, len=24
    col 0; len 10; (10):  61 31 30 20 20 20 20 20 20 20  表示a10
    col 1; len 2; (2):  c1 0b  表示10
    
    
    row#2[7960] flag: K-----, lock: 0, len=24
    col 0; len 10; (10):  61 31 30 30 20 20 20 20 20 20 表示a100
    col 1; len 2; (2):  c2 02 --表示100
    
    row#3[7936] flag: K-----, lock: 0, len=24
    col 0; len 10; (10):  61 31 30 30 30 20 20 20 20 20 表示a1000
    col 1; len 2; (2):  c2 0b  --表示1000
    
    
    row#4[7911] flag: K-----, lock: 0, len=25
    col 0; len 10; (10):  61 31 30 30 31 20 20 20 20 20 表示a10001
    col 1; len 3; (3):  c2 0b 02 表示1001
    
    
    row#5[7886] flag: K-----, lock: 0, len=25
    col 0; len 10; (10):  61 31 30 30 32 20 20 20 20 20 表示a1002
    col 1; len 3; (3):  c2 0b 03  表示1002
    
    
    结论:secondary key 包含了主键对应的列 顺序为secondary key对应的列加上主键对应的列。

  • 相关阅读:
    Java程序:从命令行接收多个数字,求和并输出结果
    大道至简读后感
    大道至简第一章读后感Java伪代码
    Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010
    声明式验证超时问题
    Error message when you try to modify or to delete an alternate access mapping in Windows SharePoint Services 3.0: "An update conflict has occurred, and you must re-try this action"
    Upgrading or Redeploying SharePoint 2010 Workflows
    Upgrade custom workflow in SharePoint
    SharePoint 2013中Office Web Apps的一次排错
    How to upgrade workflow assembly in MOSS 2007
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199856.html
Copyright © 2011-2022 走看看