通常,在安装Oracle数据库后,我们拥有了一个功能齐全的数据库,该数据库只有最低限度配置的客户端/服务器网络环境,还需要我们进一步完善配置。
本篇文章将从了解网络配置、查看侦听器配置、启动和停止侦听器、从客户端计算机连接到Oracle数据库几个方面帮助您了解配置Oracle客户端/服务器网络的步骤。细节操作可以参考Oracle数据库管理与调优课程。
一、了解网络配置
客户端是连接到Oracle数据库以发送或检索数据的应用程序。Oracle数据库客户端应用程序可以驻留在任何安装了Oracle数据库客户端软件的计算机上。
Oracle Net是驻留在客户端计算机和Oracle数据库主机上的软件层。它通过网络建立和维护客户端应用程序和数据库之间的连接,并使用行业标准协议在它们之间交换消息。
为了让客户端应用程序和数据库进行通信,客户端应用程序必须能够识别它想要连接的数据库,并且数据库必须提供标识。您可以使用服务名称连接到数据库。服务名称是数据库的逻辑表示,这是向客户端显示数据库的方式。单个数据库可以表示为多个服务。
服务名称可以提供位置透明度,这样客户端应用程序就不必知道服务器的位置。如果数据库被移动到另一个位置,则必须仅重新配置Oracle Net。无需对客户端应用程序进行任何更改。
二、Oracle Net侦听器配置
在数据库主机上,OracleNet侦听器(侦听器)是一个侦听客户端连接请求的进程。它接收传入的客户端连接请求,并管理这些请求到数据库服务器的流量。
默认的侦听器配置文件名为listener.ora,位于Oracle主目录的network/admin子目录中。例如,如果您的Oracle主目录是/u01/app/Oracle/product/11.2.0/dbhome_1,则listener.ora文件默认在/u01/app/Oracle/project/11.2.0/dbhome_1/network/admin目录中创建。
该文件包含一个标识数据库的协议地址。此地址定义侦听器正在侦听的协议以及任何其他特定于协议的信息。例如,侦听器可以配置为在以下协议地址进行侦听:
此示例显示TCP/IP协议地址,该地址指定侦听器的主机和端口号。侦听器可以侦听具有IP版本4(IPv4)或IP版本6(IPv6)地址的网络接口上的连接请求。
listener.ora文件在安装过程中会自动配置,但您可以使用Oracle Enterprise Manager数据库控制重新配置它。
由于配置参数具有默认值,因此您可以在不配置侦听器的情况下启动和使用它。此默认侦听器名为listener,在启动时不支持任何服务名称,并且侦听以下TCP/IP协议地址:
Oracle数据库在启动后一分钟左右的时间内向侦听器注册。侦听器将客户端请求转发到的服务名称或它们所代表的数据库可以在listener.ora文件中进行配置。该信息也可以动态地向侦听器注册。向侦听器动态注册服务和数据库称为服务注册。
服务注册由进程监视器(PMON)进程执行,进程是每个数据库实例的实例后台进程。动态服务注册不需要修改listener.ora文件。
三、客户端连接
1.连接描述符
客户端使用连接描述符来指定要连接的数据库。此连接描述符包含一个协议和一个数据库服务名称。一个数据库可以定义多个服务名称,因此必须为连接描述符指定特定的服务名称。在预配置的数据库中,只有一个服务名称,默认为全局数据库名称。
以下示例显示了一个连接描述符,该描述符使客户端能够连接到服务名称为mydb.us.example.com的数据库:
2.连接请求
用户通过提供连接字符串来启动连接请求。连接字符串包括用户名和密码以及连接标识符。该连接标识符可以是连接描述符本身,也可以是使用存储在一个或多个存储库中的映射信息解析为连接描述符的名称,这些存储库使用“命名方法”中描述的命名方法访问。此名称被称为网络服务名称。
3.命名方法
命名方法是客户端应用程序在尝试连接到数据库服务时用于将连接标识符解析为连接描述符的解析方法。
Oracle Net支持以下命名方法:
轻松连接命名:简单的连接命名方法使客户端仅使用由主机名和服务名组成的TCP/IP连接字符串即可连接到Oracle数据库。简单连接命名方法不需要配置。请参阅“从客户端计算机连接到Oracle数据库”以获取简单的连接命名示例。
本地命名:本地命名方法将连接描述符(由其网络服务名称标识)存储在名为tnsnames.ora的客户端配置文件中。该文件位于ORACLE_HOME/network/admin目录中。使用Oracle数据库配置助手(DBCA)创建数据库时,会自动配置本地命名。然后,您必须使用网络配置助手来创建连接描述符及其相应的网络服务名称。
目录命名:目录命名将数据库服务、网络服务名称或网络服务别名解析为存储在符合LDAP的目录服务器中的连接描述符。
四、网络配置工具
Oracle数据库主要使用以下工具管理网络配置:
网络配置助手:在典型的数据库安装过程中,网络配置助手(NETCA)会自动配置名为listener的侦听器,该侦听器具有数据库的TCP/IP侦听协议地址。如果您进行自定义安装,那么NETCA会提示您配置您选择的侦听器名称和协议地址。
在数据库安装后,使用NETCA进行初始网络配置。此后,您可以使用Oracle Enterprise Manager和Oracle Net Manager来配置和管理您的网络。
Oracle企业经理:Oracle Enterprise Manager使您能够使用侦听器页面管理服务器端网络配置。侦听器页面显示当前状态、侦听器配置文件所在的Oracle主目录以及主机名等信息。
Oracle网络管理器:Oracle Net Manager提供了与Oracle Enterprise Manager相同的功能,只是添加了配置配置文件。
五、查看侦听器配置
OracleNet侦听器(侦听器)在数据库主机上运行,并处理传入的客户端请求。使用Oracle Enterprise Manager数据库控制(数据库控制),您可以查看侦听器的状态,该侦听器设置为在主机重新启动时自动启动。您还可以在命令行中查看侦听器状态。
要使用数据库控件查看有关侦听器的信息的具体步骤:
在“数据库主页”的“常规”标题下,单击“侦听器”链接。
此时将显示“侦听器”页面,其中显示有关侦听器的以下信息:
Current status;Availability over the last 24 hours;Alias;Version;Oracle home for the listener;Net address;Configuration file (listener.ora) location;Start time;Host;(Optional) Status of Oracle Restart;
要在命令行中查看有关侦听器的信息的具体步骤:
打开命令窗口。
按照“配置操作系统环境变量”中列出的步骤进行操作。
输入以下命令:
lsnrctl status
六、启动和停止侦听器
Oracle侦听器设置为在主机重新启动时自动启动。但是,当您的系统遇到不可预见的情况时,或者当您手动停止侦听器时,您可以使用数据库控制或在命令行重新启动它。
要停止带有数据库控制的侦听器的具体步骤:
在“数据库主页”的“常规”下,单击“侦听器”链接。
此时将显示“侦听器”页面。
单击“停止”。
输入主机凭据,如果未配置首选凭据,请单击“登录”。
在“启动/停止侦听器”页面上,单击“确定”执行指定操作,或单击“取消”退出。
要使用数据库控制启动侦听器的具体步骤:
在“数据库主页”的“常规”标题下,单击“侦听器”链接。
此时将显示“侦听器”页面。
单击“开始”。
在“启动/停止侦听器”页面上,单击“确定”。
几分钟后,会出现一条确认消息,表示侦听器已启动。
要在命令行启动或停止侦听器的具体步骤:
打开命令窗口。
按照“配置操作系统环境变量”中列出的步骤进行操作。
根据要启动还是停止侦听器,输入以下任一命令:
lsnrctl start
lsnrctl stop
七、从客户端计算机连接到Oracle数据库
本节介绍如何使用SQL*Plus和简单的连接命名方法从客户端计算机连接到Oracle数据库。SQL*Plus通常在安装Oracle数据库客户端软件时安装。简单的连接命名方法提供了到数据库的TCP/IP连接,而无需配置Oracle Net Services。也可以通过本节的操作来测试您的网络配置。
要使用简单的连接命名从客户端计算机连接到Oracle数据库的具体步骤:
完成“配置操作系统环境变量”中的步骤。
执行以下操作之一以启动SQL*Plus:
(UNIX、Linux或Windows系统)打开命令窗口,然后输入以下命令:
sqlplus
(仅限Windows系统)单击开始,选择程序(或所有程序),然后选择Oracle-HOME_NAME,然后选择应用程序开发,然后选择SQL*Plus。
出现提示时,输入用户名,后跟一个at符号(@)和一个连接标识符,其中连接标识符的格式如下:
"host[:port][/service_name][:server][/instance_name]"
连接标识符格式中使用的占位符表示:
host—Oracle数据库主机的名称或IP地址。
(同时支持IPv4和IPv6地址。IPv6地址必须用方括号括起来。)
port(可选)-Oracle Net侦听器侦听连接的TCP端口号。
如果端口被排除在外,则假定为标准端口号1521。
service_name—数据库服务名称。
如果没有定义数据库服务名称,则可以使用为数据库创建的默认服务的名称。此服务名称由全局数据库名称组成,该名称由DB_name和DB_DOMAIN初始化参数组成,如下所示:
DB_NAME.DB_DOMAIN
如果DB_DOMAIN为null,则标准服务名称仅为DB_name。
Server-服务处理程序的类型。可接受的值是专用的、共享的和池化的。如果省略,则侦听器选择默认类型的服务器:如果配置了共享服务器,则为专用服务器。
instance_name-要连接的实例。如果只指定实例名称,则连接到默认的数据库服务。如果listener.ora文件中没有配置默认服务,则会生成错误。您可以从instance_name初始化参数获取实例名称。
例如,要以用户NICK身份连接到主机dbhost.example.com上的数据库服务orcl.example.com,请在用户名提示下输入以下内容:
nick@“dbhost.example.com/orcl.example.com”
以下示例将IPv4和IPv6地址替换为主机名:
nick@“192.0.2.1/orcl.example.com”
nick@“[2001:0DB8:0:0::200C:417A]/orcl.example.com”
出现提示时,输入用户密码。
至此,我们基本完成了对Oracle数据库网络环境的配置。
Oracle数据库在数据处理方面尤为突出,能够支持灵活的数据模型,并且有着出色的可用性和安全性。提升能力永远都是有意义的,对想要详细了解资深的Oracle实践操作技巧的小伙伴,我要推荐学习Oracle数据库管理与调优课程,课程从各方面阐述了Oracle落地的实践技巧,全程贯穿实战项目,能够帮助学员更好的掌握Oracle的高级操作,欢迎咨询我了解!