用oracle中的exp与imp进行几个表数据的导出与导入

这两天要进行数据的导入导出,也学习了一下在linux下使用oracle的exp与imp命令。

一、先说exp:
这是用于导出数据用的命令,本次主要用它来把几个表的数据导出来。命令如下:

exp oracleuser/passwd file=/mydata/dat.dmp tables=(table1,table2,table3)。其中/mydata是用于存放数据文件的目录。

如果数据很多,导出来的文件就可能很大,而操作系统对单个文件的大小又有限制时就要分割成几个文件来导出,如下:

exp oracleuser/passwd file=(/mydata/dat1.dmp,/mydata/dat2.dmp,mydata/dat3.dmp) tables=(table1,table2,table3) filesize=1.9G。这样,一个文件到了1.9G后写到第二个文件中。

如果表是有区的,且我们要导出的数据比较大,可以在导出的时候让程序给点回馈:

exp oracleuser/passwd file=mydata.dmp tables=mytable:par1 feedback=20000

这样就能从批定的分区中导出数据,并且每导出两万条数据就在屏幕上显示一个点。

如果想按照一定的条件进行导出数据可以用query关键字,在query条件中要注意的是用到了转义字符,像双引号,单引号,大于号等都要用转义字符转一下,如:

exp oracleser/passwd file=mydata.dmp tables=mytable query=\"where studentnum \>\'20100112\' \"


 

二、说imp,导入:

这是用于导入数据的,命令如下:

imp oracleuser/passwd file=/myimpdat/dat.dmp ignore=y tables=(table1,table2,table3)

如果在导出的时候进行了文件分割就可以一条命令中导入几个文件:

imp oracleuser/passwd file=(/myimpdat/dat1.dmp,/myimpdat/dat2.dmp) ignore=y tables=table1,table2,table3)

如果导出时进行了文件分割,在导出时又没有把所有文件都写命令中,oracle会一个个地询问的文件路径,此时把文件路径输进去,也可以进行导入。

三、如果是远程导入:(本例所说远程是指在windows机上把数据导入到服务器,所以文件的路径是windows下格式的)
imp user/passwd@192.168.1.1 file=(d:/file1.dmp,d:/file2.dmp) ignore = y tables= (table1,table2)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值