"Как восстановить схему, отброшенную после EXPDP, не делая impdp?
Вот моя проблема, я занимался, как выполнить expdp и impdp на виртуальной коробке. Так что я сделал expdp со Скоттом / тигром и экспортировал схему Скотта. Однако из любопытства я удалил схему Скотта из базы данных (ожидая выполнения impdp в той же базе данных), затем получил много ошибок и потерял схему Скотта из базы данных. Могу ли я восстановить схему Скотта из файла дампа? Чтобы быть более точным, это были мои шаги;
expdp scott/tiger schemas=scott directory=test_dir dumpfile=scott.dmp logfile=expdpscott.log
impdp scott/tiger schemas=scott directory=test_dir dumpfile=scott.dmp logfile=impdpscott.log
,,, тогда я получил это:Задание "SCOTT"."SYS_IMPORT_SCHEMA_01" выполнено с 4 ошибками в 19:13:31 "
... тогда я сделал:
drop user Scott cascade;
а потом
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
снова.