欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle数据导入导出imp/exp

程序员文章站 2022-05-08 12:34:17
...

 

功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。

 

  Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接(通过net8 assistant中本地——>服务命名添加正确的服务命名

 

  其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。你同样可以把dmp文件从本地导入到远处的数据库服务器中。

 

  利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。

 

  执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于oracle 8i   安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXEIMP.EXE文件被用来执行导入导出。

 

  oraclejava编写,我想SQLPLUS.EXEEXP.EXEIMP.EXE这俩个文件是被包装后的类文件。SQLPLUS.EXE调用EXP.EXEIMP.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=systemsys

 

  3 将数据库中的表table1 table2导出

 

  exp system/manager@TEST file=d\daochu.dmp tables=table1table2

 

  4 将数据库中的表table1中的字段filed1"00"打头的数据导出

  exp system/manager@TEST file=d\daochu.dmp tables=table1 query=\" where filed1 like '00%'\"

 

  上面是常用的导出,对于压缩我不太在意,用winzipdmp文件可以很好的压缩。

 

  不过在上面命令后面加上 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能否连上。

 

  

 

文章源自网管之家:http://www.bitscn.com/pdb/oracle/200803/130337.html