oracle数据泵还原会自动创建用户

A机器导出语句

expdp 许仙/123456@orcl_127.0.0.1 directory=data_pump_dir dumpfile=许仙.dmp schemas=许仙  logfile=许仙.log

 

备份拿到B机器还原语句

impdp 徐梦娇/[email protected]/orcl directory=DATA_PUMP_DIR dumpfile=许仙.DMP logfile=徐梦娇.log

 

还原完之后发现‘徐梦娇’这个用户下一个表都没有,但是Users下自动生成了‘许仙’这个用户,备份里的数据全部插入到了这个用户下

 

说明oracle数据泵还原,会自动生成导出时指定的schemas的用户

 

另:如果这时候在users下创建一个许仙用户,再执行还原语句,会报

ora-083097:数据泵作业出现意外的错误 -1950

ora01950 对表空间 无权限

等错误

如果在users下创建一个其他名字的用户,再执行还原语句,在还原日志里就会看到很多警告说表、视图等已存在。

 

附一个查看表空间的使用率的语句

SELECT a.tablespace_name "表空间名称",

       total / (1024 * 1024) "表空间大小(M)",

       free / (1024 * 1024) "表空间剩余大小(M)",

       (total - free) / (1024 * 1024) "表空间使用大小(M)",

       total / (1024 * 1024 * 1024) "表空间大小(G)",

       free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

       (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

       round((total - free) / total, 4) * 100||'%' "使用率 %"

  FROM (SELECT tablespace_name, SUM(bytes) free

          FROM dba_free_space

         GROUP BY tablespace_name) a,

       (SELECT tablespace_name, SUM(bytes) total

          FROM dba_data_files

         GROUP BY tablespace_name) b

 WHERE a.tablespace_name = b.tablespace_name

你可能感兴趣的:(database)