这是我的问题, 我正在练习如何在虚拟盒子上执行expdp和impdp。因此,我使用scott / tiger进行了expdp并导出了scott模式。但是,出于好奇,我从数据库中删除了Scott模式(希望在同一个数据库中执行impdp),然后遇到很多错误,并且从数据库中丢失了Scott模式。我可以从转储文件中恢复Scott模式吗? 更确切地说,这是我的步骤;
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”在19:13:31出现4个错误”
...然后我做了:
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
模式?
谢谢
答案 0 :(得分:0)
如果您发布了在步骤2中遇到的错误,那就太好了;也许它们无关紧要。
现在,当您放下Scott时,以特权用户(例如SYS)和 create 用户Scott进行连接。这是一个示例:
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
。