下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

在Oracle如何对数据库的语法进行导入导出

作者:课课家教育     来源: http://www.kokojia.com点击数:1862发布时间: 2019-03-08 09:43:44

标签: OracleOracle语法Oracle数据库

  在Oracle当中如何才能对数据库的语法进行导入导出呢?其实啊,这有不止一种方法呢。事实上啊,在Oracle当中,不仅可以在Oracle编辑器中用图形化的方式导入导出文理文件的数据方式,而且还可以采用命令行的方式导入导出数据库

  语法示例为:imp[username[/password[@service]]]

  (一)步骤

  先进入dos,切换到oracle数据库物理文件所在的目录,就是说dmp文件所在的目录。

  然后输入下述语句。

  impusername/password@servicefile=psmis.dmpfromuser=psmistouser=psmislog=psmis.log

  语句的语法解释:

  (1)imp:指的是导入数据库的语法前缀;

  (2)username/password@service:指的是指定登陆的service;

  (3)file:是指已经分离的oracle数据库物理文件;

  (4)fromuser:意思是来源用户;

  (5)touser:是指目标用户;

  (6)log:表示当前目录下的日志文件;

  (7)于dos中查看oracle的imp,exp命令:

  imphelp=y

  exphelp=y

Oracle导入导出数据库的语法_Oracle_Oracle语法_Oracle数据库_课课家

  1.导出表数据:

  用backup_yyMMddHHmm.dmp表示文件名。

  dateString=`date+%y%m%d%H%M`

  #echo$dateString

  su-oracle-c"expuserid/passwordtables=table1,table2file=path/backup_$dateString.dmpBUFFER=8192grants=ycompress=N"

  注释:N指导出的文件不用压缩放在同一个数据块中,数据库当中的表数据特别大时,如果放在不一样的数据库,恢复时会出现问题。导出的数据包括表创建语句、序列以及触发器等。

  2.导入表数据

  表导入的过程包括创建表、导入数据还有创建序列。

  echobackupfile:$1

  fileName=$1

  echo$fileName

  #if["$fileName"=""]

  #then

  #echo"请指定备份恢复的文件名,请指定绝对文件路径"

  #exit0;

  #fi

  #echofileName=$fileName

  su-oracle-c"impuserid/passwordfile=$fileNameshow=nbuffer=2048000ignore=Ycommit=ygrants=yfull=y"

  注意:Y指忽略表创建的过程,只把表中的数据导入表中。

Oracle导入导出

  (二)在oracle中导入dmp数据库文件

  Oracle数据imp/exp,即导入导出就个等于oracle数据还原以及备份。exp命令还能把数据从远程数据库服务器导出到本地的dmp文件,imp命令能将dmp文件从本地导入到远处的数据库服务器中。利用它能构建两个一样的数据库,一个用来测试,一个用来进行正式使用。

  执行环境:在SQLPLUS.EXE或DOS中执行,DOS中能够执行是因为在oracle8i中安装目录ora81BIN被设置为全局路径,这个目录下有EXP.EXE与IMP.EXE文件执行导入导出。

  用java编写oracle,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。

  SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类来完成导入导出功能。

  (三)导入导出的实例

  数据导出:

  (1)把数据库TEST全部导出,用户名为system,密码为manager,导出到D:daochu.dmp。

  expsystem/manager@TESTfile=d:daochu.dmpfull=y

  (2)把数据库中system用户以及sys用户表导出

  expsystem/manager@TESTfile=d:daochu.dmpowner=(system,sys)

  (3)把数据库的inner_notify以及notify_staff_relat表导出

  expaichannel/aichannel@TESTDB2file=d:dataewsmgnt.dmptables=(inner_notify,notify_staff_relat)

  (4)以"00"打头把数据库中的表table1中的字段filed1的数据导出

  expsystem/manager@TESTfile=d:daochu.dmptables=(table1)query=\\"wherefiled1like'00%'\\"

  注意:上面为常用的导出,而用winzip把dmp文件就能很好的压缩,也可以在命令后加上compress=y来实现。

  数据的导入

  (1)把D:daochu.dmp的数据导入到TEST数据库中。

  impsystem/manager@TESTfile=d:daochu.dmp

  impaichannel/aichannel@HUSTfull=yfile=file=d:dataewsmgnt.dmpignore=y

  以上由于有的表已经存在,然后就报对该表就不进行导入。只要在后面加上ignore=y就可以。

  (2)把d:daochu.dmp中的表table1导入

  impsystem/manager@TESTfile=d:daochu.dmptables=(table1)

  不少情况是先要把表彻底删除,然后再进行导入。以上的导入导出基本够用了。

  注意:权限不够会有提示,操作者要有足够的权限。数据库可以连上,也能用tnspingTEST来知道数据库TEST能否连上。

  总结:小编今天就把关于Oracl导入导出数据库的语法全都介绍完了,小编相信大家通过本文的学习,以后再遇到涉及到Oracle导入导出的问题能够轻松解决,希望能够帮助到大家。小编将会不断的给大家更新资讯,大家可以关注我们课课家教育网站来获取最新资讯。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程