EXP-IMP用户对象导出导入方法

前言:数据库

最近,客户方要求天天定时导出数据库某个用户对象数据,方便出错时用于数据恢复或用于调用数据。因为客户生产环境的数据库为非归档模式,数据量比较小,最后采用古老的exp/imp导出导入方法。下面主要讲解一下EXP/IMP用户对象导出导入的使用方法。windows

正文:session

操做系统windows server 2003  oracle10goracle

EXP用户对象导出操做:ide

oracle客户端配置tnsnames.ora工具

canway =spa

 (DESCRIPTION =操作系统

   (ADDRESS_LIST =命令行

     (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.43)(PORT = 1521))日志

    )

   (CONNECT_DATA =

     (SERVICE_NAME = ORCL)

    )

  )

使用EXP用户对象导出的方法比较简单:

打开cmd窗口,执行如下命令:

exp system/canway@canway owner=用户名 file=*.dmp log=*.log compress=y direct=nrows=y

#标注:owner:须要导出的用户名compress 导入一个extent (Y)   DIRECT:直接路径 (N)  ROWS 导出数据行 (Y)

 

IMP用户对象导入操做:

因为imp导入用户对象数据,不会进行覆盖,故导入以前须要作如下操做:

1.查看用户对应默认表空间:

select username,DEFAULT_TABLESPACE from dba_users;

 

2.删除用户并删除此用户名下的全部表和视图(不删除用户所在的表空间):

drop user username cascade;

(若该用户正在运行,须要KILL掉会话

select sid,serial# from v$session where username='user_name';

 

alter system kill session 'sid,serial';

 

3.重建以前的用户和密码:

create user 用户名 identified by 密码 default tablespace 表空间名;

(查找用户对应的默认表空间:

 select username,DEFAULT_TABLESPACE from dba_users;

 

4.赋予用户适当的权力

grant connect,resource,dba to 用户名;

 

5.对用户对象数据导入:

运行在命令行的窗口下

imp system/canway@canway file=I:\backup\*.dmplog=I:\backup\*.log  fromuser=导出的用户名 touser=导入的用户名;

#注释:file=导出文件存放的直接路径和名称.dmp log=导入过程当中产生的日志追踪log

Fromuser:导出的文件全部者touser:即将须要导入到哪一个用户名。

 

总结:Exp/Imp导出导入是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳,本次主要介绍用户对象导出导入的方法。而对于愈来愈大的数据库,特别是TB级数据库和愈来愈多数据仓库的出现,EXP/IMP愈来愈力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。

相关文章
相关标签/搜索