【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式

原文链接:http://blog.csdn.net/shmily_91/article/details/51044866

一、需求说明:

开始学习Oracle11g数据库的时候,需要使用scott用户,做大量的练习,其中包括增删改。为了放心大胆的上机练习,备份数据是很有必要的,所以今天就简单记录下如何对Oracle数据库中用户(方案)下的数据进行导入导出(备份恢复)。


二、具体操作:

1、说明:

①数据泵(data dump)导入导出(impdp、expdp)的主要工作是在服务器端,import和export的主要工作是在客户端,并且它们是Oracle早期版本中的数据导入导出工具(为了兼容性,新版本Oracle将保留了下来)

②数据泵的优越性主要体现在:可以后台备份(Ctrl+C);可以多任务并行备份。

2、数据泵导入导出的操作步骤:

① 第一步:先建立目录对象(服务器上的目录,类似于配置文件, 数据泵data dump在数据库内部运行)

【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式

顺便创建一个用户(方案)stu 或者 test,后面导入数据用

【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式


② 第二步:给用户授予读写目录对象权限(READ / WRITE)
            CREATE DIRECTORY dump_name AS 'F:\oracle\dump';
【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式

          GRANT READ,WRITE ON DIRECTORY dump_name TO user_name;
【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式

          查看目录对象 select * from dba_directories; 
【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式


目录对象的删除方法:
【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式


③ 第三步:导出在dos窗口下,语句后面不能有分号“;”
对象模式导出(用户导出)(用户导出自己可以没有exp_full_database角色,导出其他用户的方案必须有这个角色)
for instance
expdp scott/[email protected] directory=DUMP_SHMILY dumpfile=scott.dmp schemas=scott
或者

expdp scott/[email protected] dumpfile=dump_shmily:scott_full.dump logfile=dump_shmily:scott.log schemas=scott


【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式


第四步:数据导入在dos窗口下,语句后面不能有分号“;”

Impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott REMAP_SCHEMA=scott:stu

【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式


可以登录用户stu或者test用户来查看导入的数据

【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式




3、使用export和import工具导入导出数据

exp userid=scott/tiger direct=y rows=y file=F:\scott.dmp log=D:\fulldb1.log;

【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式


创建用户test用来导入数据
sqlplus system/oracle
create user test identified by test default tablespace users temporary tablespace temp quota unlimited on users;
grant connect ,resource to test;
exit;
【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式

imp 导出的前提是:
imp system/oracle file=D:\scott.dmp log=D:\fulldb1.log fromuser=scott touser=test rows=y
【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式

同一用户的数据导入导出可以在上述操作中稍作修改。