Greetings,
We are experiencing an issue with ArcSDE 10.0 SP5 and Oracle 10G. We have some large spatially-enabled tables that are partitioned. The performance for adding a partition to the largest table was very bad, it was taking 4 hours to rebuild the associated IOT. We ran the following command to create a new DBTUNE keyword and used this new keyword when registering the partitioned tables.
This worked well and ArcSDE created one IOT per partition for each of the tables. However, we're running into a problem when we try to add a partition to any of the tables. The following steps are performed just fine:
1. Table partition created
2. LOB partition created
3. Index partition created (for each local index)
However, we then get the following error:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-00942: table or view does not exist
ORA-06512: at "SYS.DBMS_SYS_SQL", line 909
ORA-06512: at "SYS.DBMS_SQL", line 39
ORA-06512: at "SDE.ST_DOMAIN_METHODS", line 1454
<errors related to how I called it, either via alter table...add partition or via my PL/SQL>
It seems that the problem is that the IOT related to the new partition is not created, but the ESRI code is trying to insert into the (non-existent) IOT. I verified this by performing the following steps, which succeeded.
1. Created the IOT manually
2. Created the partition
This is obviously not a good solution because the SDE reference tables aren't updated, but it did confirm the problem. For now, I've gotten around my immediate problem by putting the tables into load-only io mode, adding the partitions and switching them back to normal-io mode.
Can anyone advise how to create a new partition without the ESRI code failing? I'm wondering if I created the DBTUNE data incorrectly. I can't update the DEFAULT DBTUNE data because that causes problems with other datasets.
Thanks!
We are experiencing an issue with ArcSDE 10.0 SP5 and Oracle 10G. We have some large spatially-enabled tables that are partitioned. The performance for adding a partition to the largest table was very bad, it was taking 4 hours to rebuild the associated IOT. We ran the following command to create a new DBTUNE keyword and used this new keyword when registering the partitioned tables.
Code:
sdedbtune -o insert -k PART_IOT -P ST_INDEX_PARTITION_LOCAL -v TRUE -i sde:oracle10g:xxxxxx -u sde -p xxxxxx
1. Table partition created
2. LOB partition created
3. Index partition created (for each local index)
However, we then get the following error:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-00942: table or view does not exist
ORA-06512: at "SYS.DBMS_SYS_SQL", line 909
ORA-06512: at "SYS.DBMS_SQL", line 39
ORA-06512: at "SDE.ST_DOMAIN_METHODS", line 1454
<errors related to how I called it, either via alter table...add partition or via my PL/SQL>
It seems that the problem is that the IOT related to the new partition is not created, but the ESRI code is trying to insert into the (non-existent) IOT. I verified this by performing the following steps, which succeeded.
1. Created the IOT manually
2. Created the partition
This is obviously not a good solution because the SDE reference tables aren't updated, but it did confirm the problem. For now, I've gotten around my immediate problem by putting the tables into load-only io mode, adding the partitions and switching them back to normal-io mode.
Can anyone advise how to create a new partition without the ESRI code failing? I'm wondering if I created the DBTUNE data incorrectly. I can't update the DEFAULT DBTUNE data because that causes problems with other datasets.
Thanks!