Страница 1 из 1

Не могу удалить таблицу из словаря

Добавлено: 16 ноя 2007, 17:59
galover
Всем привет! Создавал таблицу в базе данных Галактики, по невниманию указал при создании уже занятый номер таблицы. Таблица занеслась в словарь некорректно. Теперь не могу удалить таблицу. Удалил саму таблицу из БД руками (а также таблицу журнализации этой таблицы), но все равно при создании вываливается: Ошибка: Ошибка при создании таблицы "MyTable". Код таблицы = 311 : "Ошибка выполнения [311]". Пробовал сначала вот так:
Alter Dictionaty;
Drop table MyTable;

ругается: Ошибка: Вы не можете изменять параметры словаря Галактики.

Как быть? Как удалить таблицу из словаря. Заранее спасибо!

Добавлено: 16 ноя 2007, 18:21
edward_K
1.такие критичные вещи луше делать на тесте.
2.Если первасив то достаточно папку dict восстановить с архива.
3.на МS будет сложнее. Можно попробовать с архива поднять первые 3 таблы.

Добавлено: 16 ноя 2007, 18:27
galover
Забыл сказать БД - Oracle. Неужели все так серьезно? Что еще можно попробовать?

Добавлено: 16 ноя 2007, 19:20
galover
Похоже проблема в том, что слетела контрольная сумма словаря. Даже при попытке запуска процедуры проверки БД из суппорта, выскакивает сообщение о несовпадении контрольной суммы. Как можно пересчитать контрольную сумму? Галактика 8.1

Добавлено: 16 ноя 2007, 19:31
Ged
в cfg укажи
System.FullSQL=On
И дропай таблу

Добавлено: 16 ноя 2007, 19:40
galover
Запускаю проверку (выбираю таблицу x$files), и получаю диалог:

---------------------------
Проверка структуры базы данных
---------------------------
Не совпадают версии или контрольные суммы
словаря и использующей его программы.
Проверка структуры запрещена.
---------------------------
ОК
---------------------------
и процедура на этом заканчивается.

Добавлено: 16 ноя 2007, 19:52
galover
Ged
в cfg укажи
System.FullSQL=On
И дропай таблу
не помогло, то же самое - при попытке удаления, сообщение -
Ошибка: Таблицы MyTable нет в базе данных
DROP TABLE MyTable;
^ [ Enter-продолжить ] : ok.

При попытке создания: Ошибка: Ошибка при создании таблицы "MyTable". Код таблицы = 311 : "Ошиб
ка выполнения [311]".
^ [ Enter-продолжить ] :

Добавлено: 16 ноя 2007, 19:59
Ged
Это только для удаления!!!

System.FullSQL=On - Разрешает любые изменения структуры базы

Параметр: System.UpdateDictCheckSumm
Тип: Логический Сохраняемость: Нет
Назначение: Обновить контрольную сумму словаря

System.UpdateDictCheckSumm=on
================

MyTable -????
А ты точно добавлял таблу с таким именем?

Добавлено: 16 ноя 2007, 20:17
galover
Ged
Странно. Но что-то настройка UpdateDictCheckSumm не действует??? Может ее другая настройка перекрывает, но все опять заканчивается выводом диалога о несовпадении суммы

Добавлено: 16 ноя 2007, 20:21
galover
<deleted>

Добавлено: 16 ноя 2007, 20:27
galover
<deleted>

Добавлено: 16 ноя 2007, 20:39
galover
Ged
Самое интересное, что таблицы в БД создаются, не смотря на то что vip ругается, но эти таблицы после ни удаляются vip-ом, ни появляются в словаре :sad:

Добавлено: 16 ноя 2007, 21:30
galover
Может кто пришлет значение checksum для 8.1. Просто выполните

Код: Выделить всё

SELECT XF$CHECKSUM FROM X$FILES WHERE ((0 == XF$CODE)); 
Заранее спасибо

Добавлено: 19 ноя 2007, 19:59
SergZol
SELECT XF$CHECKSUM FROM X$FILES WHERE ((0 == XF$CODE));
держи:-1601339646
у меня тоже такая-же проблема была, посмотри здесь:http://www.tyumbit.ru/gal_forum/viewtopic.php?t=8719