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

Ошибка при конвертации 585-712

Добавлено: 20 мар 2006, 10:52
zorin
Платформа oracle. В процессе вылетает с ошибкой 311(ошибка изменения таблицы). Вот то, пишется в ora73drv.log :
INSERT INTO sid."ATTRNAM"("FNREC","FATL_LASTDATE","FATL_LASTTIME","FATL_LASTUSER","FATL_ORIGINOFFICE","FLASTUSER","FLASTTIME","FLASTDATE","FFILIALNO","FWTABLE","FNAME","FATTRTYPE") SELECT "FNREC","FATL_LASTDATE","FATL_LASTTIME","FATL_LASTUSER","FATL_ORIGINOFFICE","FLASTUSER","FLASTTIME","FLASTDATE","FFILIALNO","FWTABLE","FNAME","FATTRTYPE" FROM sid."ATTRNAM#"
ORA-04098: trigger '.' is invalid and failed re-validation.
Причем триггер именно так-просто '.'

Добавлено: 20 мар 2006, 11:06
oiko
А инвалидов в базе нет?

Добавлено: 20 мар 2006, 11:19
zorin
chkora ничего серьезного не видит

Добавлено: 20 мар 2006, 12:34
oiko
Ораклом проверь

Добавлено: 20 мар 2006, 16:20
zorin
Какими средствами оракл?

Добавлено: 21 мар 2006, 08:56
oiko
SELECT DECODE(OBJECT_TYPE,
'FUNCTION','ALTER FUNCTION '|| OWNER|| '.' || OBJECT_NAME || ' COMPILE;',
'PROCEDURE','ALTER PROCEDURE '|| OWNER|| '.' || OBJECT_NAME || ' COMPILE;',
'TRIGGER','ALTER TRIGGER '|| OWNER|| '.' || OBJECT_NAME || ' COMPILE;',
'PACKAGE','ALTER PACKAGE '|| OWNER|| '.' || OBJECT_NAME || ' COMPILE;',
'PACKAGE BODY','ALTER PACKAGE '|| OWNER|| '.' || OBJECT_NAME || ' COMPILE BODY;',
'VIEW','ALTER VIEW '|| OWNER|| '.' || OBJECT_NAME || ' COMPILE;',
NULL)
FROM ALL_OBJECTS WHERE STATUS = 'INVALID' ORDER BY OWNER,OBJECT_TYPE;

Добавлено: 21 мар 2006, 11:44
WiRuc
Поставьте SQL Developer или TOAD, там легко можно посмотреть.

Добавлено: 13 апр 2006, 15:09
Andrey
Добрый день.
Подскажите как запускать chkora. Пишу chkora {путь на cfg файл} - получаю - не удалось подсоеденится к БД. Спасибо.

Добавлено: 14 апр 2006, 09:08
Oweo
Andrey писал(а):Добрый день.
Подскажите как запускать chkora. Пишу chkora {путь на cfg файл} - получаю - не удалось подсоеденится к БД. Спасибо.
У вас проблемы с конектом к базе на конкретной станции.

Добавлено: 14 апр 2006, 12:51
Andrey
To:Oweo
Что проблемы на конкретной станции очень сомнительно, т.к. пробавалось не на одной станции, во-вторых, галактика с тем же galnet.cfg стартует и работает нормально. Пишу строку запуска:

chkora d:\gal711\gal1\galnet.cfg - в результате просто ничего, команда проскочила и ничего не произошло


chkora d:\gal711\gal1\ получаю не могу присоедениться к базе

Добавлено: 14 апр 2006, 13:56
thor
To Andrey

Посмотрите в папке запуска chkora.exe - ничего в файлы
atlerror.log и leakage.log по поводу запуска chkora не легло?
(при запуске chkora d:\gal711\gal1\galnet.cfg)

Добавлено: 17 апр 2006, 16:09
Oweo
Andrey писал(а): chkora d:\gal711\gal1\galnet.cfg - в результате просто ничего, команда проскочила и ничего не произошло
chkora d:\gal711\gal1\ получаю не могу присоедениться к базе
Кто Вам сказал, что галактический cfg-шник подсовывать надо?? :)
Естественно, она не захочет так работать. Вот Вам с суппорта, ссылки прямой нету, поэтому просто скопирую:
Содержание chkora.cfg | 9.VI.2003 @ 16:43 | Solomatin
Запустить проверку базы под управлением СУБД Oracle можно и с командной строки. Для этого достаточно запустить утилиту \EXE\chkora.exe с параметром путем и именем этого конфигурационного файла.
Конфигурационный файл может содержать следующие строки:



