"Как восстановить схему, отброшенную после EXPDP, не делая impdp?

Вот моя проблема, я занимался, как выполнить 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 ответ

Было бы хорошо, если бы вы опубликовали, какие ошибки вы получили на шаге 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 снова.

Другие вопросы по тегам