`
a1520708
  • 浏览: 27094 次
  • 性别: 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  

相关推荐

    oracle dblink详解.pdf

    oracle dblink详解.pdf

    oracle oracle_dblink详解.

    oracle,oracle_dblink详解

    dblink详解

    dblink详解,概念,分几个类型,怎么创建,怎么使用。

    Oracle dblink详解

    oracle dblink 创建使用文档,可以很好使用。

    dblink实战

    dblink详解 多台oracle服务器之间数据库连接配置文档,包含详细说明和搭建过程。实战文档,便于刚接触dblink的朋友学习和实战

    SQL Server2005 DBLINK链接Oracle 9i详解

    详细解绍SQL Server2005 DBLINK链接Oracle 9i详解,含有企业管理器下完整的截图过程,及DBLink查询语法介绍

    oracle中dblink的详解

    清晰的举例,拿北京公司和新疆公司两个公司举例,大家也可以根据实例在自己本机,通过不同用户操作一下!!

    orcle dblink 的创建与删除的详解及实例

    orcle dblink 的创建与删除的详解及实例 易混淆术语介绍:Db_name,Db_domain,Global_name,Service_name 删除 Dblink 报错 ORA-02024: database link not found 的解决方法 .

    database link详解

    database link详解 一:dblink创建 二、dblink查询 三、dblink删除 四、dblink使用 五、同义词配合

    oracle跨库查询dblink的用法实例详解

    主要介绍了oracle跨库查询dblink的用法,结合实例形式较为详细的分析了Oracle中跨库查询dblink的创建、使用及删除等相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    Oracle中dblink的实际应用示例详解

    DBLink的作用是在局域网内,通过一台服务器上面的数据库访问另外一台服务器上面数据库的功能。下面这篇文章主要给大家介绍了关于Oracle中dblink实际应用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友们...

    oracle透明网关连接informix

    通过透明网关实现oracle连接informix数据的设置

    Oracle创建Database Link的两种方式详解

    创建一个dblink,命名为dblink_name,从A数据库连到B数据库,B数据库的IP为192.168.1.73,端口为1521,实例名为oracle,登录名为tast,密码为test。  一菜单方式:  打开plsql,点击【File】-【New】-【Database ...

    Oracle回滚段使用查询代码详解

    主要介绍了Oracle回滚段使用查询代码详解的相关资料,需要的朋友可以参考下

    Database Link经典详解

    Database Link详细讲解oracle分布式.文档详细,精简,供大家学习!

    C#数据结构之双向链表(DbLinkList)实例详解

    主要介绍了C#数据结构之双向链表(DbLinkList),结合实例形式较为详细的讲解了双向链表的概念及C#实现双向链表的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    jf_Oracle_经典笔记.docx

    7. DBLink的使用 10 8. 查看表是否被截断过 13 9. ORA-01654 索引无法通过128(在表空间中XXX)扩张 14 10. SID和SERVICE_NAME详解 15 二、 环境的安装和配置 17 1. 下载 17 2. 安装Oracle服务端 18 3. 创建...

Global site tag (gtag.js) - Google Analytics