假如:
Oracle 用户限制-->只能用cxdb
表空间 限制-->只能用farmdoab
目录-->自己创建,目录名随意
文件名:CXDB518.DMP
----------------------------------------
首要工作:打开CMD命令窗口,sqlplus,输入用户名:system 密码:
第一步:创建表空间
create tablespace farmdoab datafile 'D:dzzwpt.dbf' size 100M autoextend on next 50m;
第二步:创建目录
create or replace directory dp_dir as 'C: ockup';
PS:把要导入的DMP文件放入目录下。
第三步:创建用户,并指定默认的表空间
create user cxdb identified by root default tablespace farmdoab;
--》》(删除用户:drop user iteye cascade;)
第四步:授权
4.1:授权dba权限:grant connect, dba to cxdb;
4.2:授权用户cxdb读写目录文件: grant read, write on directory dp_dir to cxdb;
第五步:导入DMP文件
impdp cxdb/root@orcl directory=dp_dir dumpfile=cxdb518.dmp logfile=emp.log full=y;
PS:lodfile可以不加,不加系统自动创建。
----------------警示:这样并不一定就OK了,报错是常事,把心静下来解决--------------------------------------------
注意事项:
1.要确定这个.DMP文件是expdp导出的还是exp导出的,exp导出的文件上面导入方法不好使
2.要确定导出的数据库版本和自己的数据库版本是否相同或不同,低版本到高版本+version=你的数据库版本
3.一定把要导入的DMP文件放入要导入的目录下,不然系统找不到
4.导入DMP文件的dumpfile的路径直接写文件名字.DMP。因为前面目录directory已有
5.就这么多,以后找到问题再补充
-----------------------------基于上面文件的查询sql语句------------------------------------------
1.查询表空间
1.1 查所有表空间
select * from dba_tablespacer t;
1.2 只查表空间名称:
select tablespace_name from dba_tablespaces;
也可以进Oracle点击TABLESPACE里面看。
2.查询目录
select * from dba_directories;
也可以进Oracle点击DIRECTORY里面看.点击右键properties可以看到目录路径
3.查看当前数据库版本号
select * from v$version;