Ошибка во время экспорта файла дампа оракула с помощью sql developer Версия 18.1.0.095 Build 095.1630 - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу экспортировать файл дампа DDL в мою базу данных (база данных Oralce версии 11.2.0.4). Я создал пользователя и предоставил разрешение (sysdba). Я подключился к базе данных, используя пользователя выше, я выбираю View -> DBA -> Data Pump -> Data Pump Wizard -> выберите соединение выше -> и выдает ошибку «Cant use Data Pump as sys.». enter image description here

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Я нашел ответ на свой вопрос: - при входе в систему мы выбираем роль по умолчанию

enter image description here

  • Нам нужно предоставить разрешение DBA пользователю Пример:

    Предоставить dba для vinhhc_vsc;

0 голосов
/ 04 сентября 2018

Вот интересная вещь о SYS, он не может использовать SERIALIZABLE транзакции. Это также относится к пользователям, подключенным как SYSDBA. Узнать больше .

Уровень изоляции SERIALIZABLE означает, что все операторы в транзакции считываются согласованными. По умолчанию для Oracle используется READ COMMITTED, который применяется на уровне операторов. Разница заключается в следующем: если мы запустим select * from T1, а затем select * from T2 на уровне изоляции READ COMMITTED, то мы внесем любые изменения, зафиксированные в T2, пока мы запрашиваем T1. То есть наборы результатов для T1 и T2 являются согласованным набором записей, но мы могли бы увидеть разные результаты, если бы мы выполняли запросы наоборот. Принимая во внимание, что в SERIALIZABLE наборы результатов соответствуют началу транзакции. Не имеет значения, в каком порядке мы запрашиваем таблицы, результаты стабильны.

Вы можете понять, почему это важно для экспорта. Весь набор экспортируемых таблиц должен быть согласованным, чтобы гарантировать реляционную целостность последующего импорта. Мы не хотим экспортировать дочернюю таблицу с записями, которые зависят от записей, добавленных в родительскую таблицу после ее экспорта. (Старая утилита экспорта позволяла нам установить consistency=N - это действительно было по умолчанию! - но Data Pump защищает нас от нас самих).

Так вот почему мы не можем запускать экспорты как SYS или пользователи SYSDBA. К счастью, есть простое решение: отзовите SYSDBA от вашего пользователя и вместо этого предоставьте ему роли DATAPUMP_EXP_FULL_DATABASE и DATAPUMP_IMP_FULL_DATABASE. [Find out more][2].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...