
第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的位置、日志文件的位置等信息