`

三架马车保障Oracle网络的连通性

阅读更多

 Oracle数据库是网络数据库的典型代表。用户可以通过网络来访问Oracle数据库。Oracle数据库提供了网络互联的各种方案,包括结构和驱动程序,其网络通信协议结构类似于OSI-RM,但又有自己的分层机制。也就是说,Oracle的网络是基于计算机网络的,通过网络使Oracle实现了数据共享、数据完整性控制、数据安全传输、跨操作系统平台(可以同时运行在Linux或者微软的操作系统平台上)、在多硬件平台之间的数据相互操作。

  那么是什么保障了Oracle网络的连通性呢?简单的说,是全局数据库名、监听程序与网络服务名这三架马车保障了Oracle网络的连通性。

  第一架马车:全局数据库名。

  在谈到全局数据库名之前,笔者要先谈谈这个www.chinaitlab.com的域名。这个互联网上的域名就相当于我们现实生活中的门牌号码一样,可以在纷繁芜杂的网络世界里准确无误地把我们指引到我们要访问的站点。从这个www.chinaitlab.com域名来看,它是由几个不同的部分组成的。这几个不同的部分彼此之间具有上下的层次关系。其中最后的.CN是域名的第一层,.COM是域名的第二层,而.Ctocio则是真正的域名,处在第三层,依次类推。至此我们可以看出域名从后到前的层次结构类似于一个倒立的树型结构。其中第一层的.CN叫做地理顶级域名。在这些地理顶级域名下,还可以再根据需要定义次一级的域名。如在我国的顶级域名.CN下又设立了.COM,.NET,.ORG,.GOV,.EDU,以及我国各个行政区划的字母代表如.BJ代表北京,.SH代表上海等等。故当访问网站时,只需要输入域名(www.chinaitlab.com)即可以打开相应的网站,而不需要输入难以记忆的IP地址。

  而Oracle数据库系统是一个大型的分布式数据库系统。有时候出于性能等的考虑,往往需要在企业的多个地方部署多个数据库系统,这就构成了Oracle分布式网络环境。为了保障每个数据库名字的唯一性,Oracle数据库系统借鉴了域名的命名规则,使用域名结构来命名分布在各地的数据库。即一个数据库的全局名字由其数据库名和该数据库所在的域名组成。假设现在某一家企业在浙江有宁波、杭州、舟山三个办事处,分别部署了三个Oracle数据库,其中杭州为总部。结构图如下:

  根据全局数据库名命名规则,杭州公司数据库名字为ORAL.DTM 宁波公司的数据库名字为ORAL.NINGBO.DTM,舟山公司的数据库名字为ORAL.ZHOUZHAN.DTM。此时如果应用程序要连接不同部门的得数据库就非常的方便。可以通过全局数据库名字来指定需要访问的数据对象。只需要经过简单的修改,用户就可以连接到所需要连接的数据库。另为,还可以在网络环境配置一个默认域,如此访问默认域中的数据库对象不需要指定域名。

  利用全局数据库名能够起到两个好处。一是易于数据库进行扩充。如现在企业可能只用一个数据库来处理业务。但是当企业规模扩大的时候,可能一个数据库不能够满足性能上的需求。或者是因为企业合并等原因,需要部署分布式的数据库环境。此时不需要更改原先的存在的数据库,就可以对数据库环境进行扩充。二是方便数据库的连接。当用户在不同的数据库之间进行更换时,使用全局数据库名将会非常的方便。

  故笔者建议数据库管理员,即使企业当前只有一台Oracle数据库时,最好对其进行命名时也能够根据全局数据库命名规则来定义其名字。以利益后续数据库的扩充,同时也便于数据库管理员的日常维护。

第二架马车:网络服务名。

  当管理员利用conn system/system @tsh命令连接数据库的时候,@后面的内容就是网络服务名。网络服务名是数据库服务器在客户端的名称。换句话说,就是数据库的别名。通常情况下,一个数据库可以有多个网络服务名。网络服务名主要用来将连接标识符解析为连接描述符,帮助客户端应用程序准确的连接到指定的数据库服务器。一般来说,网络服务器主要提供两方面的信息。一是服务名称,默认情况下服务名称就是数据库全局名称;二是路由信息,即达到指定服务的网络路由,或者说是监听程序的网络地址。当应用程序连接数据库时,其连接字符串中的网络服务名就指出了所需要连接到的数据库服务器。另外,在客户端上,也必须配置有于服务器协议地址相同的连接描述符才能够向监听程序发出连接请求。

  可见网络服务名这架马车,在Oracle网络连接中就好像其起到一个马夫手中皮鞭的作用,指挥着这辆马车的前进方向。但是,这架马车比较娇贵,动不动就会出现问题。

  如当某个客户端非正常关机后,重新启动。可能会发现无法正常连接到客户端,提示网络服务器名错误而无法正常连接到客户端。再如有时候会因为无法解析全局数据库名字而客户端无法连接到数据库。为了防止网络服务名出现错误,笔者有以下几个建议。

  一是网络服务名的信息通常情况下是保存在TNSNAMES.ORA这个文件中。如果意外关机等情况,这个文件中的信息可能会丢失。为此最好对这个文件进行独立的备份。在遇到因为网络服务名错误而无法连接到数据库的时候,可以先利用这个文件进行恢复。通常情况下,都可以解决问题。

  二是最好不要手工更改这个文件。虽然这个文件看起来比较简单,但是修改起来比较麻烦。除非你是这方面的专家,否则的话最好不要手工更改这文件。通常情况下,最好采用Oracle数据库自带的工具来配置。笔者建议的作法是,先利用TNS工具把原先的配置文件删除,然后再重新建立一个。这是一个不错的选择。

  三是当客户端与Oracle数据库服务器进行连接的时候,如果出现提示网络服务器的错误提示时(监听程序无法找到适用于客户机连接的例程),有部分原因是无法解析数据库全局名所造成的。此时,管理员可以尝试着修改这个文件中的全局数据库名。即把全局数据库名修改为数据库服务器对应的IP地址。如果幸运的话,这么修改后就可以解决客户端的连接问题了。

  另外需要注意,有时候系统提示网络服务名错误无法连接到数据库时,有可能不是网络服务名错误所造成。有可能使其他的原因。如有时候如果存在防火墙,系统也会提示这个错误信息。如一次用户在Linux系统上安装Oralce数据库。而默认情况下,Linux系统的防火墙是开启的。在事后没有个防火墙关闭,导致Oralce无法正常连接。Oracle数据库并不是不能够通过防火墙,而是需要在防火墙上进行额外的设置。故如果是出于学习的需要,笔者建议可以先把Linux等操作系统的防火墙服务暂时关闭掉。

  第三架马车:监听程序。

  监听程序是运行在服务器端的一个单独的服务进程。他的作用就是通过监听端口,监听网络上的客户机对服务器的连接请求,并管理客户机与服务器之间的网络通信量。如果做一个形象的比喻,监听程序就好像是宾馆前面的保安。看到有客人来了,就开门来其进去。如果客人没付钱就走人,保安就会拦住客户不让其走。监听程序其的作用就是跟这个保安的作用非常类似。每次客户端请求连接服务器时,监听程序就会第一时间接收到这个请求。然后监听程序会把这个请求汇报给服务器。另外,监听程序还会对用户的合法性做出辨别。如果客户端提供的连接信息与监听程序保存在配置文件中的信息(如协议、端口、数据库等等信息)匹配的话,则监听程序就授权客户机连接到服务器。否则的话,就会拒绝客户机的连接请求。可见,监听程序这架马车,在数据库连接中起着举足轻重的作用。

  当服务器端的监听程序没有正常启动时,客户端将无法通过网络连接到数据库服务器。

分享到:
评论

相关推荐

    VMWARE安装Oracle19c rac安装-测试连通性ping Private IP(HOST)失败问题及解决过程

    Oracle Linux7.9 基于VMWARE安装Oracle19c rac安装——测试连通性ping Private IP(HOST)失败问题及解决过程

    Oracle网络配置概论.pptx

    因此,DBA 需要了解 Oracle 网络配置的基本概念和组件,熟练使用网络配置工具,确保 Oracle 数据库的网络连接和通信的可靠性和安全性。 Oracle 网络配置的应用场景 Oracle 网络配置的应用场景非常广泛,例如: *...

    Oracle 网络的体系结构

    在连通性概念中,**数据库服务**是数据库对外提供的一种服务,它包含了数据库实例的信息,如SID(System Identifier)。**服务名**是数据库服务的逻辑名称,它可以在网络中被解析为具体的数据库实例地址,使得客户端...

    oracle数据库管理备份与恢复及网络配置

    ### Oracle数据库管理备份与恢复及网络配置:深入解析 #### Oracle数据库管理——备份与恢复的重要性 在企业级数据库管理系统中,Oracle数据库以其强大的功能、稳定性及安全性被广泛使用。其中,备份与恢复机制是...

    Windows Server 2008 R2 X64环境下搭建双网络Oracle 12C R1 RAC+ASM.pdf

    在搭建双网络Oracle 12C R1 RAC+ASM的过程中,还需要对实施步骤中可能出现的问题进行诊断和解决,如网络连通性测试、存储的联机与初始化、Oracle安装的兼容性和错误处理等。整个搭建过程比较复杂,需要细致规划和...

    oracle配置网络服务名

    oracle配置网络服务名 oracle 添加一个监听器 有截图和说明 oracle 10g

    设置TimesTen与Oracle数据库的连通性

    设置TimesTen与Oracle数据库的连通性是实现两者集成的基础步骤,对于确保高效的数据交互至关重要。TimesTen是一款高性能的内存数据库系统,常被用于实时应用的缓存解决方案,与Oracle数据库配合使用,能够提高数据...

    Oracle 网络的配置方法

    Oracle 网络的配置方法Oracle 网络的配置方法Oracle 网络的配置方法Oracle 网络的配置方法

    部署在IIS上的网站,浏览时:未找到Oracle客户端和网络组件现象

    部署在IIS上的网站,浏览时:未找到Oracle客户端和网络组件现象

    ORACLE认证考试大纲

    这部分强调故障排查技能,考生应掌握常见网络错误列表,学会使用tnsping工具检测网络连通性,以及如何在Net8环境中配置日志和跟踪,以便定位和解决问题。 总体来说,Oracle认证考试大纲覆盖了Oracle网络配置、管理...

    windows server 2003 Oracle9i 安装

    监听是 Oracle 数据库的网络监听程序,负责监听客户端的连接请求。服务名是 Oracle 数据库的服务名,用于标识数据库实例。在配置监听和服务名时,读者需要设置监听端口、服务名、实例名等参数。 测试数据库连通 在...

    Oracle基础第三版 Oracle Essentials

    《Oracle基础第三版 Oracle Essentials》是一本专门为Oracle数据库初学者和爱好者编写的指南,它深入浅出地介绍了Oracle的核心概念和技术。Oracle,作为全球广泛使用的数据库管理系统,是企业级数据存储和管理的重要...

    Oracle19c-Windows客户端

    8. **安全增强**: Oracle 19c引入了更多的安全性特性,如默认的加密策略、多因素认证支持和强化的审计功能,保障了数据的安全性。 9. **性能优化**: Oracle 19c客户端在Windows平台上的性能有所提升,包括更快的...

    Oracle 数据库应用:第13章 配置Oracle互联.ppt

    为了测试Oracle Net的连通性,可以使用tnsping工具。tnsping向指定的服务名发送一个请求,检查网络配置是否正确,并返回关于连接成功与否的反馈。 故障转移是确保高可用性的关键功能。通过配置连接故障转移,当主...

    转载 在 Oracle 数据库上构建 .NET 应用程序

    这个工具作为.NET应用程序代码与Oracle客户端连通性软件之间的桥梁,对于确保最佳性能至关重要。根据不同的需求,可以选择由Oracle官方提供的Oracle Data Provider for .NET (ODP.NET),也可以选择由Microsoft或第三...

    基于Oracle 10g SDO网络的GIS网络Web GIS开发.pdf

    它允许用户存储网络的连通性和实体对象信息,是GIS(地理信息系统)领域的重要技术。 【GIS网络数据存储】在Oracle 10g中,SDO网络数据的存储采用元数据表和网络数据存储表相结合的方式。元数据表存储网络的结构...

    oracle_Oracle官网课件

    Oracle是全球最大的数据库管理系统提供商之一,...通过全面学习这套“Oracle官网课件”,你将具备扎实的Oracle理论知识和实践经验,能够有效地管理和维护Oracle数据库系统,为企业的数据安全和业务连续性提供有力保障。

    OracleClient-19C Oracle客户端,包括windows和Linux

    Oracle Client是Oracle公司提供的数据库连接工具,用于与Oracle数据库服务器进行通信。19C是Oracle Database的一个版本,代表第19个主要版本。这个压缩包包含的Oracle Client适用于Windows和Linux操作系统,使得...

Global site tag (gtag.js) - Google Analytics