ITPub博客

首页 > Linux操作系统 > Linux操作系统 > EXP/IMP使用

EXP/IMP使用

原创 Linux操作系统 作者:apple_wing 时间:2008-03-19 10:30:02 0 删除 编辑

一、用途

1、在不同的系统平台间移植数据;

2、数据库的备份和恢复手段之一;

3、用于用户间的数据移动。

二、基本语法和实例

如果觉得以下命令行这种方式这样不好理解,可以直接敲入EXP/IMP然后按照提示一步步的操作就可以了(除了“导出文件:expdat.dmp“这里输入一个路径外,例:C:\FULL.DMP。一般只要不断回车就行)。

1、EXP

有三种主要的方式(完全、用户、表)。

(1)完全

EXP ‘SYS/bpm as sysdba’ BUFFER=64000 FILE=C:\FULL.DMP FULL=Y

如果要执行完全导出,必须具有特殊的权限。

(2)用户模式

EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP WNER=SONIC

这样用户SONIC的所有对象被输出到文件中。

(3)表模式

EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP WNER=SONIC TABLES=(SONIC)

这样用户SONIC的表SONIC就被导出。

2、IMP

具有三种模式(完全、用户、表)。

(1)完全

IMP ‘SYS/bpm as sysdba’ BUFFER=64000 FILE=C:\FULL.DMP FULL=Y

(2)用户模式

IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC

这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。

(3)表模式

EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP WNER=SONIC TABLES=(SONIC)

这样用户SONIC的表SONIC就被导入

 

三、注意:

一般情况下,你备份出来是没有问题的,但是导入时就相对麻烦些,因为如果该数据存在,你是导不进去的。这个时候需要把相关的数据删除掉再导入。

因为一般我都是直接备份和导入该用户的数据,即用户模式,所以我讲一下大致过程:

首先,因为有用户连接是不能删除该USER的,所以要先查询出有哪些用户在连接:

Select sid,serial#,user#,username from v$session;

然后断开他们

Alter system kill session ‘sid,serial#’

这个时候就可以开始删除该USER和其下所有的表:(bpmmes为用户名)

Drop user bpmmes cascade;

随后创建该用户(脚本在另一篇文章里),然后再IMP就好了。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/295691/viewspace-211641/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 启动/关闭DB
请登录后发表评论 登录
全部评论

注册时间:2008-03-10

  • 博文量
    15
  • 访问量
    27778