1C 8.2 + Oracle = ORA-01450 превышена максимальная длина ключа #672345


#0 by Мэс33
Добавил в 1С регистр сведений. При попытке обновить конфу, появляется ошибка. --------------------------------------------- В процессе обновления информационной базы произошла критическая ошибка. по причине: Ошибка СУБД: Индекс не удалось создать с использованием табличного пространства V81C_INDEX по причине: Ошибка СУБД: ORA-01450 превышена максимальная длина ключа. Возможной причиной ошибки является использование большого количества строковых измерений регистра. Попытка создать индекс в табличном пространстве V81C_INDEX_BIG не была предпринята из-за отсутствия табличного пространства. --------------------------------------------- Установил у всех измерений и ресурсов  "Не индексировать" - обновилось. Пытаюсь хотя для одного измерения добавить значение "Индексировать" - повторяется вышеуказанная ошибка. Кто-нибудь сталкивался с этим? И да, релиз 8ки древний - 15ый (времени нет обновить релиз).
#1 by zva
А в измерениях есть строки неограниченной длины?
#2 by Базис
За  "использование ... строковых измерений регистра" надо сразу долго бить учебником по теории реляционных БД.
#3 by mistеr
В Oracle есть ограничение на общую длину ключа индекса (в отличие от MSSQL, где ограничение на количество столбцов, составляющих ключ). Вот на него 1С и нарывается. Ошибка именно при создании регистра, данных там еще нет?
#4 by mistеr
Не всегда.
#5 by Базис
Это будет не регистр. Справочник, табличка, вот это всё - но не регистр. Помню, как открывался период в ТиС после добавления клиентом пары строковых измерений в РН. Целый день, пока я не приехал.
#6 by mikecool
и что было когда приехал?
#7 by МихаилМ
ms sql тоже есть ограничение
#8 by mistеr
Так ты про Семерку? Я тоже про нее много страшилок знаю.
#9 by МихаилМ
в 77 все внутренние ид - строки
#10 by mistеr
Разработчиков типовых не забудь побить. А то они штрихкоды неправильно хранят.
#11 by mistеr
Спасибо, буду знать. 900 байт маловато, в Oracle гораздо больше.
#12 by Мэс33
Сорри, уходил на обед. В измерениях есть строки переменной длины, сама длина установлена к примеру "100". Да, при создании.
#13 by Мэс33
Да, и в ресурсах есть строки переменной длины.
#14 by Мэс33
Может и надо бить, но я взял пример модуля на инфостарте, видимо там никто с ораклом не работал и с такой ошибкой не сталкивался.
#15 by mzelensky
Убери хотя бы до "90".
#16 by mistеr
Странно, по идее ошибка случается при вставке данных. В 14-м релизе добавили способ борьбы с этой ошибкой. Цитата из V8Update.htm: ------------------- Реализована поддержка использования отдельного табличного пространства в Oracle Database в случае, если при реструктуризации информационной базы или загрузки информационной базы (из файла .dt) генерируется ошибка "ORA-01450. Табличное пространство (с именем "V81C_INDEX_BIG") не создается автоматически и должно быть создано администратором базы данных". То есть нужно создать это ТП вручную с большим размером блока, например 16К.
#17 by mistеr
Интересно, с какого потолка взята цифра? Максимальная длина не имеет значения, имеет значение размер реальных данных.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С