导入和导出

发表时间:2017-05-11 16:50:00 浏览量( 14 ) 留言数( 0 )

学习目标:

1、了解Java的历史

2、为什么要学习Java语言

3、端正学习态度


学习过程:

因为很多同学都需要把在课堂上没有完成的数据库复制回家继续做。,这节课简单讲述Oracle的导入和导出命令,导入/导出是ORACLE幸存的最古老的两个命令行工具,Exp/Imp并不是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。

一、导出数据库

exp工具一般在oracle类似于下面的路径中:

D:appyonghumingproduct11.1.0db_1BIN

为了使用这个命令你需要打开DOS命令。点击开始、运行输入cmd打开dos命令。exp命名非常强大,而且有一个非常好的向导。引导你进行备份。下面举几个常用的例子。

1、将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中

    exp system/manager@TEST file=d:daochautu.dmp full=y

2、将数据库中system用户与sys用户的表导出

    exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)

3、将数据库中的表table1 、table2导出

    exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2) 

4、将数据库中的表table1中的字段filed1以"00"打头的数据导出

    exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like  '00%'"

二、导入数据

将D:daochu.dmp 中的数据导入 TEST数据库中。可以使用以下命令

    imp system/manager@TEST  file=d:daochu.dmp full=y

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。

三、远程

其实exp/imp除了上述的功能外,还可以对远程数据库进行操作,具体方法如下:

1、修改tnsnames.ora文件(在oracle client中)

D:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN

加入远程服务器的命名:

服务名 =  

  (DESCRIPTION =  

    (ADDRESS_LIST =  

      (ADDRESS = (PROTOCOL = TCP)(HOST = 远程IP)(PORT = 1521))  

    )  

    (CONNECT_DATA =  

      (SERVICE_NAME = orcl)  

    )  

  )  

2、测试远程服务器是否畅通

进入到cmd后,执行命令:tnsping  远程IP,如果连接正常应返回下面的界面:

C:\Documents and Settings\Administrator>tnsping 远程IP 
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 12-8月 -2009 09:06:53  
Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:  

e:oracleproduct10.2.0db_1 etworkadminsqlnet.ora  

已使用 TNSNAMES 适配器来解析别名  

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 远程IP)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =  

orcl)))  

OK (50 毫秒)  

3、远程操作数据库

导出:

exp username/password@远程IP:1521/服务名 file=c:本地存放数据库备份后的路径   

比如 exp username/password@192.168.9.119:1521/MYDATA file=c:databack.dmp  

 在以前看到文章中,没有涉及到将端口号和服务名添加到语句中,但是,实验失败,因此做了上面的修正,上述语句完全实验成功

导入:

imp  username/password@远程IP:1521/服务名 file=要导入远程数据库的文件 full=y  

好了,完成了!这样就不用再远程登陆服务器去操作了