欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用 PLSQL 创建新用户及导入 dmp

程序员文章站 2022-07-02 18:07:08
一、创建表空间 在导入 dmp 文件之前,你要在数据库里面给它分配一片存储它的地方(表空间)。 如果我们知道需要导入的数据库的表空间直接创建就可以,如果不不知道,也没有关系,我们可以用 txt 打开 dmp 文件,使用快捷键 Ctrl+F,查找 tablespace,就可以找到这个 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。

用 PLSQL 创建新用户及导入 dmp

第二步:选择user。

用 PLSQL 创建新用户及导入 dmp

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

用 PLSQL 创建新用户及导入 dmp

第四步:点选role privileges标签。role选择connect,勾选“default”。

用 PLSQL 创建新用户及导入 dmp

第五步:点选system privileges标签。选择“create any table”、“create any type”、“create any sequence”,右侧不勾选。

用 PLSQL 创建新用户及导入 dmp

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

用 PLSQL 创建新用户及导入 dmp

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

三、导入dmp


建议使用命令行进行导入,避免使用plsql,会产生各种灵异问题。比如:1)导入的时候一闪而过,显示导入成功,但数据库里找不到任何数据。2)选择from user、to user时显示“not logged on”问题。所以,在最后附上命令行的导入方式。可以跳过使用plsql导入,直接看命令行导入方式

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

用 PLSQL 创建新用户及导入 dmp

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

用 PLSQL 创建新用户及导入 dmp

第三步:选择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