oracle dblink impdp network_link

来源:互联网 发布:cos 淘宝 编辑:程序博客网 时间:2024/05/17 01:14

     今天需要将数据库B的数据导入到数据库A中,之前了解过数据泵有network_link这个参数,所以想试试这个用法。

     先在本地数据库A建立访问dblink数据库B,如下:

      CREATE DATABASE LINK test_link

  CONNECT TO xx IDENTIFIED BY yy

  USING '(DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

        (SERVICE_NAME = orcl)

    )

)';

      建立成功后,测试:select sysdate from dual@test_link,提示用户名或者密码错误,但是实际上用户名密码都是正确的。查出原因:本地数据库A是10g,远程数据库是11g,低版本数据库建立dblink访问高版本数据库时,应把用户名、密码加上双引号,如:CONNECT TO "xx " IDENTIFIED BY  "yy",修改后dblink正常访问。

      dblink建立成功后,开始执行impdp命令:

     impdp aa/bb network_link=test_link DIRECTORY=DATA_PUMP_DIR tables=DM_% logfile=impdp.log remap_schema=aa:xx

    但是报错:ORA-39169: 10.2.0.1.0 的本地版本不能与 11.2.0.1.0 的远程版本一起使用。这个是版本不一致引起的。没办法,本地数据库10g不好使,找了另外一台11g的数据库后执行导入命令正常。

0 0