oracle 数据的导入和导出

 

1 、命令行的导入导出命令

Oracle 数据导入导出imp/exp 就相当于oracle 数据还原与备份。exp 命令可以把数据从远程数据库服务器导出到本地的dmp 文件,imp 命 令可以把dmp 文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用

 

导出:exp  user/pwd@orcl   file=d:/data0409.dmp rows=y log=d:/log0409.txt

 

导入:  imp  user/pwd@orcl   file=d:/data0409.dmp full=y log=d:/imp_log0409.txt

 

建议:养成在导入导出时输出日志文件的习惯,发生错误时方便分析错误来源

 

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  将数据库中的表inner_notifynotify_staff_relat 导出

  exp  aichannel/aichannel@TESTDB2   file= d:/data/newsmgnt.dmp tables=(inner_notify,notify_staff_relat)

  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

  imp  aichannel/aichannel@HUST   full=y  file=file= d:/data/newsmgnt.dmp ignore=y

  上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

  在后面加上  ignore=y  就可以了。

  2  d:/daochu.dmp 中的表table1  导入

  imp  system/manager@TEST   file=d:/daochu.dmp  tables=(table1)

  基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

  注意:

  操作者要有足够的权限,权限不够它会提示。

  数据库时可以连上的。可以用tnsping TEST  来获得数据库TEST 能否连上。

 

 

 

 

PL/SQL Developer  导出数据脚本、数据

 

1 、如果只导出表的结构(建表语句),不导出表的数据,可用Tools--Export User Objects

选中要导出的表,设置好导出的路径和各个参数后,点击ExportOK

 

PS :这种方式只能导出属于这个用户的表,其他用户的表不能导出,建议用命令行导出(exp, imp

 

2 、如果想将表结构,表的数据,触发器,函数之类的全部导出,可用Tools--Export Tables

 

选中要导出的表(可选多个),导出方式有三种:

 

Oracle Export Sql Insertpl/sql developer

第一种是导出为.dmp 的文件格式,.dmp 文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广

 

第二种是导出为.sql 文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob ),如果有,会提示不能导出,可以用第一种和第三种方式导出。

 

第三种是导出为.pde 格式的,.pdePl/sql developer 自有的文件格式,只能用Pl/sql developer 自己导入导出;不能用编辑器查看,效率不知道怎么样

 

PS: 只有“Oracle Export ”方式导出再导入后,表结构和索引结构没有发生变化,另两种方式都改变了索引类型。

 

导入的情况和导出一样

 

1. 完整的导出整个数据库表结构即dmp 文件方法:

Tools-->Export Tables , 选择Oracle Export  默认选项即可,在Output file 选择一个输出目标

点击Export, 即可导出表结构

 

比较:这样导出的dmp 文件大小比直接用exp 命令导出的文件要小

 

 

2. 导出表中数据:

Tools-->Export Tables : 选择SQL Inserts  遇到大字段(clob,blob) 会出问题导不出来,在此可以

选择需要导出的表,在Output file 中选择导出的目标,点击Export 即可导出,在此有几个选项

可以去掉所有的可选项直接导出

 

3. 导出数据库中所有的或是所选表的数据库建表脚本:

Tools-->Export User Objects 去掉下面三个include * 可选项,选择Single file)Output file

中选择输出目标,点击Export 即可

你可能感兴趣的:(数据库,oracle,数据库,file,数据库服务器,output,table)