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

    作者:课课家教育更新于: 2017-03-31 18:19:03

      在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导入导出的问题能够轻松解决,希望能够帮助到大家。小编将会不断的给大家更新资讯,大家可以关注我们课课家教育网站来获取最新资讯。

课课家教育

未登录

1