教你在Oracle中通过网络连接导入数据

  历史上,Oracle的导入及导出功能曾采用磁盘文件作为卸载和再装载数据库的存储中介。对于较大的数据库这样“交换文件”的方式是个大问题。因为过大文件将会超过操作系统对文件大小的限制,使得导出不能实现。

  一些有创新精神的数据管理员使用文件压缩功能,例如UNIX中的压缩功能,以获得交换文件的最大容量。后来版本中的导入及导出功能允许使用多种交换文件以减少限制。

  在Oracle 10g中,Data Pump版的导入功能能从其他数据库实例中直接导入,从而完全删除交换文件。

  第一步是定义一个数据库链接对象来识别源数据库,并提供登录资格认证。例如,芝加哥的一个源数据库可以通过Oracle网络服务名CHI进行识别。使用者在实例中,ADMIN1,使用密码WINDY 进行登录并有权访问要导入的数据,下面的CREATE DATABASE LINK命令可以用于定义源数据库:

  CREATE DATABASE LINK chicago
  CONNECT TO admin1 IDENTIFIED BY windy
  USING 'CHI';

  Data Pump导入命令——impdp,现在能使用这一数据库链接直接访问远程数据。命令行参数NETWORK_LINK 通过数据库链接指向源数据库。在某城市(西雅图)的本地数据库实例中,用户ADMIN2将会执行以下命令 (整行):

  impdp admin2/market TABLES=customers,sales DIRECTORY=dpump1
  NETWORK_LINK=chicago

  注意第一次实例中没有导出操作,并且操作过程中不会创建交换文件。

  如果想要查询更多关于如何通过网络链接导入的问题,可参考Oracle文件设置中的Oracle Database 10g Utilities。