暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【每日一练 024】 日常管理 :Oracle网络(一)

原创 李美静 恩墨学院 2020-07-23
1562

1 Oracle Net Services

1.1 概览

Oracle Net Services支持从客户端或中间层应用程序到Oracle服务器的网络连接。它负责建立和维护客户机应用程序和数据库服务器之间的连接,并在它们之间交换消息。Oracle Net位于需要与数据库服务器通信的每台计算机上,也就是在客户端上。
在数据库服务器上,Oracle Net包括一个Oracle Net Listener,它负责协调数据库和外部应用程序之间的连接。
Oracle Net Services最常见的用途是允许传入的数据库连接。可以配置其他的net服务,以允许访问外部代码库(EXTPROC),并通过Oracle异构服务将Oracle实例连接到非Oracle数据源(如Sybase、Informix、DB2和SQL Server)。
Oracle Net Listener(或简称Listener)是所有非本地用户连接的Oracle实例的网关。一个侦听器可以服务多个数据库实例和数千个客户机连接。可以使用Enterprise Manager Cloud Control或Oracle Net Manager配置侦听器并指定日志文件位置。高级管理员还可以通过手动编辑配置文件来配置Oracle Net Services,如果需要的话,可以使用标准操作系统(OS)文本编辑器,如vi或gedit。

1.2 Oracle 服务对应的参数

Oracle数据库作为服务提供给客户端。一个数据库可以有一个或多个与之关联的服务,服务由初始化参数文件中的SERVICE_NAMES参数指定的服务名称标识。服务名称默认为全局数据库名称,该名称由数据库名称(DB_NAME参数值)和域名(DB_DOMAIN参数值)组成。
要连接到数据库服务,客户端使用一个连接描述符,该描述符提供数据库的位置和数据库服务的名称。

2 建立连接

用户通过指定连接字符串向Oracle数据库发起连接请求。连接字符串包括用户名和密码以及连接标识符。连接标识符可以是连接描述符本身,也可以是解析为连接描述符的名称。
Oracle Net names解析完成后,连接请求将从用户或中间层应用程序(以下称为用户进程)传递到侦听器。侦听器接收一个连接包,并检查该连接包是否请求有效的Oracle Net服务名称。
如果没有请求服务名,只是检测连通性,如使用tnsping,侦听器会确认连接请求,然后不做其他事情。如果请求的服务名无效,侦听器将向用户进程发送错误代码。
如果请求一个有效的服务名,侦听器会生成一个处理连接的新进程。这个新进程称为服务器进程。侦听器连接到进程并传递初始化信息,包括用户进程的地址信息。此时,侦听器不再处理连接,所有工作都传递给服务器进程。
服务器进程检查用户的身份验证凭证(通常是密码),如果凭证有效,则创建用户会话。

2.1 专用服务器进程的作用

建立会话后,服务器进程现在充当服务器上的用户代理。服务器进程负责:
解析并运行通过应用程序发出的所有SQL语句
检查数据库缓冲区缓存中执行SQL语句所需的数据块
如果SGA中没有数据块,则将磁盘上的数据文件中所需的数据块读入系统全局区域(SGA)的数据库缓冲区缓存部分
管理所有排序活动。排序区是用于处理排序的存储区;它包含在与程序全局区域(PGA)相关联的内存中。

3 练习题

大概描述一下对Oracle Net Services的理解。

【答题小贴士】:
1、以墨天轮文章的形式解析题目并给出答案
2、将墨天轮文章链接发送到此文的评论区

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论