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:
