"Как восстановить схему, отброшенную после EXPDP, не делая impdp? - PullRequest
0 голосов
/ 01 февраля 2019

вот моя проблема, я занимался тем, как выполнить expdp и impdp на виртуальной коробке.Так что я сделал expdp со Скоттом / тигром и экспортировал схему Скотта.Однако из любопытства я удалил схему Скотта из базы данных (ожидая выполнения impdp в той же базе данных), затем получил много ошибок и потерял схему Скотта из базы данных.Могу ли я восстановить схему Скотта из файла дампа?Точнее, это были мои шаги:

  1. expdp scott/tiger schemas=scott directory=test_dir dumpfile=scott.dmp logfile=expdpscott.log

  2. impdp scott/tiger schemas=scott directory=test_dir dumpfile=scott.dmp logfile=impdpscott.log.,,тогда я получил это:

    Задание "SCOTT". "SYS_IMPORT_SCHEMA_01" завершено с 4 ошибками в 19:13:31 "

    ... тогда ясделал:

  3. drop user Scott cascade;

    , а затем

  4. impdp scott/tiger schemas=scott directory=test_dir dumpfile=scott.dmp logfile=impdpscott.log

тогда я получил эту ошибку:

UDI-01017: сгенерированная операция ошибка ORACLE 1017 ORA-01017: неверное имя пользователя / пароль; вход в систему запрещен

... сейчасЯ понял, что сделал глупость (что хорошо для ученика). Как мне вернуть или восстановить сброшенную схему scott? Заранее спасибо

1 Ответ

0 голосов
/ 01 февраля 2019

Было бы неплохо, если бы вы опубликовали, какие ошибки вы получили на шаге 2;возможно, они не имели значения.

Теперь, когда вы отбросили Скотта, подключитесь как привилегированный пользователь (такой как SYS) и создайте пользователя Скотта.Вот пример:

  • проверить список табличных пространств в вашей базе данных
  • создать пользователя
  • предоставить ему некоторые привилегии

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USER_DATA
APEX
APEX_9695076087226093

7 rows selected.

SQL> create user littlefoot identified by lion
  2    default tablespace user_data
  3    temporary tablespace temp
  4    profile default
  5    quota  unlimited on user_data;

User created.

SQL>
SQL> grant create session       to littlefoot;

Grant succeeded.

SQL> grant create table         to littlefoot;

Grant succeeded.

SQL> grant create procedure     to littlefoot;

Grant succeeded.

SQL> grant create sequence      to littlefoot;

Grant succeeded.

SQL> grant create view          to littlefoot;

Grant succeeded.

SQL> grant create trigger       to littlefoot;

Grant succeeded.

SQL>

Как только вы это сделаете, снова запустите IMPDP.

...