• 不同数据库间的数据访问--dblink


    在我们实际应用过程中会经常遇到这个问题,两个不同系统间要进行数据传输。
    那我现在的这个项目来说吧,我这里的基础数据是来自其他系统,这个时候我们就需要读取其他数据库表中的数据了。
    遇到这个问题创建dblink是个很好的解决方法,具体操作如下:
    1、注意关闭两台计算机上的Windows的防火墙,否则,会出现能ping通,但Oracle连接不通的情况。
    2、全局数据库名,SELECT * FROM GLOBAL_NAME    
        修改可以用以下语句来修改参数值:
       ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;
      当数据库参数global_name=false时,就不要求数据库链接名称跟远端数据库名称一样,为了简单我是按照FALSE来操作的
    3、创建dblink的语法:
       CREATE [PUBLIC] DATABASE LINK link
       CONNECT TO username IDENTIFIED BY password
       USING ‘connectstring’
      我的例子:
       --创建dblink
    create database link DTBJ.US.ORACLE.COM connect to PLATFORM identified by PLATFORM using 'DTBJ';
    我当时是到这样就以为可以了,然后就用测试dblink的语句进行测试
      --测试dblink
      select * from dual@DTBJ.US.ORACLE.COM
    提示:没有监听!
    我用的是客户端,没有在服务器上建立连接远程的本地网络服务名。
    修改tnasname的内容
    DTBJ=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ******)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = DTBJ)
        )
      )
    再次执行测试语句
    SQL>  select * from dual@DTBJ.US.ORACLE.COM;
    D
    -
    X
     这样就表示dblink创建好了,随后为DTBJ里的表建了同义词就可以正常操作DTBJ表里的数据了
     
    查询创建了多少dblink
    select * from ALL_DB_LINKS;
    OWNER VARCHAR2(30)   
    DB_LINK VARCHAR2(128)    --  Name of the database link
    USERNAME VARCHAR2(30)   --  Name of user to log on as
    HOST VARCHAR2(2000)  -- SQL*Net string for connect
    CREATED DATE   --Creation time of the database link


    例:
    create public database link JKDA
    connect to hrext identified by ADMIN123
    using 'JKDA';

  • 相关阅读:
    计算机网络学习笔记——计算机网络概述
    基础续一
    Python基础一
    linux lvm的操作手册_pvcreate_vgcreate_lvcreate_相关
    Oracle Linux 挂载存储
    MegaCLI SAS RAID Management Tool
    DELL RACADM 批量升级戴尔IDRAC固件
    LSI MegaCli 命令使用4
    LSI MegaCli 命令使用2
    LSI MegaCl i命令使用1
  • 原文地址:https://www.cnblogs.com/Memories-off/p/10435213.html
Copyright © 2020-2023  润新知