百度整理如下
/*分为7步 */
/*第1步:创建临时表空间(注意:D:\Project\OracleTableSpace\FHADMIN\ 手动创建路径) */
create temporary tablespace C##FHADMIN_TEMP tempfile 'D:\Project\OracleTableSpace\FHADMIN\C##FHADMIN_TEMP.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第2步:创建数据表空间 */
create tablespace C##FHADMIN_DATA
logging
datafile 'D:\Project\OracleTableSpace\FHADMIN\C##FHADMIN_DATA.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第3步:创建用户并指定表空间 密码是root */
create user C##FHADMIN identified by root default tablespace C##FHADMIN_DATA temporary tablespace C##FHADMIN_TEMP;
/*第4步:给用户授予权限 */
grant connect,resource,dba to C##FHADMIN;
第5步:创建目录
create or replace directory dp_dir as 'D:\test\';(手动创建)
PS:把要导入的DMP文件放入目录下。
第6步:授权用户cxdb读写目录文件
grant read, write on directory dp_dirC##FHADMIN;
第7步:导入DMP文件
impdp C##FHADMIN/root@orcl directory=dp_dir dumpfile=xx.dmp logfile=emp.log full=y;(在cmd执行)
PS:lodfile可以不加,不加系统自动创建。
-----------------------------基于上面文件的查询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;
------------------------------------------------------------
注意事项:
1.要确定这个.DMP文件是expdp导出的还是exp导出的,exp导出的文件上面导入方法不好使
2.要确定导出的数据库版本和自己的数据库版本是否相同或不同,低版本到高版本+version=你的数据库版本
3.一定把要导入的DMP文件放入要导入的目录下,不然系统找不到
4.导入DMP文件的dumpfile的路径直接写文件名字.DMP。因为前面目录directory已有
5.就这么多,以后找到问题再补充
-----------------------------------------过程所遇到的问题--------------------------------------
解决方案 查看目录是否存在,物理路径是否正确,改正即可