数据库基础:教你轻松掌握数据库链路的建立和使用[1]

数据库基础:教你轻松掌握数据库链路的建立和使用[1],第1张

数据链路的建立

数据链路的建立语法一般是 CREATE DATABASE LINK [db_link_name] CONNECT TO[user_name] IDENTIFIED BY [password] USING [tns_name]

其中:

[DB_LINK_NAME] 是所要连接的数据库的服务名 也就是该数据库的真实名称(通常就是SID) [USRE_NAME] 是所要连接的用户名称 [PASSWORD] 是所要连接的用户的密码 [TNS_NAME] 是所要连接的数据库的服务命名 也就是在本机上建立的NET 服务命名

当使用当前用户做为连接者时 语法可以是 CREATE DATABASE LINK [db_link_name] CONNECT TO CURRENT_USER USING [tns_name] (某些情况下这种方法建立的数据库链路都未处于活动状态 不知道是不是语法有误 暂不推荐使用)

当使用已连接用户做为连接者时 语法可以是 CREATE DATABASE LINK [db_link_name]USING [tns_name]

要建立公共的数据库链路语法可以是 只要在CREATE后加PUBLIC关键字就可以了

假如你在init ora文件里的global_names = true只能用上面的方法 如果global_names =false [DB_LINK_NAME]不一定要是数据库的真实名称 可以是一个随意的名字 也就是说 当global_names = true时 数据库的每一个用户只能有一个数据库链路 而当global_names = false时 每一个用户都可以建立N多个链路 但一般情况下是没有意义的

二 数据库链路的使用

数据库链路的主要用途就是实现对远程数据库的访问 你可以通过数据库链路直接对远程数据库

的表进行读写 也可以在本地建立远程数据库的视图和同意词 另外在进行双机热备份时也要用到数据库链路

直接访问 SELECT * FROM [user_name] [table_name]@[db_link_name]INSERT UPDATE DELETE等也同样适用

建立同义词 CREATE SYNONYM [user_name] [synonym_name] FOR [user_name] [table_name]@[db_link_name] 视图也是一个道理

由于双机热备是另一个复杂的问题 本文暂不赘述 如果想在两个数据库间实现几个表的同步 做一个双机太复杂 可以考虑用触发器来解决 在触发器中用以上方法引用远程表 对其进行插入 删除也可以做到同步

参考示例如下

数据库之间的链接建立在DATABASE LINK上 要创建一个DB LINK 必须先在每个数据库服务器上设置链接字符串

链接字符串即服务名 首先在本地配置一个服务名 地址指向远程的数据库地址 服务名取为将来你要使用的数据库链名

创建数据库链接

进入系统管理员SQL> *** 作符下 运行命令

SQL>create public database link beijing connect to scott identified by tiger using tobeijing

则创建了一个以scott用户和北京数据库的链接beijing 我们可以查询北京的scott数据:

SQL>select * from emp@beijing

这样就可以把深圳和北京scott用户的数据做成一个整体来处理

建立同义词 为了使有关分布式 *** 作更透明 ORACLE数据库里有同义词的对象synonymSQL>create synonym bjscottemp for emp@beijing

于是就可以用bjscottemp来替代带@符号的分布式链接 *** 作emp@beijing

lishixinzhi/Article/program/SQL/201311/16235

你说的是类似dblink之类的远程数据库链路吧?可以用federate,参看:

要配置Federated引擎,需要MySQL5.0以上的版本,具体配置方法如下:

1.查看是否安装了federated引擎

输入命令:show engines

结果如下:

Engine Support Comment Transactions XA Savepoints

MEMORY YES Hash based, stored in memory, useful for temporary tables NO NO NO

FEDERATED NO Federated MySQL storage engine

MyISAM YES Default engine as of MySQL 3.23 with great performance NO NO NO

BLACKHOLE YES /dev/null storage engine (anything you write to it disappears) NO NO NO

MRG_MYISAM YES Collection of identical MyISAM tables NO NO NO

CSV YES CSV storage engine NO NO NO

ARCHIVE YES Archive storage engine NO NO NO

InnoDB DEFAULT Supports transactions, row-level locking, and foreign keys YES YES YES

从中可以看出federated引擎没有开启.

2.开启federated引擎

windows下在my.ini中加入federated,即可开启

linux中,需要编译时加入选项,再在my.ini中加入federated,方可开启.

3.建立远程数据表链接

假如:在ServerA上有一个数据库dbtestA,在ServerB上有数据库dbtestB,要在ServerB的数据库dbtestB上建立 ServerA的数据库dbtestA上的表tabletestA的数据表链接remote_tabletestA,语句如下:

以下是代码片段:

create table remote_tabletestA ... ... engine=federated connection = 'MySQL://root:123123@ServerA:3306/dbtestA/tabletestA'

4.使用远程数据表链接

如上例,直接在ServerB的数据库dbtestB上对表remote_tabletestA进行 *** 作,即是 *** 作ServerA上数据库dbtestA的表tabletestA.

分类: 电脑/网络

问题描述:

这是计算机网络里的术语

解析:

数据链路可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其

连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数

据通信.每次通信都要经过建立通信联络和拆除通信联络两过程.这种建立起来的数据收发关系就

叫作数据链路.而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补

物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路的建立,

拆除,对数据的检错,纠错是数据链路层的基本任务.

⑴链路层的主要功能

链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层应

具备如下功能:

① 链路连接的建立,拆除,分离.

② 帧定界和帧同步.链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但

无论如何必须对帧进行定界.

③ 顺序控制,指对帧的收发顺序的控制.

④ 差错检测和恢复。还有链路标识,流量控制等等.差错检测多用方阵码校验和循环码校

验来检测信道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发

技术来完成.

⑵数据链路层的主要协议

数据链路层协议是为发对等实体间保持一致而制定的,也为了顺利完成对网络层的服务。主

要协议如下:

a. ISO1745--1975:"数据通信系统的基本型控制规程".这是一种面向字符的标准,利用10

个控制字符完成链路的建立,拆除及数据交换.对帧的收 *** 况及差错恢复也是靠这些

字符来完成.ISO1155, ISO1177, ISO2626, ISO2629等标准的配合使用可形成多种链路

控制和数据传输方式.

b. ISO3309--1984:称为"HDLC 帧结构".ISO4335--1984:称为"HDLC 规程要素 ".

ISO7809--1984:称为"HDLC 规程类型汇编".这3个标准都是为面向比特的数据传输控制

而制定的.有人习惯上把这3个标准组合称为高级链路控制规程.

c. ISO7776:称为"DTE数据链路层规程".与CCITT X.25LAB"平衡型链路访问规程"相兼容.

⑶链路层产品

独立的链路产品中最常见的当属网卡,网桥也是链路产品。MODEM的某些功能有人认为属于链

路层,对些还有争议.

数据链路层将本质上不可靠的传输媒体变成可靠的传输通路提供给网络层。在IEEE802.3情况

下,数据链路层分成了两个子层,一个是逻辑链路控制,另一个是媒体访问控制。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9940296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存