【问题标题】:How to import schema from remote database using dblink or network link如何使用 dblink 或网络链接从远程数据库导入模式
【发布时间】:2016-01-12 17:01:43
【问题描述】:

我已经创建了如下网络链接:

CREATE PUBLIC DATABASE LINK "remote_lab2"
 CONNECT TO system
 IDENTIFIED BY itl
 USING '(DESCRIPTION =
      (ADDRESS_LIST =
          (ADDRESS =
            (PROTOCOL = TCP)
            (Host = 192.168.5.43)
            (Port = 1521)
          )
      )
      (CONNECT_DATA = (SID = orcl)
      )
  )';

我可以使用以下查询查询远程数据库:

select * from bill@remote_lab; //fetches rows in the table 'bill'

但我想将所有架构导入为 DUMP 文件。为此,我在 D: 驱动器中创建了一个名为 mydump 的目录。但我不确定如何将所有架构作为转储文件从远程数据库导入本地系统?

更新:创建网络链接后,我可以在远程系统上的默认目录DATA_PUMP_DIR 中创建转储文件:

expdp VTMOLAP2/vtmolap2 schemas=VTMOLAP2 network_link=remote_lab directory=DATA_PUMP_DIR dumpfile=vtm.dmp logfile=vtm.log;

现在我需要将转储文件导入本地系统。我该怎么做?

【问题讨论】:

    标签: oracle oracle11g


    【解决方案1】:

    您需要使用Network import

    使用网络模式导入,不需要任何中间转储文件。数据通过数据库链接导出并直接导入目标数据库。

    例如,

    SQL> create user new_scott identified by tiger;
    User created.
    
    SQL> grant connect, resource to new_scott;
    Grant succeeded.
    
    SQL> grant read, write on directory dmpdir to new_scott;
    Grant succeeded.
    
    SQL> grant create database link to new_scott;
    Grant succeeded.
    
    SQL> conn new_Scott/tiger
    Connected.
    
    SQL> create database link old_scott connect to scott identified by tiger using 'orcl';
    Database link created.
    
    impdp new_scott/tiger DIRECTORY=dmpdir NETWORK_LINK=old_scott remap_schema=scott:new_scott
    

    【讨论】:

    • 更新了问题。请检查
    • @Satyadev 我看到了您的更新,答案已经存在。 impdp 命令。
    • 所以我把查询改成:impdp VTMOLAP2/vtmolap2 schemas=VTMOLAP2 network_link=remote_lab directory=DATA_PUMP_DIR dumpfile=vtm.dmp logfile=vtm.log;??
    • 你需要在你需要导入的服务器上运行这个。
    • expdp 导出很慢。我有大约 40GB,已经一个多小时了,而且还在继续。有什么办法可以提高速度?
    猜你喜欢
    • 2017-06-19
    • 2021-06-28
    • 1970-01-01
    • 2022-01-06
    • 2019-07-03
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多