用PLSQL创建新用户及导入dmp

ε祈祈猫儿з 提交于 2019-12-15 18:56:02

1、创建表空间

在导入dmp文件之前,你要在数据库里面给它分配一片存储它的地方(表空间)。

如果我们知道需要导入的数据库的表空间直接创建就可以,如果不不知道,也没有关系,我们可以用txt打开dmp文件,使用快捷键ctrl+F,查找tablespace,就可以找到这个dmp文件所对应数据库的表空间,然后创建我们找到的表空间就可以。

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

PS:datafile路径为oracle数据库安装对应的目录,为方便查看将表空间的文件设置为表空间的名字。

2、创建用户

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

第一步:选择New。

这里写图片描述

第二步:选择User。

这里写图片描述

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

这里写图片描述

第四步:点选Role Privileges标签。Role选择connect,勾选“Default”。

这里写图片描述
第五步:点选System Privileges标签。选择“create any table”、“create any type”、“create any sequence”,右侧不勾选。

这里写图片描述

第六步:点选Quotas标签。tablespace中选择“users”表空间,勾选“Unlimited”(无限权限)。

这里写图片描述

第七步:“Apply”之后,即可用此用户以普通用户(Normal)的身份登录了。

3、导入dmp

建议使用命令行进行导入,避免使用PLSQL的各种灵异问题。

比如:
1、导入的时候一闪而过,显示导入成功,但数据库里找不到任何数据。
2、选择From User、To User时显示“Not logged on”问题。
所以,在最后附上命令行的导入方式。可以跳过使用PLSQL导入,直接看命令行导入方式

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

这里写图片描述

可以看到新创建的用户有表空间CDP

这里写图片描述

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

附:命令行导入方式

注意:1、导入前同样需要创建表空间。2、设置表空间的自动增长(否则导入数据大于表空间的存储量会导入失败)。

1、设置表空间自动增长(其中路径为表空间的路径)
ALTER DATABASE DATAFILE 'D:\app\1234\oradata\orcl\CDP.DBF' AUTOEXTEND ON;//打开自动增长

ALTER DATABASE DATAFILE 'D:\app\1234\oradata\orcl\CDP.DBF' AUTOEXTEND ON NEXT 200M ;//每次自动增长200m

ALTER DATABASE DATAFILE 'D:\app\1234\oradata\orcl\CDP.DBF' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次自动增长200m,数据表最大不超过1G
2、导入dmp文件

注意:此语句要使用Windows自带的命令行,不要使用oracle的SQL Plus

imp root/root@orcl file=E:\CDP\cdpnew_20160706\backup\oracle11g_dmp\cdp\cdpnew_20160706.dmp full=y 

1、创建表空间

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!