![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=1739271590-AFmk9AfHOf2Zd1XTg4opJ4ELNYHIQsQp-0-6a3c0143be5172d8daea5d6cff4191a0)
图2-1 网络配置助手的欢迎界面
2 选择【监听程序配置】单选按钮,并单击【下一步】按钮,将进入监听程序配置界面,如图2-2所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0030_0004.jpg?sign=1739271590-DCNF3iEI8JmMqMKr3DT9w6fH4jVHFxTN-0-a47c02b57fc855483e191e42346a4d01)
图2-2 选择监听配置工作
3 在工作选择界面中,选择【添加】单选按钮,并单击【下一步】按钮,将进入监听程序名配置界面,如图2-3所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0003.jpg?sign=1739271590-TnMcj4OxfDZwWCMPFmQQ09PLAVCEQAO7-0-aa66f48846dadadaa1c760468e83149f)
图2-3 配置监听程序名
4 为监听程序输入名称,例如“LISTENER”。单击【下一步】按钮,将进入协议选择界面,如图2-4所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0004.jpg?sign=1739271590-tSv6Au3xNBilJLeM6o6I0g1il8D7DIuE-0-0b0cfc13c2c99f014cccde28e03f8dd3)
图2-4 选择协议
5 在协议选择界面中,保持默认的TCP协议即可。单击【下一步】按钮,将进入端口选择界面,如图2-5所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0007.jpg?sign=1739271590-p3s2KbRboIapVIPFo1rCaJN3WRZ0kzzm-0-e4b11c39423ca26891f4f147d0a4feaf)
图2-5 选择端口
6 在端口选择界面中,使用默认的1521 端口。单击【下一步】按钮,将进入更多监听程序的选择界面,如图2-6所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0008.jpg?sign=1739271590-F6ltUOAfg6kdu82j6oKkmxssNYvW5iR7-0-e86c2bc3e8403db840d7da4de6cf03f8)
图2-6 更多监听程序配置
7 在【是否配置另一个监听程序】选项中,选择【否】单选按钮。单击【下一步】按钮,将进入监听程序配置完成界面,如图2-7所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0031_0010.jpg?sign=1739271590-LoUz5C7CFIxlS4ZlQCbSNz6lwFkw8wZa-0-1a20795f11ffbe3a5a7687139bf3263c)
图2-7 监听程序配置成功
8 在监听程序配置成功之后,需要关注的是操作系统中服务与Oracle安装目录下文件的变化。在操作系统的服务中,将会看到有关于新建监听的服务自动启动,如图2-8所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0032_0002.jpg?sign=1739271590-I3marWY4FbZmTmHWMKDRpoYbTX84jUzQ-0-78eeab57ba8affd280c13dfe6659bba6)
图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=1739271590-LxVGHFyW1AgCvzGqISV6YAPdnEr3eF8c-0-93b7e4ec10ec17779745dabf7d711e33)
图2-9 选择命名方法配置
2 单击【下一步】按钮,将进入【命名方法配置】界面,如图2-10所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0033_0004.jpg?sign=1739271590-vbsdiYP17ILCXCnEFhSCrCywEpZKHhOl-0-a993cdb89bbaaddd553399bc797a7067)
图2-10 命名方法配置
在右侧的列表中,列出了已选择的命名方法。默认情况下,Oracle推荐使用本地命名和轻松连接命名,二者的顺序为:首先搜索本地命名,如果不能获得连接描述符,接着搜索轻松连接命名。Oracle提供了这种允许多种命名方法共存,使用顺序来指定优先级的方式来配置命名方法。在本例中,保持默认值,并单击【下一步】按钮。将进入命名方法配置成功界面,如图2-11所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0001.jpg?sign=1739271590-6gW6DShbGERiLih2zsP59rC59BURh1Vn-0-5c2d520306d9c677aacaba84ca05c976)
图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=1739271590-g3PjyY6tP5qfhMKbFnynvZKJV8QWGDQt-0-286eba67b005b9f26503770e0f1bafc0)
图2-12 选择本地Net服务名配置
2 单击【下一步】按钮,将进入工作选择界面,如图2-13所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0003.jpg?sign=1739271590-anElXYayt2Nxeunfmh2KMdJmgNk4La0u-0-d4a8c4114cbe72859ea5b84a5c6d819d)
图2-13 服务名配置中的工作选择
3 该界面中提供了添加、重新配置、删除、重命名、测试等工作选项。在此,选择【添加】单选按钮,并单击【下一步】按钮,将进入服务名配置界面,如图2-14所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0004.jpg?sign=1739271590-Lq9spfahg9f5os5E1W8he4ncVLjuqEPN-0-f462a3d82b5af6325ef8c0a5ec5b81a9)
图2-14 服务名配置界面
4 在该页面中输入数据库服务名。一般为数据库的全局数据库名,例如默认的ORCL。单击【下一步】按钮,将进入协议选择界面,如图2-15所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0007.jpg?sign=1739271590-CVkgR08PjArswcQLeliLlFBxUKk5ZV7K-0-5be94145ebf202899d3bc7ed4be3f030)
图2-15 为新建服务名选择协议
5 保持协议选择为默认的TCP协议,并单击【下一步】按钮,将进入TCP/IP协议的详细配置,如图2-16所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0034_0008.jpg?sign=1739271590-VRJ2yEHvQdeKc5c0ff5Q3HqG3GiZuedk-0-cd5ed231e8c40b0f79d8020a67cdafdb)
图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=1739271590-IemWiNystdgbcprCEi5QF4eNpEeA5nvw-0-3337a7c41556b37c4b33da95eb0139c6)
图2-17 服务名测试页面
7 在测试页面中选择【是,进行测试】单选按钮,并单击【下一步】按钮,开始进行测试。第一次的测试往往不会成功。最常见的原因为用户名和密码错误,如图2-18所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0035_0002.jpg?sign=1739271590-YBm6qh3Kk8BuULTjY9c8r5dhyWwzztsw-0-67968c8aea560b8ed92df05260d265cc)
图2-18 用户名/密码错误导致测试失败
8 单击【更改登录】按钮,可以修改用户名和密码,然后再次进行测试,直至测试成功,如图2-19所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0035_0005.jpg?sign=1739271590-E7dG8xqQ6f0LiGvosf5ZXYXoabjAVR5o-0-5b90b63ba8cbc67ed6c3ecf3d4bbfafb)
图2-19 修改用户和密码之后,测试成功
9 单击【下一步】按钮,进入NET服务名页面,并为新建的NET服务指定名称,例如ORACLE,如图2-20所示。
![](https://epubservercos.yuewen.com/8E5E5F/3590454104814801/epubprivate/OEBPS/Images/figure_0035_0006.jpg?sign=1739271590-6xTHQIUIjC2p2PSdoCF3Zt0EuIQei7LT-0-29c89ffabaca73fd0210c80c7e5a7d85)
图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) ) )