Показать сообщение отдельно
Старый 27.02.2009, 15:13   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Привет всем. При попытке синхронизации таблицы выдается:
Info Синхронизация Описание ошибки SQL: ORA-01408: этот список столбцов уже индексирован

Info Синхронизация Оператор SQL: CREATE UNIQUE INDEX I_212RENAMEACCOUNTNUM4 ON LEDGERJOURNALTRANS (SUBSTR(NLS_LOWER(DATAAREAID),1,3),RECID) COMPUTE STATISTICS TABLESPACE AXLIVEIDX
Error Синхронизация Ошибки во время синхронизации базы SQL со словарем данных системы.
Операция закончилась неудачно.
Info Синхронизация Синхронизация 1 таблиц закончилась неудачно

Причем индекс не уникальный. После удаления индекса все синхронизируется. Пытаюсь импортировать с идентификаторами из другого приложения - опять ошибка. И еще SUBSTR(NLS_LOWER(DATAAREAID),1,3),RECID) - это я так понимаю список полей. dataarea видимо добавляется автоматически, но тут не хватает одного поля AssetDebAccountNum_RU. В другом приложении, как и положено - 3 индекса (3 поля в индексе наверное имелось ввиду?):
AXDEV.I_212RENAMEACCOUNTNUM4
SYS_NC00197$ 1
SYS_NC00201$ 2 // тоже какое то странное название (должно быть, наверное, AssetDebAccountNum_RU)
RECID

Подскажите, пожалуйста, что еще тут можно сделать?
Описание ошибки достаточно исчерпывающее, оракл не обманывает. (этот список столбцов уже индексирован), это значит что у вас уже есть другой индекс с таким набором столбцов. В вашем случае это действительно dataareaid и recid, судя приведённому DDL по созданию индекса. (dataareaid, естественно, добаволяется автоматически, всё верно).
Поля типа SYS_NC00197$ - это следствие функциональных индексов, при создании FBI создаются скрытые столбцы в таблице и они же индексируются (обсуждалось не так давно вскользь на форуме тут).

А теперь по существу:
Зная ваши приколы, ничего конкретного сказать не возьмусь. (подробности тут:Ошибка дублирования индекса
В нормальной ситуации такая ошибка возникать не должна, в вашей же - может быть всё что угодно и похоже кроме тов-ща db здесь никто о вашей системе ничего толком не знает... Наверняка причина в том, что у вас "рассинхронизировны" индексы в БД и в Аксапте. (хотя бы потому что вы утверждаете что в БД в индексе 3 колонки, а в аксапте импортируется только 2)...
__________________
Zhirenkov Vitaly