[DataBase]
DataBaseName= GAL584 //Имя схемы с таблицами Галактики
DataBaseDriver=ORA73DRV.DLL //Имя драйвера базы данных

[SQLDriver]
SQLServer=GAL584 //Название синонима
FullLoginName=On //Признак использовования полного имени

[ChkBase] //Параметры проверки
StoredProcs=on //Расширенные процедуры
UsersAndRights=off //Пользователи и права
Triggers=on //Триггеры
Fields=off //Поля
Indexes=on //Индексы
RelTriggers=on //Целостность
Memo=on //Мемо-поля
Journal=on //Журнал
Out=out.txt // Имя выходного файла
Tables=Basedoc;Basefin //Названия таблиц (в строку через ";"), проверку которых хотим выполнить

[dictversion]
VERSION=303 //Версия словаря
SUM=1861701660 //Контрольная сумма (*)

[Login]
UserName = Supervisor // имя для подключения к словарю
Password = qwerty // пароль пользователя

(*) - Контрольную сумму можно получить запросом:
select XF$CHECKSUM from X$FILES where XF$CODE=0;
thor
Посмотрите в папке запуска chkora.exe - ничего в файлы
atlerror.log и leakage.log по поводу запуска chkora не легло?
(при запуске chkora d:\gal711\gal1\galnet.cfg)
А даже если и легло :D Все равно не поможет. В эти файлы ничего толкового не пишется.

Добавлено: 19 апр 2006, 13:58
Andrey
To Oweo: спасибо за подсказку по конфигурационному файлу для chkora, но проблема осталась. Не может присоедениться к базе. В oradrv73.log ложит ошибку протокола, а вот в sqlnet.log следующее:
Fatal NI connect error 12560, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracleORCL)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=D:\LOCGAL711\EXE\chkora.exe)(HOST=GAL-ADMIN)(USER=Konovalov))))

Вот это
(PROTOCOL=beq)
CONNECT_DATA=(SID=ORCL)
явно не то. Нет у меня такого протокола и SID ни локально ни на сервере. Как победить?

Добавлено: 20 апр 2006, 14:12
Oweo
Ну вроде у Вас явно клиент оракла не по тому пути ломится. Если Галактика на этой машине работает, то не должно быть такого.

Добавлено: 05 дек 2008, 06:02
Прохожий
Подниму старую тему, потому что с chkora столкнулся впервые, а суппорт рекомендует ее запустить.

Пробовал из суппорта из модуля "Восстановление данных". 2 таблицы обрабатывала 4 суток и не закончила, оборвал процесс. решил попробоват на файловом уровне стартануть. Как это сделать?

Есть каталог с Галактикой 8.10. В ЕХЕ лежит chkora.exe и chkora9.exe.

1. Вариант 1.
На 1 уровень выше в каталоге GALAXY создал батник chkora.bat. Содержимое: d:\galaxy\exe\chkora.exe d:\galaxy\chkora.cfg

chkora.cfg:
[DataBase]
DataBaseName= GALA
DataBaseDriver=ORA90DRV.DLL

[SQLDriver]
SQLServer=test.sun //Название синонима
FullLoginName=On


[ChkBase] //Параметры проверки
StoredProcs=on //Расширенные процедуры
UsersAndRights=off //Пользователи и права
Triggers=on //Триггеры
Fields=on //Поля
Indexes=on //Индексы
RelTriggers=on //Целостность
Out=out.txt // Имя выходного файла
Tables=lschet;lstab //Названия таблиц (в строку через ";"), проверку которых хотим выполнить

[Login]
UserName=supervisor
Password=supervisor

2. Вариант 2.
То же самое, только конфиг положил в ЕХЕ, рядом с chkora.exe

В результате постоянно говорит, что не удалось подключить к БД

Вопрос:
1. Почему не подключается?
2. Нужна ли секция
[dictversion]
VERSION= //Версия словаря
SUM= //Контрольная сумма (*)

Если нужна, как узнать версию словаря? Выше было написано, что из поля X$FILES.XF$ATTR. Но там для каждой таблицы свое значение. Что писать?

Заранее благодарен за продуктивные ответы :)