本地Oracle11g数据库中导入dmp文件

时间:2024-02-22 13:44:45
本地的oracle11g导入dmp文件
1、dmp文件中是否含有用户,若含有,则不需要新建用户,dmp文件中是否有指定的表空间名字,若有,则新建表空间(大小适当),sql如下:(可以在plsql中创建)
create tablespace 表空间名字 datafile \'表空间位置/表空间名字.dbf\' size 大小M 
autoextend on next 10M maxsize 最大M;
创建完之后,可以查询表空间大小与使用率,剩余空间:
select
  b.file_name 物理文件名
  b.tablespace_name 表空间,
  b.bytes/1024/1024 大小M,
  (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,
  substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
  from dba_free_space a,dba_data_files b
  where a.file_id=b.file_i
  group by b.tablespace_name,b.file_name,b.bytes
  order by b.tablespace_name
2、创建目录文件:
这可以在命令提示框中执行,cmd>sqlplus /nolog>conn /as sysdba>输入语句
create or replace directory DUMP_DIR as \'F:\app\hmp\admin\orcl\dpdump\';(创建目录)
grant read,write on directory DUMP_DIR to SYSTEM;(将此目录给用户授权)
3、将dmp文件放置到F:\app\hmp\admin\orcl\dpdump目录下,并且在该目录下cmd打开命令提示窗,输入导入语句:
impdp system/用户密码 directory=DUMP_DIR dumpfile=arms20190102.dmp FULL=y;
注意:
在此语句中不能包含路径,dumpfile后不能写路径,这也是为什么将dmp文件放到DUMP_DI目 录的路径下;执行的用户一定要是目录授权的用户!dmp文件看是那种方式导出的,选择是imp或者impdp方式导入;impdp 用户/密码@127.0.0.1/orcl,有时需要加上这个 。