Перейти к содержимому

Фотография

TD>Мигрируем базу ТД (инструкция для Oracle)


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 VLDCORP

VLDCORP

    Специалист

  • Members
  • PipPipPipPipPip
  • 684 сообщений
  • ФИО:Орликов Владислав Александрович
  • Город:Минск/Москва

Отправлено 06 октября 2006 - 10:27

Для миграции базы данных Test Director с одного сервера БД Oracle на другой необходимо выполнить следующие шаги:
1. Создаем табличные пространства на новом сервере БД
CREATE TABLESPACE TESTDIRECTOR_DATASPACE
DATAFILE 'С:\oracle\TestDirector\TESTDIRECTOR_DATASPACE.DAT.dat' SIZE 100M AUTOEXTEND ON MAXSIZE 1000M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT MANUAL;

CREATE TEMPORARY TABLESPACE TESTDIRECTOR_TEMPSPACE
TEMPFILE 'С:\oracle\TestDirector\TESTDIRECTOR_TEMPSPACE.DAT' SIZE 100M AUTOEXTEND ON MAXSIZE 1000M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT MANUAL;

2. Создаем схемы.
Список схем можно получить в Site Administrator.
а) Откройте на закладку Projects (по умолчанию именно она и открыта).
б) Раскройте все домены
в) Встаньте на проект и справа посмотрите значение в поле Database Name, это и есть название схемы которую надо копировать.
Принцип формирования имени схемы:
<Название домена>_<Название проекта>_db
Список схем можно посмотреть зайдя под sys в старую базу Oracle из которой будет проводиться копирование.

Для создания схем можно написать SQL скрипт в котором будет следующее:

create user НАЗВАНИЕ_СХЕМЫ identified by ПАРОЛЬ_К_СХЕМЕ default tablespace TESTDIRECTOR_DATASPACE temporary tablespace TESTDIRECTOR_TEMPSPACE profile DEFAULT quota unlimited on testdirector_dataspace quota unlimited on testdirector_tempspace;

Таких строк может быть несколько, в зависимости от количества схем.

Во время установки Test Director`а вы создавали административного пользователя (условно назовем TESTDIR). Создание его также надо добавить в скрипт:
create user TESTDIR identified by ПАРОЛЬ_АДМИНИСТРАТИВНОГО_ПОЛЬЗОВАТЕЛЯ default tablespace USERS temporary tablespace TEMP profile DEFAULT;

Дальше раздача слонов, т.е. грантов для административного пользователя:

grant select on DBA_FREE_SPACE to TESTDIR;
grant select on DBA_TABLESPACES to TESTDIR;
grant select on V_$INSTANCE to TESTDIR;

-- Grant/Revoke role privileges
grant connect to TESTDIR;
grant resource to TESTDIR;

-- Grant/Revoke system privileges
grant alter user to TESTDIR;
grant create session to TESTDIR with admin option;
grant create table to TESTDIR with admin option;
grant create user to TESTDIR;
grant create view to TESTDIR with admin option;
grant drop user to TESTDIR;
grant unlimited tablespace to TESTDIR;

Теперь раздача грантов на остальные схемы:
grant create session to НАЗВАНИЕ_СХЕМЫ;
grant create table to НАЗВАНИЕ_СХЕМЫ;
grant create view to НАЗВАНИЕ_СХЕМЫ;

Данный блок грантов идет на одну схему. Т.е. в примере выше НАЗВАНИЕ_СХЕМЫ совпадает.

Повторите создание грантов для остальных схем.

Итого, в скрипте должно быть:
а) создание схем
б) создание схемы административного пользователя
в) раздача грантов административному пользователю
г) раздача грантов остальным схемам.

3. Экспортируем данные из старой БД
Для этого воспользуемся утилитой Oracle "exp.exe".
В bat файле пишем:

exp.exe 'sys/ПАРОЛЬ_SYS@НАЗВАНИЕ_СТАРОЙ_БД as sysdba' FILE=НАЗВАНИЕ_СХЕМЫ.dmp LOG=НАЗВАНИЕ_СХЕМЫ_exp.LOG OWNER=НАЗВАНИЕ_СХЕМЫ INDEXES=Y

Повторите такие строки для всех схем, в том числе для схемы административного пользователя.

Запускаете bat файл и идете курить. Выгрузка данных дело не быстрое.

По окончанию выгрузки обязательно проверьте LOG файлы с суффиксом exp. Если что-то сделали неправильно, Вы обязательно это увидите.
Рекомендую сразу это исправить прежде чем приступать к следующему шагу.

4. Импортируем данные в новую БД
Для импорта воспользуемся утилитой Oracle "imp.exe".
В bat файле пишем:
imp.exe 'sys/ПАРОЛЬ_SYS@НАЗВАНИЕ_НОВОЙ_БД as sysdba' FILE=НАЗВАНИЕ_СХЕМЫ.dmp LOG=НАЗВАНИЕ_СХЕМЫ_imp.LOG fromuser=НАЗВАНИЕ_СХЕМЫ touser=НАЗВАНИЕ_СХЕМЫ

Повторите такие строки для всех схем, в том числе для схемы административного пользователя.

Запускаете bat файл и снова идете курить. Импорт данных дело тоже не быстрое.

По окончанию выгрузки обязательно проверьте LOG файлы с суффиксом imp.
Если были ошибки их нужно исправить. Иначе потеряете данные.

5. Прописываем новую БД в tnsnames.ora
Для того, чтобы появился доступ к новой БД, необходимо прописать новую БД в файле tnsnames.ora клиента Oracle на машине, где установлена серверная часть Test Director.
IP адрес машины можно увидеть встав на домен на закладке Projects в Site Administrator.


Типовое расположение файла tnsnames.ora:
C:\oracle\ora92\network\admin\

Находим в файле строки похожие на следующие (тут уже вам самим должно быть ведомо как вы сервер БД обозвали во время установки. В крайнем случае можно посмотреть став на проект на закладке Projects в Site Administrator):

TDORASERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP_АДРЕС_СТАРОГО_СЕРВЕРА_БД)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TDIR)
)
)

меняем в нем IP_АДРЕС_СТАРОГО_СЕРВЕРА_БД на IP_АДРЕС_НОВОГО_СЕРВЕРА_БД


Вот собственно и все, теперь Test Director работает с новой базой.

Надеюсь моя инструкция была кому то полезна.
  • 0
Владислав Орликов
ООО "Лаборатория тестирования"
http://www.sqalab.ru


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных