zoukankan      html  css  js  c++  java
  • oracle创建dblink

      当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍我之前项目中如何在本地数据库中创建dblink.

      注意:密码最好用双引号引起来,否则可能在连接的时候报错(ORA-01017、ORA-02063)。根据ORA-01017的提示是连接到另一方的用户密码错误,当9i或10g的版本的Oracle数据库连接11g的版本时,会自动将密码转化为大写。

    create database link TestDblink
     connect to dbName identified by dbPassword
      using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.2.158)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
    

    /*
      TestDblink : 表示dblink名字
      dbName :表示 远程数据库的用户
      dbPassword:表示 远程数据库的密码
      HOST : 表示远程数据库IP
      PORT : 表示远程数据库端口
      SERVICE_NAME : 远程数据库的实例名
    */

      查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。 例如:如果想在本地数据库中通过dblink访问远程数据库'orcl'中dbName.tb_test表,sql语句如下所示:

    1. 通过dblink访问远程数据库

    select * from db.tb_test@TestDblink;
    

    2. 查看所有的数据库链接,登录管理员查看 

    select * from dba_db_links;
    select * from ALL_DB_LINKS;
    select owner,object_name from dba_objects where object_type='DATABASE LINK';
    

    3. 删除数据库连接

    DROP DATABASE LINK TestDblink;  
    --或  
    DROP PUBLIC DATABASE LINK [name];  
    

      

    DBLINK其他相关的知识:

      创建dblink也存在隐患,可能会导致scn增长过快,无法同步(错误代码: ora-19706),并且该症状会通过dblink传染到与之相关的所有数据库中。详见:oracle SCN异常增长以及 ORA-19706

    参考资料:

    Oracle 创建 DBLink 的方法

    Oracle查询、创建、删除DBLink

    使用数据泵+dblink迁移数据库,适用于本地空间不足的情况

  • 相关阅读:
    心跳
    UITableView 总结(一)
    scrollView的contentSize,contentInsert,contentOffset
    如何跟踪论文的作者?
    hadoop与spark执行定时任务,linux执行定时任务
    java.lang.NoSuchMethodError问题处理
    数据挖掘与机器学习的相关理解
    HBASE
    腾讯云ping不通外网
    腾讯云,激活ubuntu root登录,设置ssh
  • 原文地址:https://www.cnblogs.com/iupoint/p/10937117.html
Copyright © 2011-2022 走看看