学习目标:
1、掌握Oracle最基础的导入导出的方法
学习过程:
因为很多同学都需要把在课堂上没有完成的数据库复制回家继续做。,这节课简单讲述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,如果连接正常应返回下面的界面:
1 2 3 |
|
已使用的参数文件:
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/[email protected]:1521/MYDATA file=c:databack.dmp
在以前看到文章中,没有涉及到将端口号和服务名添加到语句中,但是,实验失败,因此做了上面的修正,上述语句完全实验成功
导入:
imp username/password@远程IP:1521/服务名 file=要导入远程数据库的文件 full=y
好了,完成了!这样就不用再远程登陆服务器去操作了