1、表空间和原来的表空间命名一样
2、用户和原来的用户名一样
3、导入顺序:在cmd中导入
**3.1打开sql
sqlplus / as sysdba
**3.2 创建表空间
create tablespace ebid datafile 'E:\orcaldata\ebid.DBF' size 50m autoextend on;
** 3.3创建用户
create user ebid identified by 000000 default tablespace ebid temporary tablespace temp;
**3.4 给ebid用户赋权限
grant connect to ebid;
grant resource to ebid;
grant dba to ebid;
** 3.5 创建目录信息
create or replace directory data as 'D:\orcaldata';
grant read,write on directory data to ebid;
** 3.6 导入数据:remap_schema=原用户名:新用户名, REMAP_TABLESPACE=原空间名:新空间名
impdp ebid/000000@127.0.0.1:1521/orcl_db directory=data dumpfile=tmproject.dmp FULL=y remap_schema=ebid:ebid REMAP_TABLESPACE=ebid:ebid;
扩展、
4、一个用户如何使用多个表空间: grant resource to ebid;
只能设置一个default tablespace,但是有一个角色叫做resource,如果将这个角色授予了用户,用户默认就有了一个unlimited tablespace权限,拥有这个权限的用户将无限使用表空间,即可以使用任意表空间。比如创建表的时候,不指定tablespace默认将该表放在default tablespace里面。如果加入tablespace参数 ,就存放在指定的表空间。表空间是公共区域,大家都能用的
5、导入提示:ORA-00959: 表空间 'EBID_SPACE' 不存在
ORA-00959: 表空间 'EBID_SPACE' 不存在
解决办法:创建不存在表空间
create tablespace ebid_space datafile 'E:\orcaldata\ebid_space.DBF' size 50m autoextend on;
6、imp导入:一个文件中包含多张表
步骤和上面一样,不一样的是这个命令,不需要加具体的ip信息
imp user/密码 BUFFER=64000 file=dmp文件名 FROMUSER=原用户名 TOUSER=新用户名 ignore=y;
imp guotu/000000 BUFFER=64000 file=D:\orcaldata\bf20190705.dmp FROMUSER=GGZY3 TOUSER=guotu ignore=y full = y;
二、导入文件
打开cmd
1、登录:sqlplus / as sysdba
2、删除用户:drop user orcl cascade;
3、创建用户和密码:create user orcl identified by orcl account unlock;
4、授权:grant connect,dba,imp_full_database to orcl;
5、导入文件E:\fuzhou2019_12_25\fz_cq_20180620030001.dmp: imp orcl/orcl@127.0.0.1:1521/orcl_db full=yes file=E:\fuzhou2019_12_25\fz_cq_20180620030001.dmp