Oracle EXP和IMP

Exp/Imp是普遍使用的逻辑备份方式

 

使用Exp/Imp工具的场景

1、 两个数据库之间传送数据,可以不同数据库版本,不同操作系统

2、 数据库的备份和恢复

3、 从一个数据库用户传到另一个数据库用户

4、 从一个表空间传到领一个表空间

 

在sqlplus中设置显示数据的长度大小

colcol_name for a50;

 

查看数据文件名和对应的表空间

col file_name for a50;

col tablespace_name for a15;

select file_name,tablespace_name from dba_data_files;

 

创建一个表空间

create tablespace bank_tbs

datafile 'C:\APP\DRAGON\ORADATA\ZLPXB\BANK_DATA02.DBF'

size 5M autoextend maxsize10G;

 

创建用户使用该表空间

createuser bankuser identified by Oracle

default tablespace bank_tbs;

grant connect,resource to bankuser;

 

使用bankuser登陆数据库并创建表

createtable dept

(

deptno number(2) constraint pk_dept PrimaryKey,

dname varchar2(14),

loc varchar2(13)

);

insert into dept values(10,'accounting','new york');

commit;

 

查看用户使用的表空间

select tablespace_name from user_tables;

 

测试exp、imp

exp bankuser/oracle@zlpxb file=D:\bankuser.dmp log=D:\bankuserExp.log

drop table dept;

select * from dept;

imp bankuser/oracle@zlpxb fromuser=bankuser touser=bankuser file=D:\bankuser.dmp log=D:\bankuserImp.log

select * from dept;

 

 

实际工作中用的最多的导出命令

exp userid=sys/sys@orcl BUFFER=8192 FILE=x:\*.dmp LOG=x:\*.log full=y grants=y

 

实际工作中用的最多的导入命令

imp userid=sys/sys@orcl BUFFER=81920 FILE=x:\*.dmp LOG=x:\*.log full=y grants=y ignore=y


 

 

使用expdp、impdp迁移数据

expdp、impdp可以看做是exp、imp的升级版,两者主要区别如下:

1、 emp和imp是客户端工具程序,但他们可以在客户端和服务端都可以使用。

2、 expdp和impdp是服务端的工具程序,只能在服务端使用,迁移速度比较快。

 

测试expdp、impdp

create directory dir_dpas'D:\';

grant read,write on directory dir_dp to bankuser;

expdp bankuser/oracle@zlpxbdirectory=dir_dp dumpfile=bankuserdp.dmp logfile=bankuserdp.log

drop table dept;

select * from dept;

impdp bankuser/oracle@zlpxbdirectory=dir_dp dumpfile=bankuserdp.dmp logfile=bankuserimpdp.log

select *from dept;

 

 

在Linux下使用expdp、impdp

create or replace directory expdp_dir as '/home/oracle/expdp_dir';

mkdir expdp_dir

chmod 777 expdp_dir

expdp bankuser/oracle@zlpxb directory=expdp_dir dumpfile=Linux.dmp logfile=Linuxdmp.log

 

 

 

 

数据泵导出的方法有多种,这里我们只介绍两种:

Ø 单个用户方案导出

Expdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] dumpfile=X.dmp logfile=X.log directory=expdp_dir

Ø 数据库全库导出

Expdp [用户名]/[密码]@[主机字符窜] full=y dumpfile=X.dmp logfile=X.log directory=expdp_dir

² 数据泵导入

按以上导出方式:

Ø 单个用户方案导入

impdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] dumpfile=X.dmp logfile=X.log directory=expdp_dir ignore=y

Ø 数据库全库导入

impdp [用户名]/[密码]@[主机字符窜] full=y dumpfile=X.dmp logfile=X.log directory=expdp_dir ignore=y

相关推荐