Ошибка при конвертации 7.11-7.12: реляция на таблицу не найд

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Ошибка при конвертации 7.11-7.12: реляция на таблицу не найд

Сообщение Andrey »

Добрый день.
При конвертации выдается сообщение об ошибке:
ALTDREL.LOT(23)Ошибка : Реляция на таблицу с кодом 1430 не найдена и предлагает устранить эту ситацию.
1430 это таблица KatParty. Как победить?
thor
Местный житель
Сообщения: 289
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Saint-Petersburg
Контактная информация:

Сообщение thor »

Место ошибки в ALTDREL.LOT
Alter table SPORDER
delete constraint
( foreign key (CPARTY)
References KATPARTY
primary key KATPARTY01
)
;
Следовательно, надо смотреть свойства(индексы) CPARTY и KATPARTY
На какой платформе Галактика?
Если Pervasive, то м.б. отребилдить эти таблицы.
Если MS SQL или Oracle, то также проверить структуру таблиц на сервере - все ли хорошо с индексами.
Если просто отсутствует ссылка, то можно закоментировать этот кусок кода, т.к. затем она заново создается при выполнении скрипта ALTREL.LOT
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Сообщение WiRuc »

Правильный путь - запустить "Базы данных\Проверка таблиц базы данных".
Неправильный путь (но более быстрый :grin: ) - создать реляцию самому или откорретировать ALTREL.LOT
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

Платформа Oracle. Проверка таблиц и индексов на сервере (Analyze) прошла успешно. А как определить место ошибки в файле ALTDREL.LOT? Что значит (23) в скобках? Соответсвенно, как самому создать реляцию?
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Сообщение WiRuc »

Еще раз
WiRuc писал(а):запустить "Базы данных\Проверка таблиц базы данных".
Не Оракловую Analyze, а интерфейс в самой Галактике.
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

Галактическая проверка таблиц и индексов дала следующий результат:
Права пользователя из группы GAL711#PUBLIC на таблицу TMPSPUNICALC не соответствуют словарю
-ИСПРАВЛЕНО-
Права пользователя из группы GAL711#PUBLIC на таблицу TMPTUNEIMP не соответствуют словарю
-ИСПРАВЛЕНО-
Права пользователя из группы GAL711#PUBLIC на таблицу TMPUNICALC не соответствуют словарю
-ИСПРАВЛЕНО-
Индекс X$FILES0 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES1 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES2 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES3 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES4 у таблицы X$FILES некорректен или отсутствует
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

Ставлю тестовую локальную базу под первасивом с тестовыми данными галактики. Запускаю в саппорте кусок кода из файла altdrel.lot на котором выдается ошибка:

Alter table SPORDER
delete constraint
( foreign key (CPARTY)
References KATPARTY
primary key KATPARTY01
)
;

и получаю сообщение, что реляция не на таблицу не найдена. Почему?
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

Добрый день
to thor: есть несколько замечаний-вопросов:
1.реляция видна при прсомотре сылочной целостности из саппорта и если ее создать заново, то уже видим две одинаковых
2.если закоментировать этот кусок кода, то потом выскакивает такая же ошибка но на другой таблице
3. если закоментировать все такие ошибки, потом создать реляции (AltRel.lot), то "двойные" реляции чем-то грозят или нет?
Спасибо.
thor
Местный житель
Сообщения: 289
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Saint-Petersburg
Контактная информация:

Сообщение thor »

Реляции хранятся в таблице X$RELATE
Если выполнить в САППОРТЕ в SQL запрос типа

select * from x$relate
where XP$pfilecode=1430;

получим список реляций таблицы KATPARTY, где запись в поле
"Код подцепляемой таблицы", равная 1112 (CPORDER) и есть искомая реляция.

Только что проводил на тестовой БД (правда 712)
Alter table SPORDER
delete constraint
( foreign key (CPARTY)
References KATPARTY
primary key KATPARTY01
)
;
отработал без проблем, строка после выполнения первого запроса с кодами 1430 и 1112 исчезла и при просмотре реляций SPORDER в САППОРТЕ ссылка на KATPARTY исчезла.
После выполнения части из AltRel.lot
Alter table SPORDER
foreign key (CPARTY)
References KATPARTY
primary key KATPARTY01;
все восстановилось.

Смущает сообщение при проверке по индексам
Индекс X$FILES0 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES1 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES2 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES3 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES4 у таблицы X$FILES некорректен или отсутствует

В Оракле не сталкивался, а на СКЛ-сервере получали картину, когда в Саппорте структура таблицы показывала наличие индексов, а на экземпляре СУБД индексов по таблице вовсе не было. Пересоздание таблицы на уровне СКЛ-сервера с пересозданием индексов результата не дало. В результате делали откат на резервную копию.
Сбой БД произошел после заполнения дискового пространства не серваке.
То бишь для начала я проверил бы наличие в X$Relate записи о соответствующей реляции. Если ее нет, то это одно, а если есть, но не удаляется (не находится), то вопрос по X$FILES, если там все индексы отсутствуют или порушены, то как вообще база-то работает
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Сообщение WiRuc »

Индекс X$FILES0 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES1 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES2 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES3 у таблицы X$FILES некорректен или отсутствует
Индекс X$FILES4 у таблицы X$FILES некорректен или отсутствует
Если мне не изменяет память, то это глюк Галактики. По крайней мере в 5.85 тоже так ругалась на X$FILES, хотя все было нормально.
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

выполнил предлагаемый запрос:
select * from x$relate
where XP$pfilecode=1430;
и реляция с кодом подцепляемой таблицы 1112 присутсвует. в ответе на запрос 29 строк
Olik
Сообщения: 11
Зарегистрирован: 06 апр 2006, 11:45
Откуда: Лисаковск
Контактная информация:

Администрирование

Сообщение Olik »

Andrey, получилось ли у тебя конвертнуть базу с 7.11 в 7.12?
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

напрямую - пока нет
Olik
Сообщения: 11
Зарегистрирован: 06 апр 2006, 11:45
Откуда: Лисаковск
Контактная информация:

Сообщение Olik »

У кого Галактика 7.11? Вышлите пож. таблицу RELATE.ADF на адрес trefilovao@yandex.ru
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

ну, кто-то сможет объяснить как так происходит:
выгрузил файлы в dbf, загрузил локально под бетрив, запустил конвертор - все прошло ОК, а если под тем же бетривом (до конвертации, но после импорта из dbf) запустить скрипт:

Alter table SPORDER
delete constraint
( foreign key (CPARTY)
References KATPARTY
primary key KATPARTY01
)
;

получаю ошибку Реляция на таблицу с кодом 1430 не найдена.
Как это происходит?
Ответить