Информация о файле обновления Галактика ORA9INST_EXE_544412.TXT


Описание файла обновления:
ФайлORA9INST_EXE_544412.TXT
ОбновлениеOra9Inst_EXE_544412
НазначениеСпециальное
Продукт
Релиз05/11/2008 :
КомпонентOra9Inst
ТипEXE
Версия5.4.44.12
Дата2014-11-14 17:10:53
Проблема ПИРПервое решениеОписаниеПроектДетализация
Что изменено:Как изменено:
180.8360NEWDSQL-функция сборки даты из дня, месяца и годаИнструментарий прикладного программистаПрямой SQL
DSQL MSSQL Oracle ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- В DSQL нужна функция сборки даты из дня, месяца и годаСделаны функция сборки даты YMD2Date и сборки времени HMS2Time Порядок параметров как в названии функции. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Запустите проверку целостности БД с опцией "Проверка служебных объектов" (ChkBase.StoredProcs=On).
180.66305.4.39.0Прямой SQL и InStrИнструментарий прикладного программистаПрямой SQL
ORACLE DSQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Некорректная последовательность входных параметров при передаче в INSTR.Исправлено. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Необходимо запустить проверку целостности базы данных с опцией "проверка служебных объектов" (ChkBase.StoredProcs=on)
102.1124685.4.39.0Поддержка ORACLE 11.2 в части последствий удаления прив.UNLIMITED TABLESPACE/DBAПоддержка различных платформ баз данныхOracle
Драйвер ORACLE ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Начиная с версии СУБД ORACLE 11.2 отъем у пользователя роли DBA или привилегии UNLIMITED TABLESPACE приводит к обнулению всех отдельно выданных пользователю квот на табличные пространства. Данное положение будет вписано в инструкцию по безопасности ORACLE.Доработано. При использовании СУБД ORACLE 11.2 и выше при отъеме у пользователя привилегии UNLIMITED TABLESPACE, производится повторная принудительная выдача квот на табличные пространства, которые использует схема Галактика ERP.
104.197535.4.39.0Неверно работает сортировка по индексам на версии 50438 на Oracle 10,11Поддержка различных платформ баз данныхOracle
Драйвер ORACLE ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Неверно работает сортировка на версии 50438 в режиме поддержки национальных языков (x$files.xf$flags = 16) не работает быстрый поиск на Oracle 10 и 11.Разработаны пользовательские таблицы сортировки для ORACLE версий 9, 10, 11 # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Для работы со схемами системы Галактика ERP (Oracle версий 9i, 10g,11g), имеющими кодировку "украинская", необходимо в обязательном порядке выполнить следующие действия: а) выполнить установку обновления Атлантис 5.4.39 б) выполнить установку пользовательский NLS-таблиц согласно инструкции, входящей в составобновления. В результате установки обновления chkora9_EXE_54390.acd в каталоге EXE приложения формируется каталог NLS_Oracle, содержащий пользовательские NLS-таблицы для разных версий СУБД и инструкцию по установке таблиц. в) выполнить проверку БД с помощью утилиты chkora9.exe версии 5.4.39 с опцией "Проверка корректности индексов" (ChkBase.Indexes=on) в режиме исправления. Без выполнения указанных действий после установки обновления версии 5.4.39 соединение Атлантис-приложений со схемами системы Галактика ERP (Oracle версий 9i, 10g,11g), имеющими кодировку "украинская", становится невозможным.
102.1077695.4.38.0не работает функция SUM в подзапросе для полей типа TimeИнструментарий прикладного программистаАгрегирование в логических таблицах
MSSQL Oracle Функции агрегирования ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не работают (или неправильно работают) функции SUM и AVG в подзапросах в логической таблице для полей типа DATE, TIME, DATETIME, COMPИсправлено. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Oracle: запустить проверку целостности БД с опцией "Проверка служебных объектов" (ChkBase.StoredProcs=On) MSSQL: запустить проверку целостности БД с опцией "Проверка служебных объектов" (ChkBase.StoredProcs=On) Если на этой базе раньше пытались суммировать время, то чтобы вычистить из кеша старые неправильные запросы, нужно очистить кеш: truncate table xx$hashvalues
102.1108895.4.38.0Двоятся записи документов после повторного приема OracleПоддержка различных платформ баз данныхOracle
Oracle ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Дублирование документа при приеме на работу из-за того, что не срабатывает проверка KIND == char(0) из-за того, что при вставке char(0) превращается в Исправлено. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: 1. Изменить значения по умолчанию для всех полей типа char[1] на CHR(0) (в оракле тип таких полей VARCHAR2(1), но есть и другие поля VARCHAR2(1), которые трогать не надо) Такие поля есть в таблицах IMPTUNE VARSTAT SPNABOR LINKCOL TMPKSEB TABLTMP TMP_PLVED USERRIGHTS INTCLNAM PERSONS CONSCRIPTION PASSPORTS STAFUSER FACTOTPUSK Для этого можно воспользоваться одним из следующих способов: а) Выполнить проверку БД в режиме исправления с опциями "Проверка структуры таблиц"(ChkBase.Fields=on) + "проверка индексов"(ChkBase.Indexes=on) + "проверка триггеров"(ChkBase.Triggers=on) Эта операция займет займет немало времени, т.к. вышеперечисленные таблицы, которые нужно поправить, будут пересоздаваться, а их данные копироваться. б) ИЛИ, выполнить следующий скрипт(если база уникодная, то VARCHAR2(1) замените на NVARCHAR2(1)) alter table <имя схемы>.IMPTUNE modify( "FDIGITDIVIDER" VARCHAR2(1) default(CHR(0)), "FDIVIDER" VARCHAR2(1) default(CHR(0)), "FPROCSTRCHAR" VARCHAR2(1) default(CHR(0)), "FTXOCHAR" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.VARSTAT modify( "FSIGN" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.SPNABOR modify( "FSIGN" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.LINKCOL modify( "FSIGN" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.TMPKSEB modify( "FSIGN" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.TABLTMP modify( "FALG[1]" VARCHAR2(1) default(CHR(0)), "FALG[2]" VARCHAR2(1) default(CHR(0)), "FALG[3]" VARCHAR2(1) default(CHR(0)), "FALG[4]" VARCHAR2(1) default(CHR(0)), "FALG[5]" VARCHAR2(1) default(CHR(0)), "FALG[6]" VARCHAR2(1) default(CHR(0)), "FALG[7]" VARCHAR2(1) default(CHR(0)), "FALG[8]" VARCHAR2(1) default(CHR(0)), "FALG[9]" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.TMP_PLVED modify( "FALG[1]" VARCHAR2(1) default(CHR(0)), "FALG[2]" VARCHAR2(1) default(CHR(0)), "FALG[3]" VARCHAR2(1) default(CHR(0)), "FALG[4]" VARCHAR2(1) default(CHR(0)), "FALG[5]" VARCHAR2(1) default(CHR(0)), "FALG[6]" VARCHAR2(1) default(CHR(0)), "FALG[7]" VARCHAR2(1) default(CHR(0)), "FALG[8]" VARCHAR2(1) default(CHR(0)), "FALG[9]" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.USERRIGHTS modify( "FMARKED" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.INTCLNAM modify( "FFILLER" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.PERSONS modify( "FSEX" VARCHAR2(1) default(CHR(0)), "FISEMPLOYEE" VARCHAR2(1) default(CHR(0)), "FSEX$UP" VARCHAR2(1) default(CHR(0)), "FISEMPLOYEE$UP" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.CONSCRIPTION modify( "FMOBORDER" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.PASSPORTS modify( "FKIND" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.STAFUSER modify( "FFLAG1" VARCHAR2(1) default(CHR(0)), "FFLAG2" VARCHAR2(1) default(CHR(0)), "FFLAG3" VARCHAR2(1) default(CHR(0)), "FFLAG4" VARCHAR2(1) default(CHR(0)), "FFLAG5" VARCHAR2(1) default(CHR(0)), "FFLAG6" VARCHAR2(1) default(CHR(0)), "FFLAG7" VARCHAR2(1) default(CHR(0)), "FFLAG8" VARCHAR2(1) default(CHR(0)), "FFLAG9" VARCHAR2(1) default(CHR(0)), "FFLAG10" VARCHAR2(1) default(CHR(0)) ); alter table <имя схемы>.FACTOTPUSK modify( "FPRIZN1" VARCHAR2(1) default(CHR(0)) ); 2. В таблицах PASSPORTS, INTCLNAM, VARSTAT, SPNABOR, LINKCOL, TMPKSEB заменить уже имеющиеся пробелы на 0-байты, выполнив внешними средствами следующий скрипт: Update <имя схемы>.passports set fkind = CHR(0) where fkind = ; Update <имя схемы>.intclnam set ffiller = CHR(0) where ffiller = ; Update <имя схемы>.varstat set fsign = CHR(0) where fsign = ; Update <имя схемы>.spnabor set fsign = CHR(0) where fsign = ; Update <имя схемы>.linkcol set fsign = CHR(0) where fsign = ; Update <имя схемы>.tmpkseb set fsign = CHR(0) where fsign = ;
102.990825.4.37.0DSQL: Функция to_sec100Поддержка различных платформ баз данныхПрямой SQL
Oracle Утилита проверки Утилита разворачивая базы ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Функция to_sec100 возвращает ошибку, если время 24:00 ORA-01850: hour must be between 0 and 23 ORA-06512: at "GAL.TO_ORADATETIME", line 1 ORA-06512: at "GAL.TO_DAYS", line 1 ORA-06512: at "GAL.TO_SEC100", line 1Исправлено. Для применения исправлений необходимо запустить утилиту проверки с флагом StoredProcs=on
102.920585.4.35.0требуется поддержка Кодировка Атлантис kaz для OracleПоддержка различных платформ баз данныхOracle
Oracle ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Требуется поддержка казахского языка.Добавлена поддержка казахской кодировки для версий РСУБД Oracle 9i и выше. Для адекватной работы при необходимо установить для экземпляра значение параметра NLS_NCHAR_CHARACTERSET в AL16UTF16. Из-за особенностей реализации алфавитной сортировки казахского языка в РСУБД Oracle, символы Ii Yy (с черточкой) находятся не на своих местах. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: При создании нового экземпляра необходимо: 1. Выставить значение параметра NLS_NCHAR_CHARACTERSET в AL16UTF16 2. Запустить инсталятор БД Галактики и выбрать кодировку создаваемой базы "Казахская" При переводе существующей БД на казахскую необходимо выяснить, установлен ли в экземпляре параметр NLS_NCHAR_CHARACTERSET в AL16UTF16. Если установлен, то достаточно запустить утилиту chkora с параметрами Fields=on и Indexes=on. Если значение параметра NLS_NCHAR_CHARACTERSET отличное от необходимого, то конвертация существующей БД невозможна, и необходимо создавать новый экземпляр.
101.431505.4.35.0Проблемы при включении алфавитной сортировки в oracleПоддержка различных платформ баз данныхOracle
Oracle ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Исправить некорректное поведение некоторых интерфейсов при включении алфавитной сортировки как в галактике, так и в саппорте.Исправлено. Функционирование алфавитной сортировки возможно только на версиях Oracle выше 9i. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Для работоспособности алфавитной сортировки использовать версию Oracle выше 9i. Для баз, созданных инсталятором до версии 5.4.35 - запустить утилиту проверки БД с опцией проверки индексов (параметр Indexes=on). Для баз, созданных инсталятором версий 5.4.35 и выше, - запуск утилиты проверки не требуется.
101.445815.4.34.0Oracle11.2: не формируется квота для пользователя <имя схемы>Поддержка различных платформ баз данныхИнсталляция, настройка, проверка БД
Oracle ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Для версии 11gR2 вернуть выдачу квот на табличные пространства.Добавлена проверка oracle-параметра DEFERRED_SEGMENT_CREATION. В версии 11gR2 для работоспособности системы необходимо выставить значение параметра в FALSE, в то время как по умолчанию оно выставлено в TRUE. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: При использовании СУБД Oracle 11.2 файл параметров инициализации экземпляра БД (init.ora) должен содержать параметр DEFERRED_SEGMENT_CREATION=FALSE
101.441905.4.32.0count(*) в count(rowid) или count(1)Поддержка различных платформ баз данныхOracle
Oracle MS SQL ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Заменить count(*) на count(1) для более быстрого выполнения запроса.Заменено.
102.907255.4.29.0Не корректно работает функция FROM_SEC100Поддержка различных платформ баз данныхПрямой SQL
Oracle Прямой SQL ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не корректно работает функция FROM_DAYS, при некоторых значениях параметра в лог выдаётся ORA-01848: day of year must be between 1 and 365 (366 for leap year) ORA-06512: at "GAL.FROM_DAYS", line 1 ORA-06512: at "GAL.FROM_SEC100", line 1Исправлено. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Для коррекции работы хранимой функции FROM_DAYS необходимо запустить утилиту проверки БД в части проверки хранимых процедур.
101.374865.4.22.0Зависание Галактики на Oracle 10g в конфигурации RACПоддержка различных платформ баз данныхOracle
Oracle MS SQL Сервер приложений ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- 1 Реализовать поддержку Oracle RAC начального уровня (корректная работа алгоритмов Системы Галактика). 2 Обрабатывать не только переподсоединение к другому узлу RAC, но и потерю соединения с СУБД в обычной ситуации (сейчас подобное приводит к отказу работоспособности сервера приложений).1 Реализована поддержка Oracle RAC (с версии Oracle 10G R2) начального уровня - алгоритмы Системы Галактика работают в данной архитектуре корректно. 2 Любая потеря соединения обрабатывается с выдачей соответствующего сообщения и завершением работы приложения. Сервер приложений при этом сохраняет работоспособность. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: 1. Для корректной работы на Oracle версий < 10G (вне зависимости от присутствия/отсутствия RAC) необходимо: - установить параметр job_queue_processes в значение, не меньшее 5; - внешними средствами от имени пользователя SYS выполнить запрос GRANT EXECUTE ON SYS.DBMS_IJOB TO SUPERVISOR WITH GRANT OPTION; (если не включен параметр FullLoginName) или GRANT EXECUTE ON SYS.DBMS_IJOB TO <имя_бд_галактики>#SUPERVISOR WITH GRANT OPTION (если параметр FullLoginName включен. Вместо <имя_бд_галактики> подставить название схемы, куда установлена Галактика) - для вступления изменений патча в силу запустить chkora/chkora9 с параметрами StoredProcs=on UsersAndRights=on. 2. Для корректной работы на Oracle версий 9i - 11g (вне зависимости от присутствия/отсутствия RAC) необходимо: - внешними средствами от имени пользователя SYS выполнить запрос GRANT SELECT ON SYS.GV_$SESSION TO SUPERVISOR WITH GRANT OPTION; (если не включен параметр FullLoginName) или GRANT SELECT ON SYS.GV_$SESSION TO <имя_бд_галактики>#SUPERVISOR WITH GRANT OPTION; (если параметр FullLoginName включен. Вместо <имя_бд_галактики> подставить название схемы, куда установлена Галактика) - для вступления изменений патча в силу запустить chkora9 с параметрами StoredProcs=on UsersAndRights=on. 3. Для корректной работы в архитектуре Oracle RAC необходимо создать сервис и в настройках TNS указать соединение не по SID, а по SERVICE_NAME. Сервис по умолчанию использовать нельзя. Все клиенты в рамках кластера должны cоединяться используя только один сервис. При наличии в сети нескольких кластеров, к которым будет обращаться система Галактика ERP, сервисы на обоих должны называться по-разному. Пример создания сервиса и настроек TNS для кластера из 3-х узлов: srvctl add service -d GAL -s GALAXY -r ORCL1,ORCL2 -a ORCL3 srvctl start service -d GAL -s GALAXY GAL_TAF = (DESCRIPTION = (LOAD_BALANCE = ON) (FAILOVER = ON) (ADDRESS = (PROTOCOL = TCP)(HOST = ORCL1_hostname)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = ORCL2_hostname)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = ORCL3_hostname)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = GALAXY) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 20) (DELAY = 1) ) ) )
101.420815.4.20.0Доработка регистрации несанкционированных входов в системуПоддержка различных платформ баз данныхOracle
Протект Регистрация действий пользователей MS SQL Oracle ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Для возможности применения встроенного СЗИ в ИСПД класса К3 необходимо доработать регистрацию несанкционированных попыток входа в систему.Регистрация несанкционированных входов проводится на всех платформах. При этом записывается пароль, предъявленный при входе (за исключением NTLM авторизации для MS SQL). Права на таблицу Events ограничены для обычных пользователй правом на добавление записи. В Suport на MS SQL и Oracle не запрашивается идентификационная информация в случае попытки загрузить функциональность, доступную лишь администратору, из-под обычного пользователя. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Pervasive.SQL - особых требований к установке нет. MS SQL Server - при необходимости ограничить права на таблицу Events из внешних средств выполнить внешними средствами revoke select,update,delete on events from public Oracle - выполнить проверку хранимых процедур утилитой проверки. При необходимости ограничить права на таблицу Events из внешних средств выполнить внешними средствами revoke select,update,delete on <gal_scheme>.events from <gal_scheme>#public