![21天学通Oracle(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/800/680800/b_680800.jpg)
2.1 Net Configuration Assistant(网络配置助手)
网络配置助手,主要为用户提供Oracle数据库的监听程序、命名方法、本地NET服务名和目录配置。网络配置助手以向导的形式出现,使配置过程更加简单。
2.1.1 监听程序配置
监听程序(监听器)是Oracle基于服务器端的一种网络服务。监听程序创建在数据库服务器端,主要作用是监视客户端的连接请求,并将请求转发给服务器。Oracle监听程序总是存在于数据库服务器端,因此在客户端创建监听程序毫无意义。Oracle监听程序是基于端口的,也就是说,每个监听程序会占用一个端口。配置监听程序的步骤如下。
1 在Windows任务栏中依次选择【开始】|【程序】|【Oracle 10g Home】|【Configuration and Migration Tools】|【Net Configuration Assistant】命令,将出现网络配置助手的欢迎界面,如图2-1所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0030_0003.jpg?sign=1739212844-STxufqOvqUehWglygrFozv3lxFjT94Zx-0-131f26c4142f20ed82644f50f6d48da0)
图2-1 网络配置助手的欢迎界面
2 选择【监听程序配置】单选按钮,并单击【下一步】按钮,将进入监听程序配置界面,如图2-2所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0030_0004.jpg?sign=1739212844-OUIN7K8tbBLHkN3M0FJ6vBRiKwWYmNKB-0-db06f2cac3655512866b37ff89876e5a)
图2-2 选择监听配置工作
3 在工作选择界面中,选择【添加】单选按钮,并单击【下一步】按钮,将进入监听程序名配置界面,如图2-3所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0003.jpg?sign=1739212844-SN4IjCvNGIP5dJPSsbYYY3MX5NgjVOBF-0-c8e50dcb3ebdb2ea868adc74de1f5b43)
图2-3 配置监听程序名
4 为监听程序输入名称,例如“LISTENER”。单击【下一步】按钮,将进入协议选择界面,如图2-4所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0004.jpg?sign=1739212844-5h0Rxsom3p0RSvmc4ucS4dnDNeA3ycJM-0-c9f72fc9e13a078c2b1cef0cf825848e)
图2-4 选择协议
5 在协议选择界面中,保持默认的TCP协议即可。单击【下一步】按钮,将进入端口选择界面,如图2-5所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0007.jpg?sign=1739212844-YpFTxapZG893kuiDUAxEwLUUnubtwZq3-0-98dc3a6ac01e140b8da049cf15d0eac6)
图2-5 选择端口
6 在端口选择界面中,使用默认的1521 端口。单击【下一步】按钮,将进入更多监听程序的选择界面,如图2-6所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0008.jpg?sign=1739212844-Wv2U9ewp8yq99g2xLh9ZanOejq6Ged8Z-0-48bd119f50035bc3de83e37cd60a59c6)
图2-6 更多监听程序配置
7 在【是否配置另一个监听程序】选项中,选择【否】单选按钮。单击【下一步】按钮,将进入监听程序配置完成界面,如图2-7所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0010.jpg?sign=1739212844-VNnzVaLES9Mr5m1MKyigYgSEawo4rIin-0-243cd3c895371083b487b88a6b1a2388)
图2-7 监听程序配置成功
8 在监听程序配置成功之后,需要关注的是操作系统中服务与Oracle安装目录下文件的变化。在操作系统的服务中,将会看到有关于新建监听的服务自动启动,如图2-8所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0032_0002.jpg?sign=1739212844-GSHECNXtoMBF0J9m5aC6E25Ch6dAh5AN-0-7f3d32f25dbdd1a10032c17b0b9fc284)
图2-8 新建监听的Windows服务
在{ORACLE_HOME}\ NETWORK\ADMIN下会自动创建一个名为listener.ora的文件,其内容如下:
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\ Db_2\network\ admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\product\10.1.0\Db_2) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.97)(PORT = 1521)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) )
该文件由网络配置助手自动生成。其中存储了各监听器的配置参数。LISTENER为监听器名称;PROTOCOL=TCP指定监听器所使用的协议为TCP协议;HOST=192.168.1.97指定监听器所在的主机IP,即Oracle数据库的安装主机;PORT = 1521指定监听器的监听端口。
需要注意的是,文件名称Listener.ora并非来自监听名Listener。也就是说,即使新添其他监听程序,其配置也被记录在Listener.ora中。当Oracle环境中不存在任何监听时,Listener.ora文件将被自动删除。
2.1.2 命名方法配置
Oracle客户端在连接数据库服务时,并不会直接使用数据库名等信息,而是使用连接标识符。连接标识符一般存储了连接的详细信息。定义连接标识符的方法一般有5种。
● 主机命名(Host Naming):客户端利用TCP/IP协议、Oracle Net Services和TCP/IP协议适配器,仅凭主机地址,即可建立与数据库的连接。
● 本地命名:使用在每个Oracle客户端的tnsnames.ora文件中配置和存储的信息来获得数据库的连接描述符,从而实现与数据库的连接。
● 目录命名:将数据库服务或网络服务名解析为连接描述符,该描述符存储在中央目录服务器中。
● Oracle Names:这是由Oracle Names服务器系统构成的Oracle目录服务,这些服务器可以为网络上的每个服务提供由名称到地址的解析。
● 外部命名:使用受支持的第三方命名服务。
对于一般的小型应用,最常用的命名方法为本地命名方法。配置Oracle的命名方法为本地命名的步骤如下。
1 打开【Oracle Net Configuration Assistant】,并选择【命名方法配置】单选按钮,如图2-9所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0033_0003.jpg?sign=1739212844-hUFcpkkg8W4PVfWBUtH6rPY3I00LaVzP-0-d8c1638cf5bedce765bcb080370b51c7)
图2-9 选择命名方法配置
2 单击【下一步】按钮,将进入【命名方法配置】界面,如图2-10所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0033_0004.jpg?sign=1739212844-SYfAD9d7BIVh7TxrTcIRiPvprOCabGLp-0-a80a97e485d200f55a934b64c4a93be2)
图2-10 命名方法配置
在右侧的列表中,列出了已选择的命名方法。默认情况下,Oracle推荐使用本地命名和轻松连接命名,二者的顺序为:首先搜索本地命名,如果不能获得连接描述符,接着搜索轻松连接命名。Oracle提供了这种允许多种命名方法共存,使用顺序来指定优先级的方式来配置命名方法。在本例中,保持默认值,并单击【下一步】按钮。将进入命名方法配置成功界面,如图2-11所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0001.jpg?sign=1739212844-6NJPaQtnIiRXQ6N6v7uKBwlUwpeB6STM-0-47ab78d3b09614e2051a89d68a1694e5)
图2-11 命名方法配置成功
在成功配置命名方法之后,可以打开{ORACLE_HOME}\NETWORK\ADMIN\ sqlnet.ora文件,文件内容如下:
# sqlnet.ora Network Configuration File: D:\oracle\product\10.1.0\Db_2\ network\ admin\sqlnet.ora # Generated by Oracle configuration tools. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
其中,NAMES.DIRECTORY_PATH即为命名方法的搜索路径:首先搜索本地命名,然后搜索轻松连接命名。
2.1.3 本地Net服务名配置
本地Net服务名配置,即为2.1.2节中提到的本地命名。创建一个新的本地Net服务名的步骤如下。
1 在Oracle网络配置助手的欢迎界面选择【本地Net服务名配置】单选按钮,如图2-12所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0002.jpg?sign=1739212844-H5I1WHuCazkfascm0mIJqFxDpR86n0po-0-15e85c7e012e05dcaf10c39bd7951ce1)
图2-12 选择本地Net服务名配置
2 单击【下一步】按钮,将进入工作选择界面,如图2-13所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0003.jpg?sign=1739212844-CTl3hNWqOlTml8oMieBRyvSQ6pKQqF3X-0-c745942d21bdeac17968932d5e6ca97e)
图2-13 服务名配置中的工作选择
3 该界面中提供了添加、重新配置、删除、重命名、测试等工作选项。在此,选择【添加】单选按钮,并单击【下一步】按钮,将进入服务名配置界面,如图2-14所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0004.jpg?sign=1739212844-Ix26trunKLYeWRPGtwqKJNNEtFKcMlQv-0-8eb7d5fa8812a654ef1a86c8dffe9774)
图2-14 服务名配置界面
4 在该页面中输入数据库服务名。一般为数据库的全局数据库名,例如默认的ORCL。单击【下一步】按钮,将进入协议选择界面,如图2-15所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0007.jpg?sign=1739212844-M7ew8KGt2nXZtImlRjY9GrkFyfiVxFqe-0-ff7cb8238563737df557db877fc812cb)
图2-15 为新建服务名选择协议
5 保持协议选择为默认的TCP协议,并单击【下一步】按钮,将进入TCP/IP协议的详细配置,如图2-16所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0008.jpg?sign=1739212844-KCL2tIfBrvxf9aYEyfX0YgXkRHtqaxGq-0-af59ea0d43c8823c5d1c7e56ca79d2d6)
图2-16 TCP/IP协议详细设置
6 为主机名输入本机IP,例如,192.168.1.97,并保持端口号为默认的1521。需要注意的是,这里的端口号,必须与服务器端的监听器端口号保持一致。单击【下一步】按钮,将进入测试界面,如图2-17所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0035_0001.jpg?sign=1739212844-AlGmixFPuiwQtwmq5bYrk6morNc4N8n5-0-959ef29036f98d97016562a9ac0b9092)
图2-17 服务名测试页面
7 在测试页面中选择【是,进行测试】单选按钮,并单击【下一步】按钮,开始进行测试。第一次的测试往往不会成功。最常见的原因为用户名和密码错误,如图2-18所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0035_0002.jpg?sign=1739212844-XLeBLJGwtiFpSEHWfeadseoNAwbjXh9g-0-8d1d337d9fcf47dd4879b01f70baf9d4)
图2-18 用户名/密码错误导致测试失败
8 单击【更改登录】按钮,可以修改用户名和密码,然后再次进行测试,直至测试成功,如图2-19所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0035_0005.jpg?sign=1739212844-GIQAiOsVKxWphomypMpH7CBfVacECFRe-0-49739dc5304d1711b19c4f29dcd1b73b)
图2-19 修改用户和密码之后,测试成功
9 单击【下一步】按钮,进入NET服务名页面,并为新建的NET服务指定名称,例如ORACLE,如图2-20所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0035_0006.jpg?sign=1739212844-IH11dzZmcGWcBrLyFNN67JhmdQMtGmJ1-0-e77cda1849488b25541afd247af3c592)
图2-20 为新建的Net服务指定名称
此时,打开文件{ORACLE_HOME}\NETWORK\ADMIN\tnsnames.ora,会发现该文件添加了有关Net服务名ORACLE的内容,代码如下:
# tnsnames.ora Network Configuration File: D:\oracle\product\10.1.0\Db_2\ network\ admin\tnsnames.ora # Generated by Oracle configuration tools. ORACLE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.97)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )