oraclestudyroad 2009-03-27
Oracle数据库是网络数据库的典型代表。用户可以通过网络来访问Oracle数据库。Oracle数据库提供了网络互联的各种方案,包括结构和驱动程序,其网络通信协议结构类似于OSI-RM,但又有自己的分层机制。也就是说,Oracle的网络是基于计算机网络的,通过网络使Oracle实现了数据共享、数据完整性控制、数据安全传输、跨操作系统平台(可以同时运行在Linux或者微软的操作系统平台上)、在多硬件平台之间的数据相互操作。
那么是什么保障了Oracle网络的连通性呢?简单的说,是全局数据库名、监听程序与网络服务名这三架马车保障了Oracle网络的连通性。
第一架马车:全局数据库名。
在谈到全局数据库名之前,笔者要先谈谈这个www.britepic.org的域名。这个互联网上的域名就相当于我们现实生活中的门牌号码一样,可以在纷繁芜杂的网络世界里准确无误地把我们指引到我们要访问的站点。从这个www.britepic.org域名来看,它是由几个不同的部分组成的。这几个不同的部分彼此之间具有上下的层次关系。其中最后的.CN是域名的第一层,.COM是域名的第二层,而.Ctocio则是真正的域名,处在第三层,依次类推。至此我们可以看出域名从后到前的层次结构类似于一个倒立的树型结构。其中第一层的.CN叫做地理顶级域名。在这些地理顶级域名下,还可以再根据需要定义次一级的域名。如在我国的顶级域名.CN下又设立了.COM,.NET,.ORG,.GOV,.EDU,以及我国各个行政区划的字母代表如.BJ代表北京,.SH代表上海等等。故当访问网站时,只需要输入域名(www.britepic.org)即可以打开相应的网站,而不需要输入难以记忆的IP地址。
而Oracle数据库系统是一个大型的分布式数据库系统。有时候出于性能等的考虑,往往需要在企业的多个地方部署多个数据库系统,这就构成了Oracle分布式网络环境。为了保障每个数据库名字的唯一性,Oracle数据库系统借鉴了域名的命名规则,使用域名结构来命名分布在各地的数据库。即一个数据库的全局名字由其数据库名和该数据库所在的域名组成。假设现在某一家企业在浙江有宁波、杭州、舟山三个办事处,分别部署了三个Oracle数据库,其中杭州为总部。结构图如下:
根据全局数据库名命名规则,杭州公司数据库名字为ORAL.DTM 宁波公司的数据库名字为ORAL.NINGBO.DTM,舟山公司的数据库名字为ORAL.ZHOUZHAN.DTM。此时如果应用程序要连接不同部门的得数据库就非常的方便。可以通过全局数据库名字来指定需要访问的数据对象。只需要经过简单的修改,用户就可以连接到所需要连接的数据库。另为,还可以在网络环境配置一个默认域,如此访问默认域中的数据库对象不需要指定域名。
利用全局数据库名能够起到两个好处。一是易于数据库进行扩充。如现在企业可能只用一个数据库来处理业务。但是当企业规模扩大的时候,可能一个数据库不能够满足性能上的需求。或者是因为企业合并等原因,需要部署分布式的数据库环境。此时不需要更改原先的存在的数据库,就可以对数据库环境进行扩充。二是方便数据库的连接。当用户在不同的数据库之间进行更换时,使用全局数据库名将会非常的方便。
故笔者建议数据库管理员,即使企业当前只有一台Oracle数据库时,最好对其进行命名时也能够根据全局数据库命名规则来定义其名字。以利益后续数据库的扩充,同时也便于数据库管理员的日常维护。