不同数据库服务器间数据的导入导出

来源:互联网 发布:海尔冰箱 知乎 编辑:程序博客网 时间:2024/05/24 22:41

今天遇到这样一个需求,就是想把两个oracle数据库服务器间的数据做个同步,就是想把数据库A中XXX表的数据导入到数据库B的XXX表中。

 

方法一:

用oracle 客户端工具,将A中的XXX导出,假设导出到a.csv中。然后将a.csv通过该工具再导入到B中XXX表即可。

 

以PL/SQL Developer为例,具体操作如下:

step1,导出A中的XXX表数据

1-1. 打开PL/SQL Developer,并连接到oracle数据库A。

1-2. 在PL/SQL Developer工具栏选择Tools->Export Tables...,打开Export Tables页。

1-3. 在Export Tables页中,选择你要导出的表,我们这里是XXX表。

1-4. 在Export Tables页中,设置Output file路径,如E:/a.csv,然后点击Export按钮,执行导出即可。

 

 

step2,导入B中的XXX表数据

2-1. 打开PL/SQL Developer,并连接到oracle数据库B。

2-2. 在PL/SQL Developer工具栏选择Tools->Import Tables...,打开Import Tables页。

2-3. 在Import Tables页中,设置Import file路径,如E:/a.csv,然后点击Import 按钮,执行导入即可。

 

 

方法二:

通过Database link+sql command,执行不同数据库服务间的数据导入。

 

 

以PL/SQL Developer为例,具体操作如下:

step1,在数据库服务器B中建立数据库服务器A的TNS链接。

1-1. 找到B中oracle的安装目录,打开C:/.../NETWORK/ADMIN/tnsnames.ora文件,添加数据库服务器A的TNS连接信息,如:

 

A=

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX.XXX)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = A)

    )

  )

 

step2,在数据库服务器B中建立数据库服务器A的database link。

2-1. 打开PL/SQL Developer,并连接到oracle数据库B。

2-2. 右键单击 Database links,选择new,新建一个A的databse link。

2-3. 在create database link页面中添加数据库A的登录信息。

详见附图

create datbase link

2-4. 编写数据导入的SQL command,例如

 

insert into XXX

  (col1, col2, col3, col4)

  select col1, col2, col3, col4 from XXX@A;执行该sql command,完成数据导入即可。