Маленькие грабли при пересадке 1С с MS SQL на Oracle

04.03.12

База данных - Инструменты администратора БД

При переносе базы на СУБД Oracle столкнулся с одной проблемой и как я это решал...

Скачать файлы

Наименование Файл Версия Размер
1.JPG
.JPG 80,47Kb
11
.JPG 80,47Kb 11 Скачать

Выдалась  как-то свободная минутка, (и свободный сервачек) и решил я попробовать поставить 1с 8.2 на Oracle. Не то чтобы необходимость в этом была - просто интересно, ну и для повышения общего уровня...

MS Windows Server 2003 SP2 (32-bit) +  1C v8.2.15.301 + Oracle Database 11g Release (11.2.0.1.0)

Из 8.2+MS SQL выгрузил *.dt
На 8.2+Oracle создал пустую базу
На 8.2+Oracle загрузил dt
Пока вроде все хорошо. Запустил через толстый клиент – запускается.
Первым делом после таких манипуляций – тестирование базы.
Запускаю проверку – получаю ошибку ORA-02289: sequence does not exist без какой либо дополнительной информации.
Создаем на 8.2+Oracle такую же (конфигурация, версия, имя, параметры) демо- базу из шаблона, запускаю проверку – та же ошибка.
Пробовал запускать проверки по частям и в разных режимах (создавать, очищать, не изменять). Некоторые проверки проходят без ошибок, например «реиндексация таблиц», а вот «проверка целостности» - ни в какую.

C помощью PL/SQL Developer подключаюсь к 1С-ной сессии конфигуратора и включаю трассировку. Снова запускаю тестирование, получаю ошибку и смотрю в *.trc. Таки да обращается 1С к сиквенсу несуществующему.

INSERT INTO TT_1 (FC_1RRef, FC_2, FC_3, FC_4, FC_5, FC_6, FC_7RRef, FC_8, FC_9, FC_10RRef, FTTC_1, SDBL_IDENTITY) SELECT SDBL_TOP_1, SDBL_TOP_2, SDBL_TOP_3, SDBL_TOP_4, SDBL_TOP_5, SDBL_TOP_6, SDBL_TOP_7, SDBL_TOP_8, SDBL_TOP_9, SDBL_TOP_10, SDBL_TOP_11, SEQ_IDENTITY.NEXTVAL FROM (SELECT T1.FIDRRef AS SDBL_TOP_1, BINROWVER(T1.FVersion) AS SDBL_TOP_2, T1.FMarked AS SDBL_TOP_3, T1.FIsMetadata AS SDBL_TOP_4, T1.FCode AS SDBL_TOP_5, T1.FDescription AS SDBL_TOP_6, T1.FFld753RRef AS SDBL_TOP_7, T1.FFld754 AS SDBL_TOP_8, T1.FFld755 AS SDBL_TOP_9, T1.FFld756RRef AS SDBL_TOP_10, T1.FIDRRef AS SDBL_TOP_11
FROM Reference25 T1) WHERE ROWNUM

Только после создания в схеме нужного «sequence» все проверки прошли нормально.

create sequence SEQ_IDENTITY increment by 1 start with 1;

Пробовал создать пустую базу и запустить проверку на ней – все нормально, ошибки не возникают.

Успел тогда только месячный расчет ЗП запустить на 4,5 тыс. сотр.(dt был от живой базы) - выполнился на 12% быстрее на Oracle, по сравнению с MS SQL

