不同的服务器之间的数据库复制

依然范特西╮ 提交于 2020-03-01 16:21:15

1.在确保本机成功安装了oracle后,查看tnsnames.ora文件,找到需要复制的库,

  124ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.X.X)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

比如这个124ORCL

2.打开CMD,直接输入tnsping 124ORCL,测试是否可以连接成功

C:\Users\userlss>tnsping 124ORCL

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 24-11月-2016 14:49:53

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

已使用的参数文件:
F:\PLSQL\instantclient_11_2\sqlnet.ora


已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.X.X)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))
OK (0 毫秒)

这样就是连接成功的标志了.

3.数据导出

1)完全导出

exp USER/PASSWORD@124ORCL file=D:\output.dmp full=y

2) 将数据库中system用户与sys用户的表导出
exp USER/PASSWORD@124ORCL file=D:\output.dmp owner=(system,sys)


3)将数据库中的表table1 、table2导出
exp USER/PASSWORD@124ORCL file=D:\output.dmp tables=(table1,table2) 


4)将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp USER/PASSWORD@124ORCL file=D:\output.dmp tables=(table1) query=\" where filed1 like '00%'\"

在上面命令后面 加上 compress=y  就可以很好的压缩。

4.数据的导入

 1)将D:\output.dmp 中的数据导入 124ORCL数据库中。
   imp USER/PASSWORD@124ORCL  file=D:\output.dmp
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
 2)将d:\daochu.dmp中的表table1 导入
 imp USER/PASSWORD@124ORCL  file=D:\output.dmp  tables=(table1) 

 

注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出。

exp 用户名/密码@远程oralce数据库的IP:端口号/实例 file=存放位置:\文件名.dmp full = y。如下图:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!