Перемещение базы данных системы Галактика ERP в другой экземпляр базы данных Oracle Назад В начало Вперед

Для перемещения базы данных в другой экземпляр базы данных Oracle (instance) необходимо выполнить следующие действия (методика применима для системы с установленным обновлением Атлантис 5.4.23 и выше):

1) Выполнить настройку серверной и клиентских частей системы Галактика ERP на новый экземпляр базы данных Oracle:

 [Oracle]
DB_<имя схемы восстанавливаемой базы данных>= <Синоним (Alias) нового экземпляра БД Oracle>

Если имя схемы восстанавливаемой БД такое же, как и имя схемы исходной БД (рекомендуется), то для уже существующего параметра Oracle.DB_<имя схемы восстанавливаемой базы данных> нужно изменить значение на новое.

[Bases]
Serv1=<Синоним (Alias) нового экземпляра БД Oracle>

2) В экземпляре-источнике дать пользователю с именем схемы БД Галактики ERP права на создание сессии,

например:

	grant create session to TEST810;

3) Выполнить выгрузку данных из БД-источника:

- Присоединиться к экземпляру-источнику с правами DBA, например:

	connect sys/pass@DB03 as sysdba;

где DB03 пример имени синонима БД-источника, а pass - пароль пользователя SYS.

- Выполнить выгрузку пользователей и ролей, используя следующий скрипт:

- Выполнить выгрузку привилегий, используя следующий скрипт:

В приведенных скриптах конструкцию <ИМЯ СХЕМЫ> необходимо заменить именем схемы базы данных системы Галактика ERP, перемещаемой в другой экземпляр БД Oracle. В используемых в данном параграфе примерах <ИМЯ СХЕМЫ> = TEST810.

Проверить выходные файлы на отсутствие сообщений об ошибках.

Удалить из сформированных файлов USERS_AND_ROLES_<ИМЯ СХЕМЫ>.sql и PRIVS_<ИМЯ СХЕМЫ>.sql лишнюю информацию, оставив только строки вида:

create user ...

create role ...

grant ...

Поскольку количество выгружаемых привилегий велико, то для контроля результата последующего их импорта в БД-приемник в файл PRIVS_<ИМЯ СХЕМЫ>.sql рекомендуется добавить команду протоколирования хода выполнения операций, например:

В начало файла добавить строку

spool C:\Move_bd\PRIVS_<ИМЯ СХЕМЫ>.log

а в конец файла

spool off	 

exp.exe test810/test810@DB03 file=C:\Move_bd\TEST810.dmp log=C:\Move_bd\expTEST810.log owner=TEST810 buffer=10000000 consistent=y

где:

exp.exe - утилита экспорта

test810/test810@DB03 - пользователь (имя схемы БД), под которым следует запускать экспорт, DB03 - имя синонима БД-источника.

TEST810.dmp - имя файла для дампа данных

expTEST810.log - файл протокола с результатами экспорта

owner=TEST810 - пользователь- владелец схемы

consistent=y - параметр экспорта, необходимый для согласования данных при работающих пользователях в системе.

4) Создать экземпляр БД-приемник с такими же параметрами и табличными пространствами как у экземпляра БД-источника.

5) Выполнить подготовительные действия для импорта данных:

connect sys/pass@DB07 as sysdba;

где DB07 пример имени синонима БД-приемника, а pass - пароль пользователя SYS.

@C:\Move_BD\USERS_AND_ROLES_<ИМЯ СХЕМЫ>.sql;

6) В экземпляре-приемнике дать пользователю с именем схемы БД Галактики ERP права на создание сессии и права DBA:

	grant create session to <ИМЯ СХЕМЫ>;
	grant DBA to <ИМЯ СХЕМЫ>;

7) Выполнить импорт данных при помощи утилиты imp.exe. Пример командной строки:

imp.exe TEST810/TEST810@DB07 file=C:\Move_bd\TEST810.dmp full=y ignore=y buffer=10000000 grants=n commit=y log=C:\Move_bd\imp_TEST810.log; 

8) Импортировать выгруженные в п.3 привилегии. Для этого необходимо выполнить полученный в п.3 скрипт PRIVS_<ИМЯ СХЕМЫ>.sql. Например:

@C:\Move_BD\PRIVS_TEST810.sql;

9) В экземпляре-источнике удалить у пользователя с именем схемы БД системы Галактика ERP права на создание сессии, например:

	revoke create session from TEST810;

10) В экземпляре-приемнике удалить у пользователя с именем схемы БД системы Галактика ERP права на создание сессии и права DBA, например:

	revoke create session from TEST810;
	revoke DBA from TEST810;

11) Войти в комплекс Support под администратором системы распределения прав доступа (Права доступа). Запуск Support в этом режиме может быть выполнен с использованием параметров командной строки /u: и /#user:, например:

start D:\support\exe\support.exe /u:supervisor /#user:supervisor 

Если используется БД с настроенной филиальностью, то при входе в комплекс необходимо в окне =Выбор текущих филиалов= выбрать любой из имеющихся филиалов.

Выполнить в модуле Восстановление БД (меню Сервис-> База данных -> Проверка таблиц БД) проверку таблиц в режиме исправления с включенными опциями :

Проверка служебных объектов (StoredProcs=on)

Проверка пользователей и прав (UsersAndRights=on)

Все таблицы

Данная операция может быть выполнена также с помощью самостоятельного запуска утилиты проверки БД chkora9.exe или chkora.exe.

12) Войти в систему Галактика ERP и проверить работоспособность на новой базе данных.