Oracle数据导入导出imp/exp
功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。
Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接
(通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端 修了条路,然后数据就可以被拉过来了)
这样你可以把数据导出到本地,虽然可能服务器离你很远。
你同样可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中 安装目录\$ora10g\BIN被设置为全局路径,
该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了
数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
注意:
你要有足够的权限,权限不够它会提示你。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
数据导出:
exp hkb/hkb@boss_14 full=y file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbfull.log;
导出注意事项:导出的是当前用户的的数据,当前用户如果有DBA的权限,则导出所有数据!
同名用户之间的数据导入:
imp hkb/hkb@xe file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y
不同名之间的数据导入:
imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmp
log=c:\orabackup\hkbimp.log;
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 col1=\'…\' and col2 \<…\” 不可用于嵌套表 以多个固定大小文件方式导出某张表 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 详细出处参考:http://www.jb51.net/article/17358.htm
相关推荐
Oracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp....
oracle数据导入导出imp/exp命令使用说明
Oracle数据导入导出详解.doc Oracle数据导入导出详解.doc Oracle数据导入导出详解.doc Oracle数据导入导出详解.doc
oracle 数据导入导出 ,简单记录一下。
Linux下Oracle数据导入导出方法 基本常用的都有,可做参考文档
oracle数据导入导出 /*根据SCHEMAS导出数据,VERSION去掉时导出当前oracle的版本,在dos执行,文件导出完成后会显示导出文件的存放目录*/ expdp ewin/123321@172.20.0.31/mespr
Oracle数据导入导出命令.pdf
Oracle 数据 导入 导出
oracle数据导入导出的简便方法,轻松掌握
Oracle数据导入导出impexp命令
一款Oracle数据导入/导出软件,能够从文本文件导入数据,以及导出数据至文本文件。
本文档讲述Oracle数据的导入导出命令
EXP-IMP,Oracle数据导入导出,Oracle数据导入导出
详细介绍了Oracle数据导入导出的过程,并有举例
Oracle数据导出常用的有exp工具,但是此工具在导出大数据量的时候效率较低,所以在10g后推出DATAPUMP(数据泵)此工具的效率币exp高很多。本文针对DATAPUMP进行详细讲解, 读者读者读者读者范围范围范围范围 数据库...
很不错的Oracle大数据量数据导入导出示例
oracle数据导入导出大全,包括了三种常规导出以及三种导入
Oracle数据导入导出详解,详细介绍Oracle数据库的导入与导出