Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6683836
  • 博文数量: 1005
  • 博客积分: 8199
  • 博客等级: 中将
  • 技术积分: 13071
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 20:19
个人简介

脚踏实地、勇往直前!

文章分类

全部博文(1005)

文章存档

2020年(2)

2019年(93)

2018年(208)

2017年(81)

2016年(49)

2015年(50)

2014年(170)

2013年(52)

2012年(177)

2011年(93)

2010年(30)

分类: Oracle

2011-05-25 14:00:52

1.userid
指定登陆exp的用户名和密码.
exp userid=hxl/hxl@orcl file=c:\exptest.dmp tables=(tb_exp_test);
 
2.tables
指定导出的表名列表,表名前面可以加上schema,前提是该用户有访问该表的权限。
如:
exp userid=hxl/hxl@orcl file=c:\exptest.dmp tables=(hxl.tb_exp_test,chenli.tb_exp_test_cl)
 好像在11G的上 tables后面不用带()
如:exp userid=system/oracle file=/u01/app/scott02.dmp tables=scott.DEPT,scott.EMP,scott.BONUS,scott.SALGRADE FLASHBACK_SCN=1206679 CONSTRAINTS=N GRANTS=N TRIGGERS=N LOG=/u01/app/scott02.log

linux:
exp userid=epi_hunan/epi_hunan file=/home/oracle/0161.dmp TABLES=\(EPI_HUNAN.EPI_JZJL\) query=\"where fchildno =\'430124030120180161\'\"

3.tablespaces
导出指定表空间下所有的对象.
exp 'sys/sys as sysdba' file=c:\tsp_test.dmp transport_tablespace=Y tablespaces=test
 
4.transport_tablespace
导出可传输的表空间元数据(N),默认为N.
导出的时候需要将准备导出的表空间设置为只读
A.alter tablespace test read only;
B.exp 'hxl/hxl@orcl' file=c:\tsp_test.dmp tablespaces=test transport_tablespace=Y
C.将表空间test下的数据文件拷贝到需要回复的目标机器上
  如这里有数据文件TEST01.DBF和TEST02.DBF
d.imp 'sys/sys@orcl as sysdba' transport_tablespace=y tablespaces=test file=c:\tsp_test.dmp datafiles=('D:\oracle\oradata\orcl\TEST01.DBF','D:\oracle\oradata\orcl\TEST02.DBF')
 
e.将原来read only的表空间设置为read write
 alter tablespace test read write
 
5.query
导出指定条件的数据,该参数需要跟tables一起使用.
如:
exp userid=hxl/hxl@orcl file=c:\query.dmp,tables=(tb_exp_test),query=('Where owner = ''HXL'' And Object_name=''ERROR_LOG'' And last_ddl_time = to_date(''2010-9-13 16:43:33'',''YYYY-MM-DD HH24:MI:SS'')'), log=c:\explog.txt

版本:11.2.0.4 linux
exp userid=epi_hunan/epi_hunan file=/home/oracle/0161.dmp TABLES=EPI_JZJL query=\"where fchildno =\'430124030120180161\'\"  
6.statistics
statistics 参数是指是否导入数据表,索引的统计信息,
取值范围:COMPUTE (统计值),ESTIMATE(估算值),NONE(不导出)
默认值: ESTIMATE

7.导出用户
exp userid=system/oracle@hxl01 file=E:\huangxl\oss03andweb.dmp owner=(web,oss03)

8.parfile
使用parfile参数导出,特别是导出有query条件很多,避免转义字符转换
epidb01-> more my.par userid=epi_hunan/mypawd
tables=(EPI_HUNAN.EPI_JZJL)
file=/home/oracle/0162.dmp
query="where fchildno='430124030120180161' and to_char(JZRQ,'YYYYMMDD')=20180529"
log=/home/oracle/0162.log

epidb01-> exp parfile=/home/oracle/my.par



9.如何查看导出的dump文件
[oracle@hxl01 ~]$ head -15 hxl.dump |strings
EXPORT:V11.02.00
DSYSTEM
RUSERS
8192
                                       Tue Jun 12 8:38:31 2018/home/oracle/hxl.dump
#G#G
#G#G
+00:00
BYTE
UNUSED
INTERPRETED
DISABLE:ALL
METRICSU
CONNECT HXL
METRICSUpre-schema procedural objects and actions
PROCACTION
BEGIN 

这里的DSYSTEM是指通过SYSTEM账号导出的,RUSERS是按照用户方式导出,导出了那些用户呢,只能通过CONNECT HXL 查看,该文件导出的语句如下:
exp userid=system/oracle file=/home/oracle/hxl.dump owner=hxl

查看dump文件头内容还可以用另外一种方法:
dd if=hxl.dump of=aaa bs=1M count=1

阅读(13372) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~