`
a1520708
  • 浏览: 28124 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dblink 详解

阅读更多
DBLINK详解
1.创建dblink语法:
CREATE [PUBLIC] DATABASE LINK link
CONNECT TO username IDENTIFIED BY password
USING ‘connectstring’
说明:
1) 权限:创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。这两种权限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK权限在DBA中)。一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用。由一个用户给另外一个用户授权私 有数据库链接是不可能的,一个数据库链接要么是公用的,要么是私有的。
2)link :  当GLOBAL_NAME=TRUE时,link名必须与远程数据库的全局数据库名global_name)相同;否则,可以任意命名。
3)connectstring:连接字符串,tnsnames.ora中定义远程数据库的连接串。
4)username、password:远程数据库的用户名,口令。如果不指定,则使用当前的用户名和口令登录到远程数据库。
2.删除数据库链接的语句:
DROP [PUBLIC] DATABASE LINK zrhs_link
3.查看已创建的dblink
select owner,object_name from dba_objects where object_type='DATABASE LINK';
4.dblink的引用:
[user.]table|view@dblink
如:
SELECT * FROM worker@zrhs_link;
SELECT * FROM camel.worker@zrhs_link ;
5.创建同义词:
对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用:
CREATE SYNONYM worker_syn FOR worker@zrhs_link;
6.创建远程视图:
CREATE VIEW worker AS SELECT * FROM worker@zrhs_link where…;
现在本视图可与本地数据库中的任何其它视图一样对待,也可以授权给其它用户访问此视图,但该用户必须有访问数据库链接的权限。
其他:
修改GLOBAL_NAME的方法:
1.在远程数据库的init.ora文件中将global_names设为false。
或者
2.用sys用户执行如下语句:ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;
修改后重新启动数据库设置才能生效。
数据库全局名称可以用以下命令查出:SELECT * FROM GLOBAL_NAME;


===== dblink 实战 ======
1.dblink分为公有和私有两类。
公有dblink使用public修饰关键字。在create和drop的时候都需要使用public关键字。
公有dblink对所有人开放,在该dblink之上创建的同义词也会随之对所有人开放。(测试并确认,不过测试是在一个实例多个用户之间进行)
私有dblink只有创建者可以访问,其上的同义词不能被其他用户访问。需为用户创建视图,并将视图授权给所需用户后,用户才可访问该视图。
另外,不能将带有dblink的同义词直接授权给用户。否则报错,其等价于:
grant select on table1@user1 to user2                           *
ERROR at line 1:
ORA-02021: DDL operations are not allowed on a remote database
2.创建dblink时,可以使用连接字符串(与tnsname.ora中的),效率较高。

tnsname.ora的文件路径为 product\10.2.0\db_1\NETWORK\ADMIN

例子

-- Create database link 
create database link DBLINK_UFGOVTAX2DEMO.REGRESS.RDBMS.DEV.US.ORACLE.COM
  connect to DEMO
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ufgovtax2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )';

分享到:
评论
1 楼 lhgyy00 2011-11-01  

相关推荐

    dblink详解

    ### dblink详解 #### 一、dblink的概念与类型 **dblink**(Database Link)是Oracle数据库中的一个重要特性,它允许一个Oracle数据库实例通过网络访问另一个Oracle数据库实例的数据。这为跨数据库的操作提供了极大的...

    oracle dblink详解.pdf

    ### Oracle DBLink 详解 #### 一、Database Link 概述 Database Link 是 Oracle 数据库中用于连接两个数据库的关键对象,它可以实现从一个数据库到另一个数据库的数据查询与操作。通过 Database Link,用户能够...

    oracle oracle_dblink详解.

    Oracle 数据库链接详解 数据库链接(DBlink)是 Oracle 数据库中的一种对象,允许用户查询远程表和执行远程程序。在分布式环境中,数据库链接是必要的。数据库链接是单向的连接,在创建数据库链接时,Oracle 会在...

    Oracle dblink详解

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

    oracle 存储过程 函数 dblink

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

    SQL Server2005 DBLINK链接Oracle 9i详解

    ### SQL Server 2005 DBLINK 链接 Oracle 9i 详解 #### 一、概述 本文档详细介绍了如何在 SQL Server 2005 中通过 DBLINK 功能实现与 Oracle 9i 数据库之间的链接。通过这种方式,可以在 SQL Server 2005 中查询、...

    dblink实战

    dblink实战详解 dblink是一种Oracle数据库链接机制,允许用户在不同的Oracle数据库服务器之间建立连接,以便实现数据共享和交换。在本文档中,我们将详细介绍dblink的概念、创建方法、使用方式以及注意事项。 一、...

    在oracle下创建dblink

    ### 在Oracle下创建DBLink知识点详解 #### 一、DBLink简介 在Oracle数据库系统中,DBLink(数据库链接)是一种强大的工具,它允许用户在一个数据库(源数据库)上执行SQL查询来访问另一个数据库(目标数据库)中的...

    oracle建立dblink步骤

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

    database link详解

    ### Database Link (DBLink) 详解 #### 一、DBLink 创建 数据库链接(Database Link,简称 DBLink)是 Oracle 数据库中一个重要的特性,它允许用户在一个数据库中执行 SQL 语句时引用另一个数据库中的对象。这为跨...

    Altium Designer 6中DBlink使用

    ### Altium Designer 6中DBlink使用详解 #### 一、引言 Altium Designer (简称AD) 是一款广泛应用于电子设计领域的软件工具,能够帮助工程师进行原理图设计、PCB布局以及各种电气特性的仿真等工作。随着技术的发展...

    dblink创建语句

    ### dblink创建语句知识点详解 #### 一、dblink概念理解 在数据库管理领域,dblink(Database Link)是一种非常实用的功能,它允许在一个Oracle数据库实例中引用另一个Oracle数据库实例中的数据。通过创建dblink,...

    oracle 使用dblink方式 连接远程数据库,内有详细描述,亲测可以

    ### Oracle使用DBLink连接远程数据库详解 #### 一、DBLink简介 在Oracle数据库中,DBLink(Database Link)是一种非常实用的功能,它允许用户在一个数据库(本地数据库)中访问另一个数据库(远程数据库)的数据。...

    DBLink_mssql&oracle;

    ### DBLink创建详解:SQL Server至SQL Server及Oracle #### 一、引言 DBLink是一种用于实现异构数据库间数据交互的技术手段。通过DBLink,可以在一个数据库中查询、更新另一个数据库的数据,这对于需要跨数据库操作...

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

    #### 二、配置步骤详解 以下将详细介绍如何通过ODBC方式配置Oracle 10g和11g以访问SQLServer数据库的具体步骤: ##### 1. 配置Oracle服务器系统的ODBC 首先需要确保Oracle服务器上已经正确安装了ODBC驱动,并且该...

    dblink使用

    dblink 使用详解 DBLink 是一种数据库链接机制,它允许用户从一个数据库服务器中访问另一个数据库服务器中的数据。DBLink 可以将多个数据库服务器连接在一起,实现数据共享和交换。 DBLink 的优点 1. 实现数据...

    oracle中如何创建dblink

    ### Oracle中创建DBLink的方法详解 #### 一、引言 在Oracle数据库环境中,经常需要进行跨数据库的数据访问。为了实现这一目标,Oracle提供了一种称为“DBLink”(数据库链接)的功能。通过DBLink,用户可以从一个...

Global site tag (gtag.js) - Google Analytics