DMP是一种数据库文件,其内容包括了整个数据库和表以及用户的所有信息,如存储过程,表定义,表结构等。用于程序员调试程序。
导出数据库的DMP文件一般使用命令提示符或SQLPlus两种方式。这两种方式在命令上有些许不同,下面做详细介绍。
使用“窗口+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%'\"
使用“窗口+R”快捷键打开运行窗口,如下图2-2所示:
图 2-2 运行窗口
在该窗口输入sqlplus,按Enter键进入到SQLPLUS界面,如下图2-3所示:
图2-3 SQLPLUS界面
在上图SQLPLUS窗口中输入具有ORACLE数据库管理权限的用户及该用户密码,连接到ORACLE数据库。然后输入使用命令提示符方式导出DMP使用的命令,但需要注意的是使用SQLPLUS方式导出DMP时,在exp命令前加“$”符,不然会报错:SP2-0734: 未知的命令开头 "exp system..." - 忽略了剩余的行。
将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 (将文件导入到我们自己新建的用户的表空间中) 注意:这条语句的执行环境是刚进命令台时的环境。