Ошибка при конвертации 585-712
Модераторы: m0p3e, edward_K, Модераторы
Ошибка при конвертации 585-712
Платформа 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.
Причем триггер именно так-просто '.'
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.
Причем триггер именно так-просто '.'
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;
'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;
-
- Местный житель
- Сообщения: 702
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Украина, Запорожска яобласть, г.Днепрорудный
To:Oweo
Что проблемы на конкретной станции очень сомнительно, т.к. пробавалось не на одной станции, во-вторых, галактика с тем же galnet.cfg стартует и работает нормально. Пишу строку запуска:
chkora d:\gal711\gal1\galnet.cfg - в результате просто ничего, команда проскочила и ничего не произошло
chkora d:\gal711\gal1\ получаю не могу присоедениться к базе
Что проблемы на конкретной станции очень сомнительно, т.к. пробавалось не на одной станции, во-вторых, галактика с тем же galnet.cfg стартует и работает нормально. Пишу строку запуска:
chkora d:\gal711\gal1\galnet.cfg - в результате просто ничего, команда проскочила и ничего не произошло
chkora d:\gal711\gal1\ получаю не могу присоедениться к базе
Кто Вам сказал, что галактический cfg-шник подсовывать надо??Andrey писал(а): chkora d:\gal711\gal1\galnet.cfg - в результате просто ничего, команда проскочила и ничего не произошло
chkora d:\gal711\gal1\ получаю не могу присоедениться к базе
Естественно, она не захочет так работать. Вот Вам с суппорта, ссылки прямой нету, поэтому просто скопирую:
thorСодержание 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;
А даже если и легло Все равно не поможет. В эти файлы ничего толкового не пишется.Посмотрите в папке запуска chkora.exe - ничего в файлы
atlerror.log и leakage.log по поводу запуска chkora не легло?
(при запуске chkora d:\gal711\gal1\galnet.cfg)
Новые патчи удались на славу
-
- Местный житель
- Сообщения: 702
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Украина, Запорожска яобласть, г.Днепрорудный
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 ни локально ни на сервере. Как победить?
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 ни локально ни на сервере. Как победить?
-
- Постоянный обитатель
- Сообщения: 134
- Зарегистрирован: 23 мар 2007, 05:38
- Откуда: Дальний Восток, Хабаровск
- Контактная информация:
Подниму старую тему, потому что с 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. Но там для каждой таблицы свое значение. Что писать?
Заранее благодарен за продуктивные ответы
Пробовал из суппорта из модуля "Восстановление данных". 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. Но там для каждой таблицы свое значение. Что писать?
Заранее благодарен за продуктивные ответы
Галактика 8.10, Oracle 10g patch 10.2.0.4