Так что, если у кого будет что-то подобно, улыбаемся, подключаемся, трассим, смотрим, создаем и пробуем еще раз...

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2964    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3499    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177724    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27369    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61309    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11742    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31105    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10974    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. zavedeev 04.03.12 23:43 Сейчас в теме
А лучше сидеть на MS SQL и не создавать тебе вынос мозга:)
4. wunderland 201 06.03.12 20:14 Сейчас в теме
(1) zavedeev, можно много привести доводов
1) Победа инженерной мысли над здравым смыслом;
.
.
.
101) Есть могучий Оракловый кластер, на который можно просто подселить 1С и не покупать железо + ОС + MS SQL
2. B2B 273 05.03.12 02:43 Сейчас в теме
И как там на Оракле? На много быстрее стало работать?
3. wunderland 201 06.03.12 20:10 Сейчас в теме
Прирост, вроде есть, я в конце статьи писал... Но это не очень точно, просто я в обработке которая много чего долго делает поставил выводиться время в начале и в конце - на Оракле времени меньше.
5. zavedeev 06.03.12 20:26 Сейчас в теме
wunderland, нравиться оракл да ради бога, во 1-х у скл все в одном дистрибутиве и не надо искать манагер как у оракла, возможно что-то и изменилось. 2-х если оракл упадет - что делать? а под скл есть много софта для востановления mdf файлов. 3-х скл на мой взгляд (моя - точка зрения) удобней и дружелюбней.
6. rus128 2 07.03.12 11:59 Сейчас в теме
(5) zavedeev, если СКЛ падает - нужно не МДФ файлы лечить, а бэкапы восстанавливать :-)
а кому нужно быстродействие (даже если 12% критично) - те скажут автору "спасибо" за прощупывание дорожки.
7. wunderland 201 09.03.12 12:36 Сейчас в теме
Вот что еще интересно - я в первый раз делал этот опыт в конце 2010 года. Все как-то не было времени отписать. А тут модератор статью не пропустил, пришлось полностью смоделировать ситуацию на виртуалке. Естественно за 1.5 года воды не мало утекло, версии поменялись и все такое, а ошибка как была, так и осталась. Отсюда вывод - маловато 1С + Oracle используется. А жаль, большие возможности во всех отношениях.
8. IgorM11203 12.03.12 13:49 Сейчас в теме
Странно коннечно ...
1С сертифицировала v8.2.15 (то есть вела разработку и тестирование) только под Oracle 11.2.0.2
вы же использовали неподдерживаемый релиз - 11.2.0.1
Плюс на 11.2.0.2 нужно накатывать последний кумулятивный оракловый бандл-патч.
9. wunderland 201 12.03.12 18:46 Сейчас в теме
(8) IgorM11203,
Согласен, что с релизом Oracle я не прав, но как мне кажется, дело здесь не в Oracle. Ведь созданием объектов, таблиц и т.п. в схеме БД, управляет 1С сервер приложений. Возможно эта ошибка связана именно с конфигурацией ЗиУП, где используется регистр расчетов...
10. ybeleckii 13.03.12 12:19 Сейчас в теме
Да действительно если базы занимают более 30гб быстродействие сильно хромает на SQL. если найду время попробуй оракл и секционирование в SQL 2008 что будет эффективнее
11. nilabs 8 14.06.12 14:42 Сейчас в теме
По вашим оценкам, что эффективнее c точки зрения производительности для 1с: Oracle или MS Sql?
12. wunderland 201 14.06.12 19:29 Сейчас в теме
(11) nilabs, я пока не готов дать такую оценку...
я просто сделал эксперимент, и в итоге получил какую-то цифру чтобы сравнение не было совсем уже на пальцах.
но это сравнение было далеко от объективного. только повседневная практика все расставит на свои места... а на практике у меня нет ни одного примера работы боевой базы 1С на Oracle. SQL сервер проще, много раз проверен - вот его и берут как стандартное решение. Ведь не будем кривить душой - далеко не всегда это ПО лицензионное.
О том что возможностей у оракла намного больше спорить никто не будет, но и сложнотей с его настройкой и обслуживанием тоже больше. Так что ответ мой будет таков. Если нужно быстро и ничего сверхестественного(да еще и за M$ SQL не платим (ай-яй-яй ;) как нехорошо) ) - однозначно выбираем его. Если стоит вопрос денег - стоит рассмотреть вариант с PostgreSQL я видел народ экспериментирует и тоже получается. А вот если у вас уже все есть - хотябы одиночный сервер с Oracle, где все лицензировано и настроено и админ БД Вам поможет(поднять и запустить его можно, а вот до ума довести - нужны знания и опыт)... я бы в этом случае рискнул. Всегда было интересно попробовать собрать кластер из 1С и на RAC подсадить... незнаю правда зачем, просто прикольно... Но имейте ввиду - 1С всех возможностей оракла не использует, об этом тоже много говорили... Вот сколько написал, эх, пиво, пиво ...
13. avhrst 519 25.05.14 09:07 Сейчас в теме
Тестировали Oracle +1С по полной программе - анализировали планы запросов, проверяли на 100GB базе и т.д.
Результат:
1. Размер базы данных для oracle абсолютно не важен, от этого скорость работы не изменяется (речь не идет о запросах за "весь период").
2. 1С абсолютно не оптимизирована под Oracle SQL и как следствие запросы получаются очень не оптимальными и грузят сервер. Например - написанный руками запрос (с пониманием логики) имеет cost = 10 000 (cost - это общий показатель "стоимости" запроса по ресурсам для базы данных), запрос сформированный 1С имеет cost=120 000 (в 10 раз больше), тоесть если ресурсов на сервере достаточно -oracle такой запрос проглотит, иначе получим тормоза.
3. Oracle отлично масштабируется, можно разнести базу (1С автоматически создает 3 дата файла) на 3 диска, что значительно добавит прироста, выделить максимально возможоную память (SGA) и с болью наблюдать как "запросы" 1С насилуют сервер.
14. wunderland 201 26.05.14 12:02 Сейчас в теме
(13) avhrst, что поделать - Oracle это электронный микроскоп для тех, кому нужен электронный микроскоп...
А некоторые люди(1С, и я, частенько) берут его, чтобы забивать гвозди, при том, изначально кривые. Вот и получается иногда грустно :(
Оставьте свое сообщение