ORACL EXP导出数据说明

转载自:http://www.jb51.net/article/17358.htm

Oracle 数据库导出(exp)导入(imp)说明

 
exp 将数据库内的各对象以二进制方式下载成dmp文件,方便数据迁移。
 
 
buffer:下载数据缓冲区,以字节为单位,缺省依赖操作系统 
consistent:下载期间所涉及的数据保持read only,缺省为n 
direct:使用直通方式 ,缺省为n 
feeback:显示处理记录条数,缺省为0,即不显示 
file:输出文件,缺省为expdat.dmp 
filesize:输出文件大小,缺省为操作系统最大值 
indexes:是否下载索引,缺省为n,这是指索引的定义而非数据,exp不下载索引数据 
log:log文件,缺省为无,在标准输出显示 
owner:指明下载的用户名 
query:选择记录的一个子集 
rows:是否下载表记录 
tables:输出的表名列表 
导出整个实例 
exp dbuser/oracle file=oradb.dmp log=oradb.log full=y consistent=y direct=y 
user应具有dba权限 
导出某个用户所有对象 
exp dbuser/oracle file=dbuser.dmp log=dbuser.log owner=dbuser buffer=4096000 feedback=10000 
导出一张或几张表 
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1,table2 buffer=4096000 feedback=10000 
导出某张表的部分数据 
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1 buffer=4096000 feedback=10000 query=\” where passtime>= to_date('2013-10-01','yyyy-MM-dd') and passtime< to_date('2013-10-02','yyyy-MM-dd') \” 
不可用于嵌套表 
以多个固定大小文件方式导出某张表 
exp dbuser/oracle file=1.dmp,2.dmp,3.dmp,… filesize=1000m tables=emp buffer=4096000 feedback=10000 
这种做法通常用在:表数据量较大,单个dump文件可能会超出文件系统的限制 
直通路径方式 
direct=y,取代buffer选项,query选项不可用 
有利于提高下载速度 
consistent选项 
自export启动后,consistent=y冻结来自其它会话的对export操作的数据对象的更新,这样可以保证dump结果的一致性。但这个过程不能太长,以免回滚段和联机日志消耗完 
imp 
将exp下载的dmp文件上载到数据库内。 
buffer:上载数据缓冲区,以字节为单位,缺省依赖操作系统 
commit:上载数据缓冲区中的记录上载后是否执行提交 
feeback:显示处理记录条数,缺省为0,即不显示 
file:输入文件,缺省为expdat.dmp 
filesize:输入文件大小,缺省为操作系统最大值 
fromuser:指明来源用户方 
ignore:是否忽略对象创建错误,缺省为n,在上载前对象已被建立往往是一个正常现象,所以此选项建议设为y 
indexes:是否上载索引,缺省为n,这是指索引的定义而非数据,如果上载时索引已建立,此选项即使为n也无效,imp自动更新索引数据 
log:log文件,缺省为无,在标准输出显示 
rows:是否上载表记录 
tables:输入的表名列表 
touser:指明目的用户方 
导入整个实例 
imp dbuser/oracle file=oradb.dmp log=oradb.log full=y buffer=4096000 commit=y ignore=y feedback=10000 
导入某个用户所有对象 
imp dbuser/oracle file=dbuser.dmp log=dbuser.log fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000 
导入一张或几张表 
imp dbuser2/oracle file=user.dmp log=user.log tables=table1,table2 fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000 
以多个固定大小文件方式导入某张表 
imp dbuser/oracle file=\(1.dmp,2.dmp,3.dmp,…\) filesize=1000m tables=emp fromuser=dbuser touser=dbuser2 buffer=4096000 commit=y ignore=y feedback=10000
 
上面的方法由于转义字符的问题,在不同操作系统中存在细节区别,因此推荐使用parfile参数来使用上面的导出功能:
step1. 编辑一个文本文件,eg./exp.par,内容如下:
file=/table1.dmp
log=/table1.log
tables=v_vehicleinfo
query="where passtime>=to_date('2014-12-01','yyyy-MM-dd') and passtime<to_date('2015-04-01','yyyy-MM-dd')"
 
step2. 执行exp命令,加入parfile参数:
./exp username/passwd parfile=/exp.par
 
 
 
 
posted @ 2015-04-27 10:47  wrencai  阅读(351)  评论(0编辑  收藏  举报