Создание базы 1с в oracle
Я напишу комбинацию всех продуктов для нормальной установки связки даже новичку. Сам я новичок в Oracle, но напишу, как мне удалось очень просто установить это.
1. Необходимо установить сам Oracle. Рекомендую ставить Oracle Database 11g Release 11.1.0.7.0 - 64bit Production под Windows 2008 Server x64 SP2 (не R2) с обязательным отключением UAC. Тогда установка происходит нормально. Ну и понятно лучше в домен не вгонять, дабы не применялись групповые политики, которые могут мешать Oracle нормально встать. Под R2 у меня возникли проблемы с чеками памяти, дисков и т.д. (вероятно Windows 2008 R2 не дает по дефолту процессу достучаться для проверки), ну я и не стал мучатся (вроде как Oracle еще официально и не поддерживает R2). Почему именно 11 версия, потому что в ней есть уже все патч сеты, которые 1С требует для 10-ки, тем более 1С начинает работать, только с 10.4+patchset 33, соответственно, если у вас нет доступа к металинку вы не сможете это сделать, так как на сайте Oracle идут начальные дистрибутивы.
2. Во время установки обязательно выбирайте продвинутую установку, чтобы иметь возможность установить NLS_CHARACTERSET в AL32UTF8.Насколько я знаю это очень проблематично менять у существующей БД. Реестровое значение как на клиенте (собственно хост, на котором будет сервер приложения, только он является клиентом больше никто, ну или группа хостов (кластер)) NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251 так и на сервере, хотя наверное это совсем необязательно.
3. Как только закончили установку сервера, установите клиентскую часть Oracle на хосте, который будет сервером приложения 1С, проверьте, есть ли увас возможность достучаться SQL*Plus к серверу. Создайте пользователя с привилегиями DBA от него 1С и будет ходит к БД, то есть все пользователи аутентифицируются на сервере приложения под своими логинами, непосредственно 1С или NT доменом, а затем уже Oracle создает сессию от этого пользователя, которого Вы создали Выше. Опять таки может DBA и слишком высокие права для этого, это могут подсказать гуру.
4. Теперь Вам необходим специальный файл lx327c5.nlt, который 1С предлагает в своих ИТС для генерации nlb файлов. Вы копируете на жесткий диск хоста этот файл в пустую папку, который я Вам могу прислать (если конечно это не нарушает правила форума, вроде как не нарушает, так как это информационная поддержка 1С) по почте. Затем запускаете утилиту Locale Builder, выбираете генерацию NLB и в качестве источника выбираете тот каталог с файлом, который Вы создали выше. Одно предостережение, если Вы будете пользоваться оригинальным файлом от 1С, то у Вас вылетит ошибка, для это, зайдите в него блокнотом и удалите комментарии типа Copyright by .. вместе открывающим и закрывающим тегом. После этого все нормально сгенериться. Остановите все сервисы Oracle. У вас в этом каталоге (который Вы выбирали в качестве исходного) появится еще три файла lx0boot.nlb, lx1boot.nlb, lx327c5.nlb их нужно скопировать в Oracle_home\nls\data, предварительно забекапиров lx0boot.nlb, lx1boot.nlb, которые там находились, потому что при копировании вы перетрете первых два файла. Соотвественно на вопрос о перетирании Вы отвечаете утвердительно. Запустите все сервисы Oralce.
5. Создаете три tablespace V81C_DATA, V81C_INDEX, V81C_LOB, соответственно 1С там будет хранить данные, индексы и LOB.
6. Установите сам сервер приложений, например на другой машине, подробно процесс описан в руководстве администратора 1С, который идет на ИТС, у кого нет, я могу прислать, там детально расписан процесс, он очень простой. В качестве теста можно попробовать создать базу на MS SQL, вероятно Ваша рабочая база на нем крутится. Если база создается нормально на MS, то вопросов к установке 1С приложения не должно быть.
7. Переходим к созданию информационной базе на Oracle. Нажимаете создать новую инф. Базу, на сервере 1С. В поле кластер серверов пишем: название хоста или IP, на котором крутится сервер приложений, в поле информационная база вносим желаемое имя на сервере 1С (он необязательно должно совпадать со схемой), в поле Защищенное соединение Выключить, тип СУБД Oracle Database, в поле сервер БД пишем //название хоста с ораклом:порт прослушивания (по дефолту 1521)/наименование SID (то что вы указали при установке БД), в поле База данных пишите схему (например то название, которые Вы сделали для пользователя оракл, который будет ходить к ораклу от сервера приложений, если ее нет, то она создаться автоматически), в поле пользователь и пароль соответственно указываете этого пользователя и его пароль. Жмете Далее и Готово (в последнем окне можно оставить все по дефолту).
Хочу попробовать (для себя) oracle под 1с. У кого-нибудь уже получалось сделать? Я слышала, что разработчики говорили - что это реально осуществить, но вот как - не объясняют. Либо я плохо ищу)
Выдалась как-то свободная минутка, (и свободный сервачек) и решил я попробовать поставить 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
Так что, если у кого будет что-то подобно, улыбаемся, подключаемся, трассим, смотрим, создаем и пробуем еще раз.
PostgerSQL заточен под Linux и в своей среде он будет работать лучше и быстрее (как рыба в воде), но есть и адаптированный под Windows, требующий чуть больших настроек для оптимизации, чем просто "далее-далее-далее" в MSSQL. Хотя на небольших БД на первых этапах хватает и стандартной настройки задаваемой при установке.
Тесты о работе и производительности на разных системах разных продуктов MS SQL, PostgerSQL, под Linux, Windows легко можно найти в интернете, тут же мы рассмотрим простую установку и базовую настройку для работы 1С 8 на PostgerSQL 11.5 под Windows Server 2008 R2.
Постановка задачи:
1С Предприятие 8.3.16.1063, 1С БД Бухгалтерия 3.0.75.58 – размер файла
Сервер: i5-9400, ОЗУ DDR4 16 Гб, SSD 256, ОС Windows Server 2008R2 x64
Установка и настройка PostgreSQL:
1. Подготовка:
Перед установкой и настройкой рекомендуется отключить протокол IPv6, иначе это может затруднить дальнейшую настройку.
Также необходимо установить Microsoft Visual C++ 2015 (на сайте 1С он идет в комплекте)
Также заранее рекомендуется включить службу "Вторичный вход в систему", иначе при установке будет ошибка.
2. Процесс установки
Далее указываем путь установки программы (его не меняем) и путь, где будут располагаться БД (его рекомендуется сменить, чтобы БД хранились не на системном диске)
Если вы не запустили службу "Вторичный вход в систему" то у вас будет ошибка, ее можно включить на этапе установки и продолжить:
После установки запускаем консоль администратора "Пуск-PostgreSQL 11.5-7.1C(x64)-pgAdmin 4"
На этом установка PostgreSQL закончена.
3. Установка 1С сервера:
Запуститься помощник установки системы «1С:Предприятия». На первой странице жмем «Далее».
На следующей странице необходимо выбрать те компоненты, которые будут устанавливаться, нам требуются компоненты:
- Сервер 1С:Предприятия — компоненты сервера «1С:Предприятия»
- Администрирование сервера 1С:Предприятия 8 — дополнительные компоненты для администрирования кластера серверов «1С:Предприятия»
Если сервер «1С:Предприятия» устанавливается как служба Windows рекомендуется сразу создать отдельного пользователя, из под которого будет запускаться служба "Агент сервера 1С Предприятия", либо можно выбрать существующего пользователя для запуска сервера. Для создание нового пользователя необходимо:
- Выбираем флаг «Установить сервер 1С:Предприятие как сервис Windows (рекомендуется)»;
- Выбираем «Создать пользователя USR1CV8» и задаем его пароль (пароль должен отвечать политики паролей Windows).
Также пользователю обязательно следует дать необходимые права на каталог служебных файлов сервера (по умолчанию C:\Program Files\1cv8\srvinfo для 64-х разрядного и C:\Program Files (x86)\1cv8\srvinfo для 32-х разрядного сервера). Созданный автоматически пользователь USR1CV8 будет обладать всеми перечисленными правами.
Заполнив соответствующие параметры, жмем «Далее».
Далее идет установка всех необходимых файлов и служб. После чего следует убедиться что появилась и запущена соответствующая служба.
На этом установка Сервера 1С Предприятия закончена.
4. Создание 1С БД для PostgreSQL
После установки 1С Сервера запускаем "Администрирование серверов 1С Предприятия x86-64", переходим в список "Информационные базы" и создаем новую БД. Заполняем основные поля:
- Имя - имя БД на сервере 1с
- Сервер баз данные - имя сервера где будет располагаться БД 1С SQL
- Тип СУБД - выбор на какой платформе у вас будет работать ваша база (MSSQL, PostgeSQL, IBM DB2, Oracle DateBase)
- База данных - имя базы которое будет создано в SQL
- Пользователь и пароль БД - пользователь в SQL
- Создавать базу данных в случае ее отсутствия - Создает БД в SQL если ее нет.
Если вы не отключили протокол IPv6 то у вас при создании будет ошибка:
можно отключить протокол IPv6 и продолжить создание, либо можно указать IP адрес сервера без отключение протокол IPv6:
Все на этом этапе БД готова, в принципе ее можно подключать загружать в SQL и работать. Но рекомендуется сделать настройку самого Postgre сервера для оптимизации и более стабильной работы базы 1С на PostgreSQL. Делается это в 1 файле расположенном в каталоге с базами (путь который вы указывали при установке для баз по умолчанию C:\Program Files\PostgreSQL\11.5-7.1C\data). Файл postgresql.conf
5. Настройка PostgreSQL под 1С 8
ВАЖНО. Перед любыми изменения в этом файле обязательно сделайте его копию, в противном случаем если какой то параметр указан не верно у вас не запустится служба PostgreeSQL:
Перед тем как вносить изменения в файл postgresql.conf необходимо остановить службу
Изменение параметров в postgresql.conf:
После чего запускаем службу PostgreSQL и можно работать.
Так же иногда по какой то причине после загрузки в PostgreSQL в базе отключается "Полнотекстовый поиск", поэтому после настройки рекомендуется проверить и включить если выключено и обновить индексы (все функции-стандартные-управление полнотекстовым поиском).
Создание базы данных Oracle вручную включает в себя несколько шагов. Некоторые из них зависят от операционной системы. Например, в среде Windows, прежде чем создавать базу данных, сначала необходимо выполнить oraсle-программу, используемую для создания службы базы данных. Шаги по созданию базы данных вручную:
- Напишите сценарий создания базы данных. Образец такого сценария приведен на шаге 6.
- Создайте структуру каталогов, в которых будет размещаться новая база данных. Следуйте инструкциям по созданию оптимальной гибкой архитектуры.
- Измените существующий образец файла init.ora , поддерживаемый Oracle, чтобы в нем отражались параметры для новой базы данных.
- Опишите SID-имя для Oracle. На платформе Windows на приглашение операционной системы необходимо ввести:
- Установите соединение с базой данных через SQL* Plus как SYSTEM / MANAGER as sysdba или как / as sysdba и введите следующую команду запуска базы данных в режиме nomount : Подставьте свои параметры инициализации вместо приведенных здесь значений параметров pfile .
- После запуска базы данных используйте написанный вами сценарий создания базы данных Oracle. Вот образец:
- После создания базы данных выполните сценарии catalog.sql , catproc.sql , catexp.sql и все новые сценарии, необходимые для поддержки установленных вами продуктов. В системе UNIX сценарии размещаются в каталоге $ORACLE_HOME\rdbms\admin , а в среде Windows - в $ORACLE_HOME/rdbms/admin . Прежде чем выполнять сценарии, просмотрите их, так как многие сценарии каталога вызывают другие сценарии.
- Для обеспечения повышенной безопасности введите, как минимум, какие-нибудь другие пароли для SYS и SYSTEM , а не оставляете пароли по умолчанию MANAGER и CHANGE_ON_INSTALL . В примере сценария, приведенного на шаге 6, создается табличное пространство UNDO . Параметрами инициализации для него являются: Единственный параметр, который вы не можете изменить после создания базы данных, это размер блока базы данных, который был описан вами в файле init.ora до ее создания. Для задания этого значения используется параметр DB_BLOCK_SIZE . Например, в следующей строке задается размер блока базы данных по умолчанию, который составляет 8 Кбайт. Для того чтобы увидеть параметры, действующие в вашей базе данных, запросите динамический просмотр V$PARAMETER :
Вас заинтересует / Intresting for you:
Читайте также: