代码之家  ›  专栏  ›  技术社区  ›  Joe R.

SE 4.10 bcheck<filename>、SE 2.10 bcheck<filename.ext>和其他bcheck异常

  •  1
  • Joe R.  · 技术社区  · 14 年前

    BCHECK  C-ISAM B-tree Checker version 4.10.DD6  
    
    C-ISAM File: c:\dbfiles.dbs\*.*
    
    ERROR: cannot open C-ISAM file
    

    在CUSTO102上运行BCHECK之前,其.IDX文件大小为22089字节,.DAT文件大小为882832字节。

    什么是.IDY文件???

    C:\DBFILES.DBS> bcheck –y CUSTO102
    
    BCHECK  C-ISAM B-tree Checker version 4.10.DD6  
    
    C-ISAM File: c:\dbfiles.dbs\CUSTO102
    
    Checking dictionary and file sizes.
    Index file node size = 512
    Current C-ISAM index file node size = 512
    Checking data file records.
    Checking indexes and key descriptions.
    Index 1 = unique key  
        0 index node(s) used -- 1 index b-tree level(s) used
    Index 2 = duplicates  (2,30,0) 
        42 index node(s) used -- 3 index b-tree level(s) used
    Index 3 = unique key  (32,5,0) 
        29 index node(s) used -- 2 index b-tree level(s) used
    Index 4 = duplicates  (242,4,2) 
        37 index node(s) used -- 2 index b-tree level(s) used
    Index 5 = duplicates  (241,1,0) 
        36 index node(s) used -- 2 index b-tree level(s) used
    Index 6 = duplicates  (46,4,2) 
        38 index node(s) used -- 2 index b-tree level(s) used
    Checking data record and index node free lists.
    
    ERROR: 177 missing index node pointer(s)
    Fix index node free list ? yes
    
    Recreating index node free list.
    Recreating index 6.
    Recreating index 5.
    Recreating index 4.
    Recreating index 3.
    Recreating index 2.
    Recreating index 1.
    184 index node(s) used, 177 free -- 1083 data record(s) used, 0 free
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Jonathan Leffler    14 年前

    B检查 比使用 B检查 它自己。如果你给 B检查 文件名列表(例如' abc def.dat def.idx c:\dbfiles.dbs\*.* '表示命令解释器没有展开' *.* “一点点,否则就没有什么可扩展的了。

    .IDY '文件是重建表索引时使用的中间文件。我不知道为什么它没有被清理-也许这个过程没有完成。

    \0 \n '用于当前)。CHAR(5)列(索引3)上的唯一索引需要每个条目9个字节,或者每个索引节点大约56个键,用于大约1000个索引节点。重复索引更难确定大小;您需要为键值加上一个4字节的数字列表,所有这些数字都打包到512字节的页面中。22KB的索引文件丢失了很多信息。修改后的索引文件大小合适。注意,索引1是“ROWID”索引;它不占用任何空间(索引1也是为什么尽管SE创建的每个表都存储在C-ISAM文件中,但并非所有C-ISAM文件都必须与SE兼容。)