Oracle数据库导入导出总结(dmp文件)
Oracle 10G 管理页面(Oracle Enterprise Manager 10g):
http://localhost:1158/em
http://localhost:1158/em/console/logon/logon
Oracle数据库导出:
(1)整个用户下的所有数据(dmp文件):
《导出》
exp 用户名/密码@数据库 file=保存路径
如:exp woDemo/a123@ORCL file=E:/TestDate.dmp
《导入》
imp 用户名/密码@数据库 file=文件路径
如:imp scott/tigger@ORCL file=E:/TestDate.dmp
(2)用户下数据库中的某张表 <或多张表>(dmp文件):
《导出》
exp 用户名/密码@数据库 file=保存路径 tables=表1,表2
如(单张表):exp woDemo/a123@ORCL file=E:/TestDate.dmp tables=TestTable
如(多张表):exp woDemo/a123@ORCL file=E:/TestDate.dmp tables=TestTable1,TestTable2
《导入》
imp 用户名/密码@数据库 file=文件路径 tables=表1,表2
如(单张表):imp woDemo/a123@ORCL file=E:/TestDate.dmp tables=TestTable
如(多张表):imp woDemo/a123@ORCL file=E:/TestDate.dmp tables=TestTable1,TestTable2
(3)导出用户下的某张表(或多张表)前1000条数据(dmp文件):
exp userid=用户名/密码@连接名 file=文件路径 tables=(表名) query=\"where rownum<=1000\"
exp userid=用户名/密码@连接名 file=文件路径 tables=(表名,表名......) query=\"where rownum<=1000\"
1.导出
导出使用的命令是exp
导出本地用户所有表格式:exp 用户名/密码 file=d:name.dmp owner=owner_name
导出远程用户所有表格式:exp 用户名/密码@数据库实例名 file=d:name.dmp owner=oname1,oname2
导出本地用户单张表格式:exp 用户名/密码 tables=tname,tname1 file=d:name.dmp
导出单张表按过滤条件:(filed1字段以00开头的数据)
exp 用户名/密码 file=d:\aaa.dmp tables=tname query=\" where filed1 like ’00%’\"
导出后压缩文件在命令后带 compress=y 参数(一般直接用winzip就可以了)
2.导入
导入使用的命令是imp
导入本地用户所有表格式:imp 用户名/密码 file=d:name.dmp
导入远程用户所有表格式:imp 用户名/密码@数据库实例名 file=d:name.dmp
导入本地用户单张表格式:imp 用户名/密码 file=d:name.dmp full=y ignore=y
注意:导入用户下所有表的时候,导出和导入的表空间名字应该对应上,不然会出现错误,触发器全部会作废。
参数说明:
1. ignore参数
Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据ignore参数的设置来决定如何 操作。
若ignore=y,Oracle不执行CREATE TABLE语句,直接将数据插入到表中,如果插入的记录违背了约束条件,比如主键约束,则出错的记录不会插入,但合法的记录会添加到表中。
若ignore=n,Oracle不执行CREATE TABLE语句,同时也不会将数据插入到表中,而是忽略该表的错误,继续恢复下一个表。