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

04.03.12

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
1.JPG
.JPG 80,47Kb
11
11 Скачать (1 SM) Купить за 1 850 руб.

Выдалась  как-то свободная минутка, (и свободный сервачек) и решил я попробовать поставить 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С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14372    109    46    

108

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

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

15000 руб.

10.11.2023    11917    45    27    

67

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10699    47    8    

78

SALE! %

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

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

4800 3840 руб.

14.01.2013    191283    1152    0    

920

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

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

14400 руб.

29.04.2020    33846    108    152    

75

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

3600 руб.

06.02.2017    32627    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73750    629    45    

88

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

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10167    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. zavedeev 04.03.12 23:43 Сейчас в теме
А лучше сидеть на MS SQL и не создавать тебе вынос мозга:)
4. wunderland 203 06.03.12 20:14 Сейчас в теме
(1) zavedeev, можно много привести доводов
1) Победа инженерной мысли над здравым смыслом;
.
.
.
101) Есть могучий Оракловый кластер, на который можно просто подселить 1С и не покупать железо + ОС + MS SQL
2. B2B 274 05.03.12 02:43 Сейчас в теме
И как там на Оракле? На много быстрее стало работать?
3. wunderland 203 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 203 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 203 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 203 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 203 26.05.14 12:02 Сейчас в теме
(13) avhrst, что поделать - Oracle это электронный микроскоп для тех, кому нужен электронный микроскоп...
А некоторые люди(1С, и я, частенько) берут его, чтобы забивать гвозди, при том, изначально кривые. Вот и получается иногда грустно :(
Оставьте свое сообщение