Oracle数据库基础与应用教程
上QQ阅读APP看书,第一时间看更新

第3章 管理Oracle环境

3.1 配置Oracle网络环境

在Oracle数据库中,经常使用图形化界面的Net Manager和Oracle Net Configuration Assistant工具来配置监听程序和本地网络服务名。这两种工具的配置方法差不多,在此只讲述Oracle Net Configuration Assistant。

3.1.1 添加监听程序

监听程序(也称为监听器)是Oracle数据库基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求,并创建数据库连接。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听程序的设置也是在数据库服务器端完成的。在Oracle服务器端可以配置监听程序,如添加、重新配置、删除和重命名监听程序。默认Oracle会自动创建名称为LISTENER的监听程序。

按以下步骤在Oracle服务器上添加监听程序。

(1)单击【开始】→【所有程序】→【Oracle - OraDb11g_home1】→【配置和移植工具】→【Net Configuration Assistant】,也可以在操作系统命令行中输入命令netca,打开图3-1所示对话框。选择【监听程序配置】单选框,然后单击【下一步】按钮。

图3-1 监听程序配置

(2)在图3-2所示界面中,对监听程序进行配置,在此选择【添加】单选框,然后单击【下一步】按钮。

图3-2 添加监听程序

(3)在图3-3所示界面中,指定监听程序的名称,在此指定名称为LISTENER,然后单击【下一步】按钮。如果监听程序LISTENER名称已经存在,则必须要指定其他名称。

图3-3 指定监听程序名

(4)在图3-4所示界面中,指定监听程序接受连接的协议,这里选择协议为TCP,然后单击【下一步】按钮。

图3-4 指定监听程序的协议

(5)在图3-5所示界面中,指定监听程序使用的TCP/IP端口号,在此选择【使用标准端口号1521】单选框,然后单击【下一步】按钮。如果1521端口号不能使用,选择【请使用另一个端口号】单选框,然后在文本框中输入一个端口号。

图3-5 指定监听程序使用的TCP/IP端口号

(6)在图3-6所示界面中,指定是否要配置另外一个监听程序,在此选择【否】单选框不再配置,然后单击【下一步】按钮。

图3-6 是否配置另一个监听程序

(7)在图3-7所示界面中,显示监听程序配置完成,单击【下一步】按钮结束。

图3-7 监听程序配置完成

备注

默认监听程序文件名为C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora,可以使用文本编辑器进行查看。

3.1.2 添加本地网络服务名

Oracle客户端与服务器端的连接通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。网络服务名是Oracle数据库服务器在客户端的名称,用来将连接标识符解析为连接描述符。当需要连接数据库时,格式为“用户名/密码@网络服务名”。本地网络服务名需要在Oracle客户端上配置。

按以下步骤在客户端计算机上添加本地网络服务名。

(1)单击【开始】→【所有程序】→【Oracle - OraDb11g_home1】→【配置和移植工具】→【Net Configuration Assistant】,也可以在操作系统命令行中输入命令netca,打开图3-8所示对话框。选择【本地网络服务名配置】单选框,然后单击【下一步】按钮。

图3-8 本地网络服务名配置

(2)在图3-9所示界面中,选择【添加】单选框,然后单击【下一步】按钮。

图3-9 添加网络服务名

(3)在图3-10所示界面中,指定服务名为orcl,然后单击【下一步】按钮。

图3-10 指定网络服务名

(4)在图3-11所示界面中,选择用于访问数据库的协议为TCP,然后单击【下一步】按钮,通过网络与数据库进行通信必须使用协议。

图3-11 指定要访问数据库的协议

(5)在图3-12所示界面中,指定数据库计算机的主机名,当然也可以使用IP地址,在此输入192.168.0.2,接着选择【使用标准端口号1521】单选框,然后单击【下一步】按钮。

图3-12 指定数据库计算机的主机名和端口号

(6)在图3-13所示界面中,在此选择【不,不进行测试】单选框,然后单击【下一步】按钮。

图3-13 连接测试

(7)在图3-14所示界面中,指定网络服务名,然后单击【下一步】按钮。

图3-14 指定网络服务名

(8)在图3-15所示界面中,选择【否】单选框,然后单击【下一步】按钮。

图3-15 是否配置另一个网络服务名

(9)在图3-16所示界面中,显示网络服务名配置完毕,单击【下一步】按钮结束。

图3-16 网络服务名配置完毕

注意

默认网络服务名文件名为C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora,可以使用文本编辑器进行查看。

3.1.3 管理监听程序

lsnrctl命令用来管理监听程序,比如启动监听程序、停止监听程序、查看监听程序状态等。如果管理的是默认的LISTENER监听程序,则无需指定监听程序名称。如果管理LISTENER之外的监听程序,则需要指定监听程序的名称。

语法:

lsnrctl [选项] [监听程序名称]

表3-1列出了lsnrctl命令各选项的含义。

表3-1 lsnrctl命令选项

例3-1:停止监听程序。

c:\>lsnrctl stop 
 
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 18-5月 -2014 23:5 
7:23 
 
Copyright (c) 1991, 2010, Oracle.    All rights reserved. 
 
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=win2008.sh.com)(PORT=1521))) 
命令执行成功

例3-2:启动监听程序。

c:\>lsnrctl start 
 
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 18-5月 -2014 23:58:32 
 
Copyright (c) 1991, 2010, Oracle.    All rights reserved. 
 
启动tnslsnr: 请稍候… 
 
TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production 
系统参数文件为C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora 
写入C:\app\administrator\diag\tnslsnr\win2008\listener\alert\log.xml的日志信息 
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=win2008.sh.com)(PORT=1521))) 
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) 
 
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=win2008.sh.com)(PORT=1521))) 
LISTENER 的 STATUS 
------------------------ 
别名                      LISTENER 
版本                      TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production 
启动日期                  18-5月 -2014 23:58:35 
正常运行时间              0 天 0 小时 0 分 5 秒 
跟踪级别                  off 
安全性                    ON: Local OS Authentication 
SNMP                      OFF 
监听程序参数文件        C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora 
监听程序日志文件          C:\app\administrator\diag\tnslsnr\win2008\listener\alert\log.xml 
监听端点概要… 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=win2008.sh.com)(PORT=1521))) 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) 
服务摘要.. 
服务“CLRExtProc”包含1个实例。
  实例“CLRExtProc”,状态UNKNOWN,包含此服务的1个处理程序…… 
命令执行成功

例3-3:显示监听程序的当前状态。

c:\>lsnrctl status 
 
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 19-5月 -2014 01:12:10 
 
Copyright (c) 1991, 2010, Oracle.    All rights reserved. 
 
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=win2008.sh.com)(PORT= 
1521))) 
LISTENER 的 STATUS 
------------------------ 
别名                      LISTENER 
版本                      TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production 
启动日期                  18-5月 -2014 23:58:35 
正常运行时间              0 天 1 小时 13 分 36 秒 
跟踪级别                  off 
安全性                    ON: Local OS Authentication 
SNMP                      OFF 
监听程序参数文件        C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora 
监听程序日志文件         C:\app\administrator\diag\tnslsnr\win2008\listener\alert\log.xml 
监听端点概要… 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=win2008.sh.com)(PORT=1521))) 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) 
服务摘要.. 
服务“CLRExtProc”包含1个实例。
  实例“CLRExtProc”,状态UNKNOWN,包含此服务的3个处理程序…… 
服务“orcl”包含1个实例。
  实例“orcl”,状态READY,包含此服务的1个处理程序…… 
服务“orclXDB”包含1个实例。
  实例“orcl”,状态READY,包含此服务的1个处理程序…… 
命令执行成功 
//可以在命令输出中获取监听程序的启动时间、运行时间、参数文件listener.ora的位置、日志文件的位置等信息