从ORACLE数据库中导出DMP文件或将DMP文件导入ORACLE数据库的两种操作

1 浅析DMP

       DMP是一种数据库文件,其内容包括了整个数据库和表以及用于的所有信息,如存储过程,表定义,表结构等。用于程序员调试程序。

2 导出DMP文件的两种方式

      导出数据库的DMP文件一般使用命令提示符或SQLPlus两种方式。这两种方式在命令上有些许不同,下面做详细介绍。

2.1 使用命令提示符方式导出

      使用“窗口+R”快捷键打开运行窗口,如下图2-1所示:

 

2-1 运行窗口

    在该窗口输入cmd,按Enter键进入命令提示符窗口。在该窗口下输入exp导出命令,进行导出。

Ø 导出数据库MORCL中的所有用户

语法: exp [拥有oracle数据库管理权限的用户(如sys,system)/该用户密码]@数据库实例名安装oracle数据库时指定的SID或全局服务名 file=[导出路径+导出文件名.dmp] full=y。

Eg: exp system/manage@MORCL file=D:\oracle_dmp\dms.dmp full=y

Ø 导出数据库中的system,sys用户

语法:exp [拥有oracle数据库管理权限的用户(如sys,system)/该用户密码]@数据库实例名安装oracle数据库时指定的SID或全局服务名 file=[导出路径+导出文件名.dmp] owner=(指定需要导出的用户)。

Eg: exp system/manage@MORCL file=D:\oracle_dmp\dms1.dmp owner=(system,sys)

Ø 导出数据库中的USER_TAb,DEPT_TAB表

语法:exp [拥有oracle数据库管理权限的用户(如sys,system)/该用户密码]@数据库实例名安装oracle数据库时指定的SID或全局服务名 file=[导出路径+导出文件名.dmp] table=(指定需要导出的用户)。

Eg: exp system/manage@MORCL file=D:\oracle_dmp\dms1.dmp table=(USER_TAB,DEPT_TAB)

Ø 导出数据库中USER_TAB表中的字段usernum以2017开头的数据

语法:exp [拥有oracle数据库管理权限的用户(如sys,system)/该用户密码]@数据库实例名安装oracle数据库时指定的SID或全局服务名 file=[导出路径+导出文件名.dmp] tables=(指定表名) query=\" where filed1 like '00%'\"

Eg: exp system/manage@MORCL file=D:\oracle_dmp\dms1.dmp tables=(USER_TAB) query=\" where usernum like '2017%'\"

2.2 使用SQLPLUS导出

使用“窗口+R”快捷键打开运行窗口,如下图2-2所示:

 

图 2-2 运行窗口

在该窗口输入sqlplus,按Enter键进入到SQLPLUS界面,如下图2-3所示:

 

2-3 SQLPLUS界面

在上图SQLPLUS窗口中输入具有ORACLE数据库管理权限的用户及该用户密码,连接到ORACLE数据库。然后输入使用命令提示符方式导出DMP使用的命令,但需要注意的是使用SQLPLUS方式导出DMP时,在exp命令前加“$”符,不然会报错:SP2-0734: 未知的命令开头 "exp system..." - 忽略了剩余的行。

3 导入DMP到ORACLE数据库的方式

DMP文件导入到ORACLE数据库时,使用imp命令。

1、首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下:

create tablespace test(表空间的名字) 
datafile 'D:\oracle\product\10.2.0\userdata\test.dbf'  (这边可以写成oracle的某个路径下)
size 50m  (初始大小)
autoextend on;(自动扩展)

2、接下来,我们可以创建一个自己的用户,创建格式如下:

CREATE USER utest (用户名) 
IDENTIFIED BY upassword(密码)
DEFAULT TABLESPACE test(上面创建的表空间) 
TEMPORARY TABLESPACE temp;(临时表空间就写temp即可)

 

3、然后,我们需要给自己的用户赋予权限来管理自己的表空间

GRANT CONNECT TO utest;  
GRANT RESOURCE TO utest;  
GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。 

以上三条语句的执行环境都需要进入oralce之后

cmd下进入oracle的方式

sqlplus system/密码      回车即可

4、接下来我们就可以将我们的dmp文件导入到我们自己的表空间中了,导入方式

imp usename/password@SID full=y  file= d:\data\xxxx.dmp ignore=y

导入实例

imp utest/upassword  file=D:\20140227.dmp full=y ignore=y (将文件导入到我们自己新建的用户的表空间中)  注意:这条语句的执行环境是刚进命令台时的环境

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_38133660/article/details/80641123