How AUL 4 support the partition table's LOB recovery?

    When you prepare to do recovery of partitioned table with LOB columns with AUL4, you must modify the LOB index's partition name first in AULOBJ.TXT. I have thought that the LOB index have the same partition name with table, just as normal local index, and in AUL 4 I use the table's partition name to locate the LOB index's partition to get the relative data object id. But the names are not same, let's start with two demo table :

SQL> CREATE TABLE T_HASHLOB (COL1 NUMBER, COL2 CLOB)
  2  LOB(COL2) STORE AS (DISABLE STORAGE IN ROW)
  3  PARTITION BY HASH(COL1) PARTITIONS 2;

Table created.

    Insert few rows and the perform a checkpoint, and start AUL 4 to unload the dictionary table, and describe the table structure:

AUL> desc anysql.t_hashlob

Storage(OBJ#=0 OBJD=0 TS=0 FILE=0 BLOCK=0 CLUSTER=0)
No. SEQ INT Column Name         Type
--- --- --- ------------------- ----------------
  1   1   1 COL1                NUMBER
  2   2   2 COL2                CLOB  (SYS_IL0000010046C00002$$)

    We could use grep to get the partition name information:

C:\MYDUL>grep -i t_hashlob AULOBJ.TXT
10048,25,T_HASHLOB,SYS_P28,19
10047,25,T_HASHLOB,SYS_P27,19
10046,25,T_HASHLOB,,2

C:\MYDUL>grep -i "SYS_IL0000010046C00002\$\$" AULOBJ.TXT
10054,25,SYS_IL0000010046C00002$$,SYS_IL_P32,20
10053,25,SYS_IL0000010046C00002$$,SYS_IL_P31,20
10052,25,SYS_IL0000010046C00002$$,,1

    Then we modify the partition name of LOB index according to the order of object id:

10054,25,SYS_IL0000010046C00002$$,SYS_P28,20
10053,25,SYS_IL0000010046C00002$$,SYS_P27,20

    Then we can start to recover the rows, just specify the partition name in the "UNLOAD" command :

AUL> set lob_convert 1
  Current LOB_CONVERT is : 1-GBK
AUL> set clob_edian big
  Current CLOB_EDIAN is : BIG
AUL> unload table anysql.t_hashlob partition SYS_P27;
2006-12-25 10:59:01
Unload OBJD=10047 FILE=4 BLOCK=8291 CLUSTER=0 ...
2|part 2
2006-12-25 10:59:02
AUL> unload table anysql.t_hashlob partition SYS_P28;
2006-12-25 10:59:04
Unload OBJD=10048 FILE=4 BLOCK=8299 CLUSTER=0 ...
1|part 1
2006-12-25 10:59:04

    The program becomes more and more complex, really hard to make any change now.

Post a comment

SCode:
Mail(*, but will not be displayed):
Home: