18.01.2008, 09:02 | #1 |
Участник
|
Накрылась таблица InventTableModule.
Вчера накрылась таблица InventTableModule. База на ORACLE
Обычные select проходит. Конструкция через QueryRun нет. Пытаюсь добавить поле.Не проходит синхронизация. Пишет Синхронизация Невозможно выполнить команду языка определения данных в "" (""). База данных SQL обнаружила ошибку. Описание ошибки SQL: ORA-08103: object no longer exists Оператор SQL: ALTER TABLE INVENTTABLEMODULE ADD (FIELD1 VARCHAR2(10) DEFAULT '' NOT NULL) Ошибки во время синхронизации базы SQL со словарем данных системы. Операция закончилась неудачно. Синхронизация 1 таблиц закончилась неудачно. Админ сказал похоже накернилась эта таблица. Надо drop-нуть и создать занова. Я так думаю если её удалить и снова запустить синхранизацию она создастся снова. Данные из неё есть. Да и база не рабочая. Но всё же интересно что-же произошло. Может кто-то сталкивался с подобной проблемой. Может мысли есть из-за чего это может быть? |
|
18.01.2008, 09:26 | #2 |
Участник
|
Посмотрите может изменился владелец на этой таблице в базе.
|
|
18.01.2008, 09:39 | #3 |
Moderator
|
Цитата:
Описание ошибки SQL: ORA-08103: object no longer exists
|
|
18.01.2008, 09:43 | #4 |
Участник
|
1. Убейте на ORACLE все индексы на этой таблице и попробуйте синхронизировать заново
2. При неудаче п.1 убейте все индексы, если они создались при синхронизации, переименуйте таблицу на ORACLE (например в InventTableModule_OLD), синхронизируйте InventTableModule из Аксапты и перелейте данные из переименованной таблицы во вновь созданную. При успешном выполнении, можно прибить старую переименованную таблицу на ORACLE |
|
18.01.2008, 10:33 | #5 |
Участник
|
Проверьте не появилось ли в базе таблицы с названием X176X или что-то вроде этого. При критических ошибках, произошедших при синхронизации, Axapta переливает данные в таблицу с подобным названием (176 - id таблицы InventTableModule).
|
|
18.01.2008, 10:58 | #6 |
Участник
|
Нет не изменился.
Цитата:
Сообщение от Андре
Таблица реально существует? Попробуйте посмотреть средствами Oracle (например, SQL Plus).
Цитата:
Сообщение от Alexius
1. Убейте на ORACLE все индексы на этой таблице и попробуйте синхронизировать заново
2. При неудаче п.1 убейте все индексы, если они создались при синхронизации, переименуйте таблицу на ORACLE (например в InventTableModule_OLD), синхронизируйте InventTableModule из Аксапты и перелейте данные из переименованной таблицы во вновь созданную. При успешном выполнении, можно прибить старую переименованную таблицу на ORACLE Да и проблему то удалением таблицы легче решить. Щас админ ещё поиграется. Он сказал на Oracle тоже какая-то ошибка плохая выскочила. Цитата:
Сообщение от sia
Проверьте не появилось ли в базе таблицы с названием X176X или что-то вроде этого. При критических ошибках, произошедших при синхронизации, Axapta переливает данные в таблицу с подобным названием (176 - id таблицы InventTableModule).
|
|
18.01.2008, 11:16 | #7 |
Участник
|
Пробовали индексы удалять в Oracle.
Не помогает. Вообщем удалили таблицу и синхронизировали. Всё нормально. А данные зальём. Подставил оракл Аксапту. |
|
18.01.2008, 11:18 | #8 |
Участник
|
|
|
18.01.2008, 11:20 | #9 |
Moderator
|
Цитата:
Таблица существуте в oracle она тоже просматривается. Но добавить поле даже в oracle не получается.
|
|
|
За это сообщение автора поблагодарили: miklenew (2). |
18.01.2008, 11:36 | #10 |
Участник
|
Сори не правильно сначало понял.
Цитата:
Сообщение от Андре
Стоило прогнать утилиту dbverify (http://download-uk.oracle.com/docs/c...96652/ch13.htm), могли быть поврежденные (corrupted) блоки.
Повториться проблема прогоним. |
|