在本机上建立一个链接
修改oracle的配置文件:oracle/OraHome1/network/admin/tnsnames.ora
加入
ora73 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL= TCP)(Host= (链接地址)(Port= 1688))
    (CONNECT_DATA = (SID = ora73))
  )
重启监听
进行本机 sqlplus user/passwd
create database link name connect to username by identified passwd using 'name';
这样你就可以在本机的数据库上访问远程机了

解决方案 »

  1.   

    建立databaseA 和 databaseB的 DataLink
    然后  Create tableA as (select * from tableB@databaseB)…………
      

  2.   

    1. 建立dblink,方法如上
    2. create table a as select * from tableB@dblink where 0=1  (复制结构)
    3. insert into a select * from tableB@dblink where xxx=...  (拷贝你想拷贝的数据) 
    如果是全部拷贝,那就在2步直接create table a as select * from tableB@dblink但有一点,用这种CTAS方式只能重建约束和索引,要是你嫌麻烦那就用exp/imp
      

  3.   

    数据迁移。http://www.oracle.com.cn/viewthread.php?tid=52603
      

  4.   

    谢谢大家!我用了上面几位的方法,
    在create table a as select * from tableB@dblink where 0=1的时候
    总是说dblink处TNS: 无法处理服务名
    或者是:未找到远程数据库的连接说明请教原因,再次谢谢!
      

  5.   

    如果对象结构都是一样的话,用exp/imp是个不错的选择
      

  6.   

    你要重启一下数据库,把init.ora中的参数global_names = TRUE 改为 global_names = false