`

Oracle dblink小结备忘

阅读更多

  1.查看数据库的global_name
        SELECT * FROM GLOBAL_NAME;
  
  2.查看global_name参数是true还是false
       show parameter global_name
       如果为true,本地建立的dblink名称必须与远程的global_name一致才行。
  
  3.创建dblink
       CREATE DATABASE LINK数据库链接名
       CONNECT TO 用户名 
       IDENTIFIED BY 密码 
       USING ‘数据库连接字符串’;

      例1:CREATE PUBLIC DATABASE LINK CONN_MY_LINK
       CONNECT TO MYUSER IDENTIFIED BY MYPASSWORD
       USING 'MYORAL';
       其中MYORAL为客户端服务器建立的访问服务端服务器的本地命名,
       LINK CONN_MY_LINK为本地建立的dblink名称
 
       例2:CREATE PUBLIC DATABASE LINK LINK_HSMIS
               CONNECT TO BI 
               IDENTIFIED BY BI 
              USING '(DESCRIPTION =
                         (ADDRESS_LIST =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = 10.188.245.201)(PORT = 1521))
                          )
                        (CONNECT_DATA =
                        (SERVICE_NAME = hsmis)
                        )
                )';
          直接用本地命名连接字符串替代本地命名。
 
        // 赋予创建权限
        grant CREATE DATABASE LINK to smis;        
        grant CREATE SYNONYM to smis;
  
  4.查询dblink是否创建成功
      SELECT * FROM DUAL@数据库链接名
      或SELECT * FROM表名@数据库链接名
 
  5.删除dblink
     drop public database link CONN_MY_LINK
 
  6.使用同义词简化:
     CREATE SYNONYM S_MY_TABLE FOR TABLENAME@数据库链接名;
 
  7.db_link查询时出现锁的解决方案
      每次使用db_link查询时释放连接,调用dbms_session包中的关闭函数即可
      例:dbms_session.close_database_link(CONN_MY_LINK);
      或使用dblink的时候,即使是select文也要进行commit,或者是rollback,
      否则时间长了会阻碍其他进程。
 
  8.查询dblink时出现无法处理服务器名的解决方案
       要在相应的数据库在服务器上建立相应的连接, 如A数据库在A1服务器上,B数据库在b1服务器上,
       如果要在A数据库中连接B数据库,则要在服务器A1上建立相应的tnsnames配置项如下:
     (在Win环境下的Oracle中,Oracle\Network\ADMIN\tnsnames.ora 文件中进行配置)
      A_TO_B =   
      (DESCRIPTION =   
      (ADDRESS_LIST =   
      (ADDRESS = (PROTOCOL = TCP)(HOST =A2服务器的IP)(PORT = 1521)) )         
      (CONNECT_DATA =   
      (SERVICE_NAME = B数据库的服务名)))         
      然后建立相应dblink,容易犯的错误是:
      在自已的客户端的tnsname.ora中建立连接,而没有在A数据库所有的
      服务器A1的tnsname.ora中建立连接。
 
  9.查看锁表进程和解锁
     (1)方式一:
     select sess.sid,   
     sess.serial#,   
     lo.oracle_username,   
     lo.os_user_name,   
     ao.object_name,   
     lo.locked_mode   
     from v$locked_object lo,   
     dba_objects ao,   
     v$session sess   
     where ao.object_id = lo.object_id and lo.session_id = sess.sid;
     (2)方式二:
      select * from v$session t1, v$locked_object t2 
      where t1.sid = t2.SESSION_ID;
     (3)进程解锁   
     如有记录则表示有锁,记录下SID和serial# ,将记录的ID替換下面的SID, serial,即可解除LOCK
     alter system kill session 'SID,serial';
 
分享到:
评论

相关推荐

    oracle dblink 创建过程

    ### Oracle DBLink创建过程及快照同步方法 #### 一、Oracle DBLink概念与创建步骤 DBLink(Database Link)是Oracle提供的一种机制,用于在不同的Oracle数据库实例之间建立连接,实现跨数据库查询、更新等功能。它...

    Oracle之dblink的配置

    Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置

    Oracle DBLink建立连接

    ### Oracle DBLink建立连接 #### 知识点一:DBLink基本概念与作用 - **DBLink**(Database Link)是Oracle提供的一种机制,用于在不同的Oracle数据库实例之间建立连接,实现跨数据库查询、更新等操作。 - **应用...

    oracle dblink 的应用

    Oracle dblink 是 Oracle 数据库中用于连接不同数据库实例的工具,允许用户在多个数据库之间进行数据查询、更新和传输。它的主要应用场景是在分布式环境中,当需要从一个数据库访问另一个远程数据库的数据时。以下是...

    oracle dblink的建立说明

    Oracle DBLink(数据库链接)是Oracle数据库提供的一种特性,它允许用户在不同的Oracle数据库实例间进行数据查询和操作,仿佛这些数据库都在同一个实例内。DBLink使得分布式数据库系统的交互变得简单,无需复杂的...

    oracle DBLink

    Oracle DBLink是Oracle数据库提供的一种特性,用于在不同的Oracle数据库实例之间建立连接,实现数据的交互和共享。DBLink(Database Link)允许用户在本地数据库上执行远程数据库的SQL语句,就像是操作本地数据一样...

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    oracle通过DBlink连接mysql搭建过程

    使用 DBlink 连接 Oracle 和 MySQL 数据库 Oracle 通过 DBlink 连接 MySQL 搭建过程是一个复杂的过程,需要安装和配置多个组件,包括 unixODBC、mysql-connector-odbc 和 Oracle 环境变量。本文将详细说明这个过程...

    oracle使用dblink高速复制表数据的动态存储过程

    本程序不同步blob和clob字段,玩oracle的人都懂,用sql同步此类数据,速度上不去,此类数据应该要用导出导入的方式提升速度。 具体请参阅程序,可根据自已需要进行修改。 参数说明: CREATE OR REPLACE PROCEDURE ...

    oracle 存储过程 函数 dblink

    ### Oracle存储过程、函数与DBLink详解 #### 一、Oracle存储过程简介 在Oracle数据库中,存储过程是一种预编译好的SQL代码集合,它可以接受输入参数、返回单个值或多个值,并能够执行复杂的数据库操作。存储过程...

    关于创建oracle dblink 过程的几点心得

    使用 DB Link 可以查询、删除和插入远程数据库中的数据,方法与操作本地数据库相同,只需要在表名后添加 @dblink 服务器。 DB Link 的优点 使用 DB Link 可以实现不同的数据库服务器之间的数据共享和交换,提高了...

    oracle通过dblink链接 mysql和mssql例子

    Oracle数据库提供了异构服务的功能,允许从Oracle数据库实例访问其他数据库系统的数据,例如MySQL...DBLink的使用大大扩展了Oracle数据库的数据处理能力,使用户能够在单个数据库操作环境中访问和操作多个异构数据源。

    Oracle使用dblink导用户下的所有表数据(以迁移scott用户为例)

    Oracle数据库是一种广泛应用于企业级数据存储和管理的系统,它提供了强大的数据迁移工具,其中之一就是DB Link(数据库链接)。在本教程中,我们将探讨如何利用DB Link来迁移Oracle数据库中的用户下所有表的数据,以...

    oracle10g或11g通过dblink访问sql server数据库

    ### Oracle 10g 或 11g 通过 DBLink 访问 SQL Server 数据库 #### 概述 本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的...

    Oracle Dblink and synonym(同义词)

    Oracle Dblink and synonym(同义词) 授权 创建 以及使用

    Oracle通过DBlink连接MySQL

    Oracle通过DBlink连接MySQL是一种常见的数据集成方式,它允许Oracle数据库与MySQL数据库之间进行通信,实现数据的交互和共享。以下将详细介绍整个配置过程。 **一、部署环境** 在进行配置之前,确保你的系统环境是...

    Oracle dblink详解

    Oracle dblink是Oracle数据库提供的一种在分布式环境中连接不同数据库的机制。它允许用户在一个数据库上执行操作,同时访问和操作远程数据库中的数据,仿佛这些数据是本地存在的。Database link是单向的,意味着从...

    oracle通过odbc建立dblink访问sqlserver数据库

    ### Oracle通过ODBC建立DBLink访问SQLServer数据库 在企业级应用环境中,不同数据库系统间的交互变得越来越频繁。为了实现Oracle数据库与SQLServer数据库之间的数据交换,可以通过多种方式实现连接,其中一种较为...

    oracle建立dblink步骤

    ### Oracle建立DBLink步骤详解 #### 一、背景与需求分析 在企业级应用中,经常需要跨地域或跨部门进行数据共享与交互。本文档详细介绍了一种在Oracle环境下实现跨数据库连接的方法——DBLink(数据库链接)。通过...

    MySQL federated引擎 实现类似oracle dblink功能

    MySQL联邦(Federated)引擎是一种特殊的存储引擎,它的设计目标是允许MySQL数据库跨越不同的服务器进行数据集成,类似于Oracle数据库中的DBLINK功能。这个引擎使得用户可以在本地数据库中查询和操作远程MySQL服务器...

Global site tag (gtag.js) - Google Analytics