首页 | 摘要显示 | 上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 下一页

AUL/MyDUL Archives

AUL所需要的数据字典 -- 段存贮信息

    在没有system的情况下, 使用AUL进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULTAB.TXT文件, 这个文件名必须是大写的, 其中包括六列信息,中间用逗号分开的.

1, Object ID
2, Data Object ID
3, Tablespace ID
4, The relative file number of segment header
5, The block number of segment header
6, The create order in cluster if table is clustered

    在有system表空间的情况下,是用"unload table tab$;"这个命令来生成的,这个命令不光从tab$读取信息,还从ind$,tabpart$,indpart$,tabsupart$,indsubpart$中读取信息, 由于这些表的data_object_id在不同版本不因定,因此在此命令前需要先运行unload table obj$命令,如:

12,6,0,1,57,1
32,29,0,1,177,2
22,10,0,1,89,1
18,18,0,1,121,
4,2,0,1,25,1

    AUL从这个文件获得Segment Header的地址, 然后根据Segment Header中存贮的Extent Map来访问相应的数据块进行恢复. 当有AULEXT.TXT存在时, 则仅从这个文件获得段的Data Object ID.

December 6, 2006

修复一个AUL恢复负数的Bug, dmp格式恢复不受影响

BINARY AUL (Bug) AUL (Fixed) SQLPLUS Result
c107 6 6 6  
3e5f66 -6 -6 -6  
3f2966 -0.60 -0.60 -.6  
3f5f66 -0.06 -0.06 -.06  
402966 -0.0060 -0.0060 -.006  
405f66 -0.0006 -0.0006 -.0006  
3e2966 -60 -60 -60  
3d5f66 -6 -600 -600 Error
3d2966 -60 -6000 -6000 Error
3c5f66 -600 -60000 -60000 Error
3b5f65655c66 -6000009 -6000009 -6000009  
3b5f66 -60000 -6000000 -6000000 Error
3c53493866 -182845 -182845 -182845  
3c5349382466 -182845.65 -182845.65 -182845.65 
3e532466 -18.65 -18.65 -18.65  

正数不受影响.

December 7, 2006

AUL所需要的数据字典 -- Column

    在没有system的情况下, 使用AUL进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULCOL.TXT文件, 这个文件名必须是大写的, 其中包括十三个列信息,中间用逗号分开的.

1, Object ID
2, Column Order
3, Column Storage Order
4, Column Name
5, Column Type ID
6, Column Maximum Storage Length
7, Precision
8, Scale
9, Nullable
10, INTCOL#, Column Created Order
11, Property, not used by AUL now
12, Character Set ID
13, Character Set Form, value 2 means NCHAR/NVARCHAR2 column

    在有system表空间的情况下,是用"unload table col$;"这个命令来生成的, 如:

20,1,2,OBJ#,2,22,,,1,1,0,0,0
20,2,1,BO#,2,22,,,1,2,0,0,0
20,3,3,COL#,2,22,,,1,3,0,0,0
20,4,4,POS#,2,22,,,1,4,0,0,0
20,5,5,SEGCOL#,2,22,,,1,5,0,0,0
20,6,6,SEGCOLLENGTH,2,22,,,1,6,0,0,0
......

    列类型的ID可以看DBA_TAB_COLS视图的定义.

December 15, 2006

AUL/MyDUL 4.0.0 Beta发布了

    去年我曾经说, 如果AUL能支持LOB或压缩块的任一功能, 都会将版本升一级. 今天发布4.0.0 Beta版本, 是对LOB的支持有了进一步的突破.

    你可以下载Beta版本进行LOB恢复测试. 恢复LOB需要设置很多的选项, 这些选项会在以后的文章中介绍. 为什么是Beta版本, 有如下原因:

  • 没有经过足够多的测试.
  • 目前的测试仅在10g上进行.
  • 对于CLOB的字符集转换还有些问题.
  • 对LOB Index的访问用Index Full Scan的算法, 需要改进.
  • 对于CHUNK SIZE大于一个数据块的情况还不支持.

    当然也有一些目前同类软件还不具有的特点, LOB的数据可以恢复成DMP格式, 以方便装载.

    同其他恢复软件一样, 要利用这个功能, AUL所需的字典信息必需存在(有System表空间或手工编辑它们). 将会在以后的二到三个月时间内进行最大程度的改进, 和足够多的测试, 希望能在农历年后发布4.0.0正式版本.

December 16, 2006

AUL4中几个和LOB有关的选项

    AUL 4.0.0将正式支持LOB数据类型, 包括Inline LOB, In row LOB和Out of Row LOB. 这里面需要先介绍一下和LOB有关的几个选项. 首先是只和CLOB有关的两个选项:

    1, SET CLOB_EDIAN {BIG | LITTLE}

    当数据库中的字符集为固定长度时(如单字节字符集和那些字符集名字中后缀是FIXED), 存贮在CLOB中的数据的字符集和数据库的字符集相同. 然而当数据库的字符集为变长时, CLOB中的数据以固定的Unicode格式存贮, Unicode字符集包括两个字节, 因此就有高位优先(Big Edian)和低位优先(Little Edian)的问题. 在10g以前, CLOB的字节优先和机器的硬件相同, 从10g开始, CLOB中的Unicode则总是高位优先(Big Edian)的. 因此增加这个选项来指定CLOB的字节顺序.

    2,SET LOB_CONVERT {0:NONE | 1:GBK | 2:UTF8}

    从前面的解说来看, CLOB中存贮的数据有可能是Unicode编码的, 这个编码会给数据输入带来问题. 因此增加了这个选项以指定要不要进行编码转换, 可以不指定, 或转换成GBK/UTF8格式, 其他编码的格式转换还没有支持.

    接下来一个是指定恢复时LOB数据的存放位置的, 对CLOB和BLOB都有影响.

    3,SET LOB_STORAGE {0:INLINE | 1:FILE | 2:NONE}

    AUL 4.0.0依旧支持两种恢复格式, 一种是文本格式, 另一种是DMP格式. 当恢复成文本格式时, LOB类型的数据有两个存放选项, 一个是所有数据存成一个文本文件(INLINE模式), 另一种是一个LOB值存成单独的文件(FILE模式), 而NONE模式则不进行LOB恢复, 以空值代款.

    NCLOB目前还没有支持, 也没有打算要支持它.

上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 下一页

当前分类: AUL/MyDUL

Creative Commons License
本站版权: 共用创作 CC
署名-非商业性-相同方式分享
本站基于MT-3.36免费版
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql