十三、分布式ORACLE系统简介 1.
分布式系统结构的ORACLE
1986年,ORACLE公司推出了它的分布式系统结构的ORACLE
数据库系统。该系统是由分布式数据库打点系统(ORACLE RDBMS)、撑持多种操作系统和通信和谈的分布式措置情形
软件SQL*NET、以及与非ORACLE RDBMS联接的
软件SQL*CONNECT这三部门组成的一个
软件群。分布式ORACLE采用了典型的开放式系统结构,对情形的顺应规模很是普遍,可顺应多种通信和谈、多种操作系统、多种
硬件情形及多种DBMS和数据源。
2.收集ORACLE的毗连过程
收集ORACLE的毗连过程大致搜罗以下几步:
(1)确认收集结点是否安装了SQL*NET,如未安装,则需执行:*$SYS@ORACLE:NCONFIG.COM≠进行安装,而且使用SGAPAD.COM从头链接。
(2)确认安装中拔取的收集驱动器与操作系统情形下所设置装备摆设的通信和谈是否相符。(3)待(1)、(2)两项均确认后,则可在处事器(Server)结点上成立一个呼吁文件。这个呼吁文件首要完成以下工作:指定ORACLE系统标识码SID,从而确定将哪一个ORACLE RDBMS作为处事器。这是因为同机上可运行多个ORACLE RDBMS,指定体例为:$ASSIGN〈SID标识码〉ORACLE$SID指定ORACLE系统地址目录:$ASSIGN〈目录名〉SYS$ORACLE指定SQL*NET执行代码的逻辑名$ORASRV=SYS$ORACLE:ORASRV.EXE启动SQL*NET的执行代码$ORASRV DECNET-NSP:
(4)待完成往后,用户即可进行远程访谒。(注重两个结点上的ORACLE系统应处于开启状况)
(5)为了增强收集通信打点和避免冲突等原因,可以经由过程VAX/VMS收集节制轨范NCP成立一和于ORACLE收集通信的缺省帐号。
3.收集ORACLE的使用
除了以下适用轨范以外,其它ORACLE适用轨范和
软件工具均可以经由过程SQL*NET访谒远程结点的ORACLE系统IOR AJI仅供当地使用。此外,用户经由过程各类说话编写的应用轨范也可以进行远程存取。用户远程存取的体例很是简单,仅需要在“用户名/口令”(ORACLE的正当用户)后面附上结点信息。
4.分布式发芽
分布式发芽和数据传输,首要指用户在前端机上执行当地的历程经由过程SQL语句或SQLplus呼吁发芽或传输远程结点上的数据。因为收集ORACLE系统的分布式发芽功能很强,用户可以同时发芽多个结点上的
数据库数据。传输数据功能用于两个结点之间数据及界说的复制,下面将分袂介绍。ORACLE系统分布式发芽的功能使得一个结点上的用户可以经由过程SQL发芽语句访谒其它结点
数据库的数据。而且用户还可以同时存取访谒多个结点(搜罗当地结点)的数据,从而使
数据库的发芽功能大大增强。
(1)
数据库链路(DATABASE LINK)为了使分布式发芽操作加倍简单便利,ORACLE RDBMS为用户供给了一个新的数据界说体例:
数据库链路。用户可以经由过程
数据库链路界说,在当地结点和远程之间进行发芽和毗连。进行远程访谒的用户需要明晰:远程
数据库地址的结点;远程结点上的哪个
数据库;远程
数据库的哪个用户。
数据库链路即用于标识以上内容。用户经由过程SQL的CREATE DATABASE LINK语句界说
数据库链路。其名目为:CREATEDATABASE LINK链路名CONNECT TO用户名INENTIFIED BY口令USING‘驱动器前缀:结点名““操作系统用户名口练羟车ケ””::“““TASK=ORDN后缀.COM”””;如不美观用户事先界说一个逻辑名:$ASSIGN结点名,“““操作系统用户名口练羟车ケ””::“““TASK=ORDN后缀.COM”””,逻辑名那么CREATE DATABASE LINK就变得十分炊洁:CREATEDATABASE LINK链路名CONNECT TO用户名IDENTIFIED BY口令USING‘驱动器前缀:逻辑名’;这里PUBLIC代表公用
数据库链路,只有DBA才能使用PUBLIC限制词。
(2)远程发芽操作在
数据库链路界说往后,远程发芽就变得很是简单和便利。用户访谒发芽
数据库的表或视图时,只要在表名或视图名后面附上
数据库链路名即可经由过程SELECT语句进行发芽。其形式为:SELECT列表达式 FROM表名@
数据库链路名 ;
(3)界说同义名用户可以用同义名来简化一些繁琐的表名或视图名。对于远程发芽操作,用户也可觉得远程
数据库的表名或视图名界说响应的同义名。
(4)毗连操作在远程发芽中,用户可以毗连不异(或分歧)结点上
数据库中的表。毗连(JOIN)操作可以针对以下情形:统一
数据库中的两个表或多个表;统一结点分歧
数据库中的两个表或多个表;分歧结点上
数据库中的两个表或多个表;
(5)发芽远程
数据库中其他用户的数据用户在经由过程
数据库链路进行远程发芽时,可以访谒其他用户的数据。
数据库链路的界说中指定一个远程用户名及口令,这个用户名被称为链路用户名。膳缦沔所述的“其他用户”即指非链路用户。如不美观链路用户具有访谒其他某一用户,记为用户A的权限,那么,Client用户就可以经由过程
数据库链路发芽处事器用户A中的数据。
(6)远程子发芽前面介绍的是基于主发芽的远程访谒。事实上,SQL语句中的子发芽(Sub-query)也可以访谒远程结点的
数据库数据。这种子发芽称为远程子发芽。可嵌入发芽的语句有:SELECT INSERT UPDATE CREATE TABLE CREATE VIEW