小宅君

导航

PLSQL导入dmp文件完整步骤(附图)

导入dmp文件分为三大步:创建表空间、创建用户、导入dmp文件

一、创建表空间:

点击new,新建一个sql window

 语句为:

create tablespace "表空间名" datafile 'D:\app\*****\oradata\orcl\表空间名.dbf' size 50M default storage (initial 500K Next 500K minextents 1 maxextents unlimited pctincrease 0);

如:

create tablespace CDP datafile 'D:\app\LBD\virtual\oradata\orcl\CDP.dbf' size 2000M;

其中,CDP代表表空间名字,datafile后面的目录地址代表本地ORACLE的安装目录,为方便查看我这里将表空间的文件名设置为表空间的名字。

运行之后我们就能看到自己的表空间啦

这一步的常见报错有:

ora-01119错误  原因:该错误的主要问题是在于创建表空间的文件目录地址没有指定正确。

ORACLE-01537错误  原因:表空间'CDP'或者文件名'CDP.dbf'已经被使用。

 

二、创建用户

 

使用数据库 dba 用户创建用户并赋予相应的导入导出等权限。

 

1.选择new--user

 

 

 2.点选General标签。选择第一步创建的表空间,并填写用户名密码

 

 

 

 

 3.点选Role Privileges标签。Role选择connect,勾选“Default”

 

 

 

 

 4.点选System Privileges标签。选择“create any table”“create any type”“create any sequence”,右侧不勾选。

 

 

 

 

 5.点选Quotas标签。tablespace中选择“users”表空间,勾选“Unlimited”(无限权限)。

 

 

 6.点击APPLY。退出plsql重新登陆。到这里,我们就可以使用刚刚创建的用户以普通用户(Normal)的身份登录了

 

 

 

三、导入dmp文件

 

导入dmp文件有两种方式:1使用plsql导入;2用命令行导入。

 

*应尽量避免使用plsql进行导入,因为会出现很多会产生各种灵异问题。比如:1)导入的时候一闪而过,显示导入成功,但数据库里找不到任何数据。2)选择From UserTo User时显示“Not logged on”问题。

 

1plsql导入简介(避免使用)

 

第一步:使用创建的用户登录

 

第三步:选择tools(工具)菜单下的import tables..(导入表);
第四步:在oracle import选项卡界面勾选相应的选项;
第五步:选择buffer size(缓冲池大小);
第六步:填写from user导出dmp文件的用户;
第七步:填写to user导入dmp文件的用户,即当前登录的用户;
第八步:import executable选择默认;
第九步:选择dmp文件;
第十步:import(导入)。

 

2Windows自带的命令行导入:

 

导入前注意:

 

1、导入前同样需要创建表空间。

 

2、设置表空间的自动增长(否则导入数据大于表空间的存储量会导入失败)。

 

 

 

设置表空间:

 

ALTER DATABASE DATAFILE ' F:\app\root\oradata\orcl\HF_PMC_NEW.dbf ' AUTOEXTEND ON;//打开自动增长 

 

ALTER DATABASE DATAFILE ' F:\app\root\oradata\orcl\HF_PMC_NEW.dbf ' AUTOEXTEND ON NEXT 200M ;//每次自动增长200m

 

ALTER DATABASE DATAFILE ' F:\app\root\oradata\orcl\HF_PMC_NEW.dbf ' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次自动增长200m,数据表最大不超过1G

 

 

 

给用户赋予dba权限:

 

1, plsql上用有dba权限的账号登录;

 

2, 运行GRANT DBA TO MYCDP;

 

 

 

导入dmp命令行:

*注意要用windows自带的命令行导入(win+r

1

imp system/123@127.0.0.1:1521/orcl file=C:\pmc20190722.dmp log=D:\test.log fromuser=root touser=system constraints=N ignore=y

2

imp MYCDP/MYCDP@ORCL file=D:\umecmycim20200425.dmp full=y;

这一步的常见报错有:

IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件。  原因:没有给创建的用户赋权限 ,要用超级管理员账号登陆, 运行GRANT DBA TO MYCDP;赋予dba权限之后才可以导入。

IMP-00002: 无法打开 C:\****.dmp进行读取 。   原因:检查sql语句最后是不是少了分号“;”,或者没有加: full=y,这些都会引起无法读取。

IMP-00034:警告:在导出文件中未找到FromUser"root "

注意: 导出时的账号是什么,导进去的账号是什么。注意设置,最好一致!

 

posted on 2020-07-07 17:55  小宅君  阅读(18733)  评论(0编辑  收藏  举报