Методические рекомендации по переносу БД ЦА на Linuxсервер 1. Установка дополнительного ПО для работы с Linux-сервером Для работы с Linux необходимо развернуть рабочее место с ОС Windows. На нем установить: 1. Программу для подключения и управления удаленным сервером (например, PuTTY). 2. Программу для работы с графическими приложениями удаленного сервера (например, Xming) 3. Клиент, обеспечивающий защищённое копирование файлов между компьютером и сервером (например, WinSCP) 4. PL/SQL Developer. 1.1. Настройка PuTTY Запустить программу На вкладке Session: (установка не требуется). В поле Host Name (or IP address) указать IP адрес сервера; В поле Saved Sessions указать произвольное имя, для сохранения настроек сессии. После чего нажать кнопку Save. На вкладке Logging: В параметре Session logging установить значение в All session output. Ниже установить значение Always append to the end of it. На вкладке Connection SSH X11 : Включить признак Enable X11 forwarding. При повторном входе необходимо на вкладке Session загружать сохраненные настройки: выбрать сохраненный профиль и нажать кнопку Load. Чтобы подключиться нужно нажать кнопку Open. 1.2. Установка Xming Запустить установочный файл Xming-6-9-0-31-setup.exe. Все параметры установки оставить по умолчанию. 1.3. Установка WinSCP Запустить установочный файл winscp573setup.exe. Все параметры установки оставить по умолчанию. Запустить программу . Для подключения необходимо указать: Протокол передачи – SFTP. В поле «Имя хоста» указать IP адрес сервера. Порт по умолчанию – 22. Указать имя пользователя и пароль. После чего нажать «Войти». Можно сохранить параметры подключения. 2. Создание полного экспорта рабочей БД ЦА 2.1. Экспорт схемы ЦА Для выгрузки данных из схемы, рекомендуется использовать утилиту expdp.exe (Data Pump Export). В командной строке необходимо набрать команду: EXPDP JUST/PASSWORD@SERVER SCHEMAS=JUST,JUST_HED DIRECTORY=OUT_DIRECTORY DUMPFILE=just_new.dmp LOGFILE=just_new.log где: JUST/PASSWORD@SERVER – пользователь/пароль@сервер; SCHEMAS=JUST,JUST_HED – имя экспортируемых схем (схема ЕГРП и схема ХЭД); DIRECTORY=OUT_DIRECTORY – имя Oracle-директории, куда будет выгружен файл дампа (создание новой Oracle-директории см. пункт 2.1); DUMPFILE=just.dmp – имя файла дампа; LOGFILE=imp_dp.log – файл лога текущего экспорта. 2.2. Выгрузка пользователей Для того, чтобы не создавать Oracle-пользователей заново, есть возможность их выгрузить. Для этого требуется запустить скрипт backup_users.sql из обновления версии в папки \Scripts.Add. sqlplus DATA_CENTR/DATA_CENTR_PAS@SERVER @backup_users.sql По окончании работы скрипта в текущем каталоге формируется файл скрипта вида users_JUST.2015.08.29_15.40.sql. 2.3. Работа с Oracle-директориями Чтобы посмотреть список существующих Oracle-директорий, нужно выполнить команду SELECT * FROM DBA_DIRECTORIES; Можно использовать любую из существующих или создать новую. Для этого выполнить команду: CREATE or REPLACE DIRECTORY TEMP_OUT AS 'D:\TEMP\OUT\'; где: TEMP_OUT – имя Oracle-директории, 'D:\TEMP\OUT\' – путь к каталогу на сервере, должен быть создан локально на сервере Windows. '/TEMP/OUT/' – путь к каталогу на сервере, должен быть создан локально на сервере Linux. Команда для удаления уже созданной Oracle-директории: DROP DIRECTORY TEMP_OUT; 3. Перенос файлов на Linux-сервер Для переноса файлов на Linux-сервер, например, дампов, скриптов и т.п., необходимо: 1. Запустить программу WinSCP. На одной панели открыть каталог, где размещаются передаваемые файлы. 2. На второй панели открыть каталог на Linux-сервере, например, /fileshare. Скопировать требуемый файл, нажав кнопку «Отправить» (F5). 3.1. Установка прав на каталог Если прав на папку не хватает, то необходимо открыть программу управления удаленным сервером (PuTTY) под пользователем oracle и выполнить команды: 1) su На запрос пароля ввести пароль пользователя root. 2) chmod -R 777 /fileshare/ 3) exit В результате папка /fileshare и все вложенные файлы будут доступны для всех пользователей на чтение/запись/выполнение. 4. Проверка параметров БД Oracle На сервере уже должна быть создана БД Oracle. Необходимо проверить некоторые параметры. 1. Проверить параметры сервера СУБД, согласно «Чек-лист ПО для серверов ЕБД». 2. Проверить кодовую страницу в переменных среды. Для этого необходимо запустить программу для подключения и управления удаленным сервером (PuTTY) под пользователем Oracle. Проверить присвоение кодовой страницы в переменных среды, выполнив команду echo $NLS_LANG Если на экран ничего не отобразилось, в файле .bash_profile, который находиться по пути /home/oracle прописать переменную NLS_LANG. Запустить команду nano /home/oracle/.bash_profile Дописать строку: export NLS_LANG=AMERICAN_RUSSIA.CL8MSWIN1251 Далее, нужно сохранить файл – нажать Ctrl+O, выйти из редактора – нажать Ctrl+X, и переподключиться к серверу (перезапустить программу PuTTY). Проверить присвоение кодовой страницы в переменных среды, повторно выполнив команду: echo $NLS_LANG 3. Проверка размера REDO-log файлов. Выполнить запрос: select l.GROUP#, l.BYTES/1024/1024 as "Размер REDO-log, Мб" from v$log l; Если размер каждого менее 500 Мб, посмотреть текущее местоположение файлов: select lf.GROUP#, lf.MEMBER as "Путь к файлу REDO-log" from v$logfile lf; И добавить 4 REDO-log по 500 Мб каждый: alter database add logfile group 4 ('/u01/app/oracle/oradata/JXXCDB/redo04.log') size 500M; alter database add logfile group 5 ('/u01/app/oracle/oradata/JXXCDB/redo05.log') size 500M; alter database add logfile group 6 ('/u01/app/oracle/oradata/JXXCDB/redo06.log') size 500M; alter database add logfile group 7 ('/u01/app/oracle/oradata/JXXCDB/redo07.log') size 500M; где, каталог – местоположение файлов '/u01/app/oracle/oradata/JXXCDB' подставить из результатов предыдущего запроса. 5. Создание БД (если не создана) Данный пункт инструкции в общем случае выполнять не нужно. Здесь приведено для описания возможности, с пояснением запускаемой команды. Необходимо запустить программу для работы с графическими приложениями удаленного сервера (Xming). Программ запускается и помещается в трей. Далее, запустить программу для подключения и управления удаленным сервером (PuTTY) под пользователем oracle. Выполнить команду: dbca Запустится Database Configuration Assistant. 6. Конфигурирование прослушивающего процесса (LISTNER) Необходимо запустить программу для работы с графическими приложениями удаленного сервера (Xming). Программ запускается и помещается в трей. Далее, запустить программу для подключения и управления удаленным сервером (PuTTY). Выполнить команду: netca Запустится Net Configuration Assistant. При отсутствии настроенного Listner'a, выполнить его создание и настройку согласно Руководству по установке и обновлению АИС «Юстиция». Ссылка для скачивания: http://www.just.kopr.ru/doc/just/just_admin_manual.doc 7. Создание табличных пространств для АИС Юстиция Если БД уже была создана при поставке оборудования ранее (без выполнения пункта 5), необходимо создать табличные пространства, которые использует АИС «Юстиция». Проверка наличия и размеров табличных пространств. SELECT tablespace_name,file_name,bytes/1024/1024/1024 as "SIZE,GB" FROM dba_data_files; Если требуемые табличные пространства присутствуют, но каждое табличное пространство состоит из множества файлов вместо одного, рекомендуем пересоздать табл.пространства. Для этого необходимо удалить текущие табл.пространства: DROP TABLESPACE JUST_DATA INCLUDING CONTENTS AND DATAFILES; DROP TABLESPACE JUST_INDX INCLUDING CONTENTS AND DATAFILES; DROP TABLESPACE HED_DATA INCLUDING CONTENTS AND DATAFILES; DROP TABLESPACE HED_INDX INCLUDING CONTENTS AND DATAFILES; И создать их заново, как описано ниже. Комплектация поставленного оборудования и наличие СХД (система хранения данных) позволяет использовать табличные пространства типа BIGDATA (одним большим файлом), в отличии от рекомендаций ранее. В PL/SQL Developer в командном окне выполнить следующие команды: CREATE BIGFILE TABLESPACE JUST_DATA DATAFILE '/u01/app/oradata/JCDB/just_data.dbf' SIZE 200G AUTOEXTEND ON NEXT 10G MAXSIZE UNLIMITED LOGGING PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON; CREATE BIGFILE TABLESPACE JUST_INDX DATAFILE '/u01/app/oradata/JCDB/just_indx.dbf' SIZE 50G AUTOEXTEND ON NEXT 10G MAXSIZE UNLIMITED LOGGING PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON; Табличные пространства для ХЭД: CREATE BIGFILE TABLESPACE HED_DATA DATAFILE '/u01/app/oradata/JCDB/hed_data.dbf' SIZE 300G AUTOEXTEND ON NEXT 10G MAXSIZE UNLIMITED LOGGING PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON; CREATE TABLESPACE HED_INDX DATAFILE '/u01/app/oradata/JCDB/hed_indx.dbf' SIZE 5G AUTOEXTEND ON NEXT 5G EXTENT MANAGEMENT LOCAL BLOCKSIZE 8K; где, путь «/u01/app/oradata/JCDB/» требуется заменить на каталог нахождения файлов табличных пространств в вашей системе. начальный размер табличного пространства (параметр SIZE) изменить на предполагаемый размер. 8. Импорт схемы ЦА на новом Linux-сервере После проверки (создания) базы данных необходимо выполнить действия, описанные ниже. Запуск команд можно выполнять как с рабочего места Windows, так и с консоли на Linux-сервере. 1) Запустить скрипт roles.sql sqlplus SYS/PASSWORD@SERVER as SYSDBA @roles.sql 2) Создать пользователя-владельца схемы. Также от имени пользователя SYS запустить сценарий create_user.sql sqlplus SYS/PASSWORD@SERVER as SYSDBA @create_user.sql DATA_CENTR DATA_CENTR_PAS Где параметры DATA_CENTR и DATA_CENTR_PAS являются именем нового пользователя-владельца схемы и его паролем. Внимание! Т.к. на основе перенесенной схемы БД ЦА на новом сервере будут выполнятся работы по созданию ЕБД, то рекомендуется имя пользователя-владельца схемы формировать вида Jxx_DATA_CENTR, где хх – код региона (например, J34_DATA_CENTR – Волгоградская область). 3) Создать пользователя-владельца схемы хранения электронных документов (ХЭД). Скрипт create_user_HED_CBD.sql (скрипт высылается по запросу) выполняется от имени владельца схемы ЕГРП, созданного в предыдущем пункте. Пример запуска скрипта из командной строки: sqlplus DATA_CENTR/DATA_CENTR_PAS@SERVER @create_user_HED_CBD.sql где: DATA_CENTR – имя пользователя, владельца схемы ЕБД; DATA_CENTR_PAS – пароль пользователя DATA_CENTR; SERVER – имя сервера Oracle; Дополнительных параметров запрошено не будет! 4) Создание Oracle-директории для импорта дампа: Необходимо создать новую Oracle-директорию на каталог /fileshare (описание работы с Oracleдиректориями см. в разделе 2.3 данной инструкции). Для этого выполнить команду: CREATE DIRECTORY FILESHARE AS '/fileshare'; 5) Импорт схемы данных. Импорт осуществляется от имени нового владельца схемы ЕГРП (в примере, DATA_CENTR). Пример запуска команды: IMPDP DATA_CENTR/DATA_CENTR_PAS@SERVER DIRECTORY=FILESHARE DUMPFILE=just.dmp SCHEMAS=JUST,OLD_HED REMAP_SCHEMA=JUST:DATA_CENTR,OLD_HED:HED REMAP_TABLESPACE=just_hed_data:HED_DATA, just_hed_indx:HED_INDX version=11.2.0.3.0 EXCLUDE=GRANT,USER,SYSTEM_GRANT LOGFILE=imp_dp.log где: DATA_CENTR/DATA_CENTR_PAS@SERVER – пользователь/пароль@сервер; DIRECTORY=FILESHARE – имя Oracle-директории, где находится файл дампа; DUMPFILE=just.dmp – имя файла дампа; SCHEMAS=JUST,OLD_HED – имя импортируемых схем (схема ЕГРП и схема ХЭД); REMAP_SCHEMA=JUST:DATA_CENTR,OLD_HED:HED – переопределение владельцев схем ЕГРП и ХЭД; Внимание! Новый владелец схемы ХЭД создаётся автоматически при выполнении скрипта create_user_HED_CBD.sql из п.3 данного раздела и жёстко задан именем HED. REMAP_TABLESPACE=just_hed_data:HED_DATA, just_hed_indx:HED_INDX – переопределение табличного пространства для ХЭД; где just_hed_data и just_hed_indx– имя табличного пространства используемое в исходной базе данных, HED_DATA и HED_INDX – табличное пространство, в которое выполняется импорт данных. Внимание! В п.7 данной инструкции указана команда создания табличных пространств для ХЭД. Имена заданы HED_DATA и HED_INDX. Если имена табличных пространств совпадают, параметр можно опустить. version=11.2.0.3.0 –параметр указывает в какой версии Oracle был сделан дамп; EXCLUDE=GRANT,USER,SYSTEM_GRANT – исключаемые из импорта объекты; LOGFILE=imp_dp.log – файл лога текущего импорта. 6) Запуск скрипта назначения привилегий на созданные роли sqlplus DATA_CENTR/DATA_CENTR@SERVER @role_grants.sql 7) Запуск скрипта соединения sqlplus DATA_CENTR/DATA_CENTR@SERVER @setup_connect.sql OLD_JUST где: OLD_JUST – имя предыдущего владельца схемы ЕГРП. В ходе выполнения будет запрошено значение параметра HED_NAME. Необходимо указать имя владельца схемы ХЭД – HED; Внимание! Новый владелец схемы ХЭД создаётся автоматически при выполнении скрипта create_user_HED_CBD.sql из п.3 данного раздела и жёстко задан именем HED. 9. Заключительные действия 9.1. Перемотка сиквенсов 1) Необходимо временно включить системный параметр SECURITY.DPC_IS_SCM = 1. 2) Открыть пункт «Сервис – Монопольный режим». Установить «монопольный режим». Появится пункт «Перемотка Sequences». 3) ОБЯЗАТЕЛЬНО установить системный параметр SECURITY.DPC_IS_SCM = 0. ВНИМАНИЕ! Обязательно требуется вернуть параметр SECURITY.DPC_IS_SCM значение 0. 9.2. Остальные настройки 1) Запустить скрипт по восстановлению ранее сохранённых Oracle-пользователей сделанных в пункте 2.2 данной инструкции. 2) Проверить и при необходимости перенастроить папки, указанные в системных параметрах: COMM_IN, COMM_OUT, COMM_IN_UNC, COMM_OUT_UNC, COMM_XSD, VIEW_XSL, IMG_PATH_INST и т.д. Подробно о настройке см. «Руководство по работе при оказании государственных услуг в электронном виде». Ссылка для скачивания: http://www.just.kopr.ru/doc/just/just_goverments_manual.doc 3) 4) 5) 6) 7) При создании каталогов на сервере необходимо добавлять соответствующие права пользователю oracle (см. п.3.1. данной инструкции). При создании каталогов на сервере и заполнении соответствующих системных параметров важно помнить о регистрозависимости ОС Linux. Перенастроить Агента МДР на новый сервер. По всем вопросам перенастройки МДР и Агента обращаться в службу поддержки МДР. Проверить прохождение пакетов в обе стороны. В случае возникновения ошибок, см. руководство по диагностированию ошибок, возникающих при настройке АИС Юстиция для оказания государственных услуг в электронном виде. Пересоздать буферные схемы: в утилите sqlplus под владельцем схемы ЕГРП запустить скрипт create_buff_scm.sql из каталога \Scripts.Add в обновлении АИС «Юстиция». Сформировать очередную реплику для ССД, передать на ССД, убедиться в успешном импорте реплики. Настроить клиентские приложения АИС «Юстиция» для подключения на новый сервер БД. По всем возникающим вопросам обращайтесь в службу технической поддержки. 10. Проверка установленного ПО на серверах Выполнить проверку установленного ПО на серверах ЕБД, согласно чек-листу: на сервере приложений, на терминальных серверах. Результат выслать на электронный адрес технической поддержки support@just.mail.ru