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_notify、notify_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%'/"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 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
选中要导出的表,设置好导出的路径和各个参数后,点击Export就OK
PS:这种方式只能导出属于这个用户的表,其他用户的表不能导出,建议用命令行导出(exp, imp)
2、如果想将表结构,表的数据,触发器,函数之类的全部导出,可用Tools--Export Tables
选中要导出的表(可选多个),导出方式有三种:
Oracle Export,Sql Insert,pl/sql developer
第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广
第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob),如果有,会提示不能导出,可以用第一种和第三种方式导出。
第三种是导出为.pde格式的,.pde为Pl/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即可