用 PLSQL 创建新用户及导入 dmp

一、创建表空间

在导入 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); 

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

二、创建用户

使用数据库 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)的身份登录了。

三、导入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:\app34\oradata\orcl\cdp.dbf' autoextend on;//打开自动增长

alter database datafile 'd:\app34\oradata\orcl\cdp.dbf' autoextend on next 200m ;//每次自动增长200m

alter database datafile 'd:\app34\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 
(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