王朝百科
分享
 
 
 

database link

王朝百科·作者佚名  2009-11-04  
宽屏版  字体: |||超大  

Database Link 翻译过来就是数据库链接。

创建的语法很简单,建议还是记住sql的创建方式。

一,关于文档

关于这个比较详细的可以参考oracle 文档

<<Oracle? DatabaseAdministrator's Guide10g Release 2 (10.2)>>, B14231-02。前者是书名,后者是文件Pdf文件名。在该书中的第29章对database link 有比较详细的介绍,从第5节到第16节都是。

29-6 What are database link ? 什么是数据库链接?

29-7 What are shared database link? 什么是共享数据库链接?

29-8 Why use database link ? 为什么使用数据库链接?

Global Database Names in Database links 数据库链接中的全局数据库名称

29-9 Names for dabase links 数据库链接的名称

29-10 Types of Database Links 数据库链接的种类

29-11 Users of Database Links 数据库链接的用户

29-13 Creation of Database Links :Examples 创建数据库链接的例子

29-14 Schema objects and Database Links 模式中的对象和数据库链接的关系

29-15 Database Link Restrictions 数据库链接的限制

二,对文档的详细解释

2.1 什么是数据链接? 这个就不用说了,值得提的就是,它们是单向的作用的。

2.2 什么是共享数据库链接? 关于这个描述还是比较复杂的,这是oracle文档为什么老是这么多的缘故之一,

A:共享数据库链接 是 本地服务器进程和远程数据库之间的连接,但是多个的客户端进程可以共享它。

B: 本地的服务器和远端的服务器可以是各种的模式(shared server or decicated server),共有四种组合

C:不同的用户可以通过一个网络连接来访问远程的模式对象。

D:一个共享的数据库链接可以在不同的会话间共享。而非共享的数据库连接不能。

E:如果服务器是共享型配置的,共享连接是直接在共享服务器上的一个进程上建立的 。而非共享类型的

数据库链接必须通过分发器来创建,需要分发器的上下文切换,数据也必须通过这个分发器。

2.3 为什么用数据库链接? 这个是想当然的,您不必要成为远程数据库的用户就可以访问远程数据库的对象。

2.4 数据库链接中的全局数据命名。 关于这个则必须了解每个数据库的全局命名。

一个数据库的全局数据库命名,在创建的时候已经建立起来了,它是被初始化参数

DOMAIN_NAME,DB_NAME. 最终它们的组成方式和一般的站点的组成是一样的,越大的放在越后面。

譬如某个数据库的名称可以使 Stocks.Fuzhou.Fz.cn

2.5 数据库链接的命名方式。

这是和初始化参数global_names密切相关的,如果是TRUE,则本地的DBLINK必须和远程的服务器的

GLOBAL NAME同名,否则就可以是任意的。

ORACLE 建议 您使用全局的命名方式,因为许多的特性都要求使用这个,包括数据的复制。

2.6 类型

分为 PRIVATE ,PUBLIC,和GLOBAL 。

PRIVATE只能在某个数据库中的某个模式下创建,并且也只能在这个模式下使用。用户是特定的。

PUBLIC可以被一个数据库中的不同用户使用,创建者必须是PUBLIC.

GLOBAL可以被一个ORACLE网络中的所有服务器使用,但是这个网络中必须有目录服务器(DIRECTORY

SERVER),而这个数据库链接就是被自动创建和存储在目录服务器上的。创建者必须是目录服务器上的

PUBLIC.

2.7 链接中的用户。 指的是链接串中用户。

譬如 Create database link SP connect to User using 'Sp';

这个connect to后面连接的用户可以是当前连接的用户(不输入用户(,也可以是关键字current_user ,

也可以指定了用户的。

关于用户的内容有许多,具体的看pdf.

2.8 模式对象和链接的关系。 使用schema.object@global_database_name来访问远程的数据对象。

2.9 限制或者局限。

。Grant privileges on remote objects 不能分配权限

■ Execute DESCRIBE operations on some remote objects. The following remote

objects, however, do support DESCRIBE operations:

– Tables

– Views

– Procedures

– Functions

不能对表格,视图,过程和函数使用desc操作

■ Analyze remote objects 不能分析远程对象

■ Define or enforce referential integrity 不能定义或者强制关系一致性

■ Grant roles to users in a remote database 不能给非远程用户赋予角色

■ Obtain nondefault roles on a remote database. For example, if jane connects to

the local database and executes a stored procedure that uses a fixed user link

connecting as scott, jane receives scott's default roles on the remote database.

Jane cannot issue SET ROLE to obtain a nondefault role. 不能获得远程服务器上的非默认对象,当

用指定链接的时候。

■ Execute hash query joins that use shared server connections 不能执行哈希查询的连接当使用共享服务区器上的连接的时候。

■ Use a current user link without authentication through SSL, password, or NT

native authentication 必须用SSL或者NT的方式进行验证。

2.10 关于访问远程对象的权限

这个取决与connect to 之后的用户的权限。一般我们都用FIXED的方式。

CREATE DATABASE LINK STU CONNECT TO USER IDENTIFIED BY PWD USING 'CONNSTR';

三,对SQL的限制

关于这个,没有太多的描述,首先一般赋予SQL的限制都必须遵循,然后才是关于DBLINK的。

四,附录 关于GLOBAL_NAME的处理

SQL> select * from global_name;

GLOBAL_NAME

--------------------------------------------------------------------------------

HOTCRM.US.ORACLE.COM

SQL> alter database rename global_name to HOTCRM.HOT.FJ.CN /

Database altered

SQL> SELECT * FROM GLOBAL_NAME;

GLOBAL_NAME

--------------------------------------------------------------------------------

HOTCRM.HOT.FJ.CN

查看系统的GLOBA_NAMES设置方法之一

SQL> show parameters GLOBAL_NAMES;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

global_names boolean FALSE

查看系统的GLOBA_NAMES设置方法之二

SQL> select name,value from v$parameter where name in ('global_names','db_domain');

NAME VALUE

----------------------------------------------------------------

db_domain

global_names FALSE

修改默认的global_names布尔值

alter system set global_names=false;

alter system set global_names=true;

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有