В данном руководстве даны только основные принципы и параметры установки системы М3, которые не совпадают со
стандартными установками при развертывании баз данных, описанных в официальной документации Oracle. Поэтому возможно
некорректное выполнение приложенных скриптов т.к. невозможно предусмотреть все возможные конфигурации как «железа», так и
выполненных настроек программных средств, в т.ч. ОС и СУБД Oracle, в этом случае необходимо обратится к разработчику. При
невыполнении каких либо из рекомендованных скриптов (или их части), необходимо обратиться либо к официальным руководствам,
либо в фирму - разработчик системы М3. При выполнении скриптов, импорте и экспорте базы обязательно сохранение
результатов работы (логов).
1. Основные требования и положения.
1.1. Серверная часть системы М3 устанавливается на СУБД Oracle, версии начиная с 10.2.0.3 и выше. Внимание! В версии Oracle 11.2.0.1 операции imp и exp работают некорректно с пустыми таблицами, поэтому, недостающие таблицы должны быть созданы вручную, или использовать при загрузке-
выгрузке клиента не 11.2.0.1, или использовать impdp и expdp.
1.2. Операционная система на которой работает СУБД, должна быть сертифицирована Oracle для своей работы.
1.3. СУБД Oracle может быть установлена как на выделенный сервер, так и в виртуальную машину. Установка СУБД Oracle на выбранную ОС -
http://docs.oracle.com/cd/E11882_01/nav/portal_11.htm
1.4. Параметры выставляемые в ОС Linux должны производится в соответствии с разделом Database Installation Guide for Linux.
2. Создание пустого инстанса для базы.
2.1. Основные положения и требования по установке базы указаны http://docs.oracle.com/cd/E11882_01/server.112/e10897/install.htm#ADMQS002 , ниже будут указаны параметры которые нужно будет изменить (отличаются от стандартных).
2.2. В разделе Creating a Database Using DBCA - до Step 9 - Initialization Parameters, все делается в соответствии с требованиями «железа» и на усмотрение администратора БД предприятия. На закладке Memory для первоначальной настройки базы достаточно указать использование Automatic Shared Memory Management и установить параметр доступной памяти в 80%, при этом оставшаяся память должна быть достаточной для ОС и других программ сервера. Внимание! Данный параметр выставляется только для запуска базы, при промышленной эксплуатации базы администратор БД должен
изменить размеры SGA, PGA и т.д. для достижения максимальной производительности базы. http://docs.oracle.com/cd/E11882_01/server.112/e10897/instance.htm#ADMQS12331
Все изменения параметров базы должны производится только после анализа работы СУБД средствами мониторинга и только на основании их.
2.3. Database Character Set на закладке Character Set необходимо установить в CL8MSWIN1251 (для ОС семейства Windows также необходимо указать в реестре в ветке Oracle_home, параметр NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251), по установке этого параметра в других ОС смотрите документацию Oracle http://docs.oracle.com/cd/E11882_01/appdev.112/e10766/tdddg_globalization.htm#TDDDG65100 . (параметр дан как желательный, но необязательный и может отличаться при разных ОС). При операциях импорта-экспорта обратите внимание на то, в какой локализации выгружен дамп данных, какая локализация на клиенте на котором будет проводится загрузка и локализацию базы.
Локализацию дампа можно посмотреть непосредственно в самом дампе.
Локализацию базы - SELECT parameter, VALUE FROM
nls_database_parameters;
Локализацию сессии - SELECT parameter, VALUE FROM
nls_session_parameters;
Если будет несовпадение, то при загрузке в базу будут неправильно отображаться данные в таблицах или пакетах, вьюхах и т.д., т.е. если при загрузке дампа в таблицах или объектах некорректно отображаются русские буквы, то была ошибка в настройке локали и база в последствии неработоспособна – нужно по новой перезаливать дамп с данными.
2.4. Нажав All Initialization Parameters необходимо изменить следующие параметры:
open_cursors = 900 – указано минимальное значение, которое в дальнейшем может изменяться администратором БД
optimizer_features_enable = "10.2.0.3" – для версии СУБД выше 10.2.0.3
optimizer_mode = "CHOOSE" – желательно, но не обязательно
plsql_code_type = "NATIVE" – желательно, но не обязательно
2.5. После создания инстанса, проверить его доступность с любой клиентской машины, предварительно выполнив сетевые настройки в соответствии с Вашими параметрами сети и т.д. Более подробно о сетевых настройках Oracle -
http://docs.oracle.com/cd/E11882_01/server.112/e10897/network.htm#ADMQS004
3. Загрузка данных в пустой инстанс.
3.1. Подключиться к базе любым удобным для Вас способом.
3.2. Создать всех пользователей которые имеют хоть одну таблицу, для работы системы М3, нужно создать пользователей - EXCHANGE1C, EXTERNALDATA, MODELLE, M2_ALL, M2_HISTORY, M2_SETUP, M2_SYS, M2U_DBA, M2U_MAN,
M2_WORKFLOW, M3CONVERT, M3_GP, SE, UPDATES , пример скрипта создания пользователей – create_users.sql
3.3. Загружаем полный дамп командами impdp (в зависимости от того, чем была выгружена база), c сохранением лога. Полный формат команд -
http://docs.oracle.com/cd/E11882_01/server.112/e22490/original_import.htm#SUTIL1645
3.4. Проверяем лог на критические ошибки.
3.5. Выполняем скрипт Create_role_m3.sql
3.6. Выполняем скрипт passdata.sql
3.7. Выполняем скрипт Post_Create_M3.sql
3.8. Компилируем все объекты схем из п. 3.2. Если есть ошибки компиляции, разбираемся с ними, при невозможности самим устранить ошибку, обратится в фирму разработчик системы М3.
3.9. Из папки Update выполняем update_m3.cmd, предварительно его исправив, указав имя базы, логин и пароль.
3.10. Выполняем UpdatePrivs.sql из папки Update, из под пользователя m2_sys. Пробуем зайти системой M3. Если этого не получается сделать снимаем всю последовательность sql команд при подключении системы M3, например при
помощи программы SQLMonitor.
3.11. Выполняем Create_Role_M3.sql, Post_Create_M3.sql, passdata.sql, up.sql.