Поделиться через


Подключение к базе данных Oracle (OracleToSQL)

Чтобы перенести базы данных Oracle в SQL Server, необходимо подключиться к базе данных Oracle, которую требуется перенести. При подключении Помощник по миграции SQL Server (SSMA) получает метаданные обо всех схемах Oracle, а затем отображает его в области обозревателя метаданных Oracle. SSMA хранит сведения о сервере базы данных, но не сохраняет пароли.

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

Метаданные базы данных Oracle не обновляются автоматически. Вместо этого, если вы хотите обновить метаданные в обозревателе метаданных Oracle, необходимо вручную обновить его. Дополнительные сведения см. в разделе об обновлении метаданных Oracle в этой статье.

Необходимые разрешения Oracle

Как минимум, учетная запись, используемая для подключения к базе данных Oracle, должна иметь следующие разрешения:

Разрешение Description
CONNECT Требуется для подключения (создания сеанса) к базе данных.
SELECT ANY DICTIONARY Требуется для запроса системных таблиц словарей (например, SYS.MLOG$) для обнаружения всех объектов.

Это позволяет SSMA загружать все объекты в схеме, принадлежащей подключаемого пользователя. В большинстве реальных сценариев существуют перекрестные ссылки на схемы между хранимыми процедурами, и SSMA необходимо иметь возможность обнаруживать все объекты, на которые ссылается ссылка для успешного преобразования. Чтобы получить метаданные для объектов, определенных в других схемах, учетная запись должна иметь следующие дополнительные разрешения:

Разрешение Description
SELECT ANY TABLE Требуется для обнаружения таблиц, представлений, материализованных представлений и синонимов в других схемах.
SELECT ANY SEQUENCE Требуется для обнаружения последовательностей в других схемах.
CREATE ANY PROCEDURE Требуется для обнаружения PL/SQL для процедур, функций и пакетов в других схемах.
CREATE ANY TRIGGER Требуется для обнаружения определений триггеров в других схемах.
CREATE ANY TYPE Требуется для обнаружения типов, определенных в других схемах.

Для некоторых функций SSMA требуются дополнительные разрешения. Например, если вы хотите использовать функции тестирования перенесенных объектов баз данных (OracleToSQL) и управления резервными копиями (OracleToSQL), необходимо предоставить пользователю, подключающегося, следующие разрешения:

Разрешение Description
EXECUTE ANY PROCEDURE Требуется для выполнения процедур и функций, которые вы хотите протестировать во всех схемах.
CREATE ANY TABLE и ALTER ANY TABLE. Требуется для создания и изменения временных таблиц для отслеживания изменений и резервных копий.
INSERT ANY TABLE и UPDATE ANY TABLE. Требуется вставить данные отслеживания изменений и резервного копирования во временные таблицы.
DROP ANY TABLE Требуется удалить временные таблицы, используемые для отслеживания изменений и резервного копирования.
CREATE ANY INDEX и ALTER ANY INDEX. Требуется для создания и изменения индексов во временных таблицах, используемых для отслеживания изменений и резервного копирования.
DROP ANY INDEX Требуется удалить индексы во временных таблицах, используемых для отслеживания изменений и резервного копирования.
CREATE ANY TRIGGER и ALTER ANY TRIGGER. Требуется для создания и изменения временных триггеров, используемых для отслеживания изменений.
DROP ANY TRIGGER Требуется удалить временные триггеры, используемые для отслеживания изменений.

Это универсальный набор разрешений, необходимых для правильной работы SSMA. Если вы хотите сузить область миграции в подмножество схем, можно сделать это, предоставив выше разрешения ограниченному набору объектов, а не ALL. Хотя это возможно, может быть трудно правильно определить все зависимости, тем самым предотвращая правильное функционирование SSMA. Настоятельно рекомендуется придерживаться универсального набора, как определено ранее, для устранения потенциальных проблем с разрешениями во время миграции.

Установка подключения к Oracle

При подключении к базе данных SSMA считывает метаданные базы данных, а затем добавляет эти метаданные в файл проекта. Эти метаданные используются SSMA при преобразовании объектов в синтаксис SQL Server и при переносе данных в SQL Server. Эти метаданные можно просмотреть в области обозревателя метаданных Oracle и просмотреть свойства отдельных объектов базы данных.

Внимание

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

Соединение с Oracle

  1. В меню "Файл" выберите "Подключиться к Oracle".

    Если вы ранее подключились к Oracle, имя команды — reconnect to Oracle.

  2. В поле "Поставщик" выберите поставщика клиентов Oracle или поставщик OLE DB в зависимости от того, какой поставщик установлен. По умолчанию используется клиент Oracle.

  3. В поле "Режим" выберите стандартный режим, режим TNSNAME или режим строки подключения.

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

  4. Если выбрать стандартный режим, укажите следующие значения:

    1. В поле имени сервера введите или выберите имя или IP-адрес сервера базы данных.

    2. Если сервер базы данных не настроен на прием подключений к порту по умолчанию (1521), введите номер порта, используемый для подключений Oracle в поле порта сервера.

    3. В поле безопасности Oracle введите системный идентификатор.

    4. В поле имени пользователя введите учетную запись Oracle с необходимыми разрешениями.

    5. В поле "Пароль" введите пароль для указанного имени пользователя.

  5. Если выбран режим TNSNAME, укажите следующие значения:

    1. В поле "Идентификатор подключения" введите идентификатор подключения (псевдоним TNS) базы данных.
    2. В поле имени пользователя введите учетную запись Oracle с необходимыми разрешениями.
    3. В поле "Пароль" введите пароль для указанного имени пользователя.
  6. Если выбрать режим строки подключения, укажите строка подключения в поле строки подключения.

    В следующем примере показана строка подключения OLE DB:

    Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;

    В следующем примере показан строка подключения клиента Oracle, использующего встроенную безопасность:

    Data Source=MyOracleDB;Integrated Security=yes;

    Дополнительные сведения см. в статье Connect to Oracle (OracleToSQL).

Повторное подключение к Oracle

Подключение к серверу базы данных остается активным, пока не закроете проект. При повторном открытии проекта необходимо повторно подключиться, если требуется активное подключение к базе данных. Вы можете работать в автономном режиме, пока не нужно обновлять метаданные, загружать объекты базы данных в SQL Server и переносить данные.

Обновление метаданных Oracle

Метаданные базы данных Oracle не обновляются автоматически. Метаданные в обозревателе метаданных Oracle — это моментальный снимок метаданных при первом подключении или при последнем обновлении метаданных вручную. Можно вручную обновить метаданные для всех схем, одной схемы или отдельных объектов базы данных.

  1. Убедитесь, что вы подключены к базе данных.

  2. В обозревателе метаданных Oracle установите флажок рядом с каждой схемой или объектом базы данных, которые требуется обновить.

  3. Щелкните правой кнопкой мыши схемы или отдельный объект схемы или базы данных, а затем выберите "Обновить из базы данных". Если у вас нет активного подключения, SSMA отображает диалоговое окно Connect to Oracle , чтобы подключиться.

  4. В диалоговом окне "Обновить из базы данных" укажите, какие объекты нужно обновить.

    • Чтобы обновить объект, выберите активное поле рядом с объектом, пока не появится стрелка.
    • Чтобы предотвратить обновление объекта, выберите активное поле рядом с объектом, пока не появится X.
    • Чтобы обновить или отклонить категорию объектов, выберите активное поле рядом с папкой категории.

    Чтобы просмотреть определения цветового кода, нажмите кнопку "Условные обозначения ".

  5. Нажмите ОК.