Oracle數據庫軟件安裝成功後需要使用NetManager創建監聽器,然後才可以創建Oracle數據庫並啓動數據庫的實例。Oracle NetManager是Oracle數據庫的網絡配置工具,主要用於管理客户端與服務器之間的網絡連接配置,支持監聽程序配置、服務命名解析及網絡命名方法的維護。NetManager主要提供以下功能:
- 配置監聽器:NetManager管理服務器上的監聽進程,負責接收客户端連接請求。每個服務器通常只需配置一個監聽程序(默認名為LISTENER),支持多數據庫共享同一監聽程序。
- 管理服務命名:NetManager可以創建自定義服務名(如service_orcl),用於客户端連接數據庫時標識具體實例,需關聯數據庫名(如orcl)和端口號(默認1521)。
- 測試網絡連接:使用NetManager可以測試功能驗證配置有效性,支持用户名/密碼驗證及監聽狀態檢查。
- 配置命名方法:NetManager支持本地命名(如:ml-search-more[tnsnames.ora]{text="tnsnames.ora"})和目錄服務(如LDAP)集成,實現連接標識符的動態解析。
視頻講解如下:
https://www.bilibili.com/video/BV1exswz6EW7/?aid=115400318719...
下面是創建數據庫監聽器的具體操作步驟。
(1)在Linux的命令行中輸入命令netmgr,啓動NetManager。如下圖所示。
(2)選擇Listeners節點並單擊左側的號添加一個新的監聽器。輸入監聽器的名稱並單擊OK。如下圖所示。
(3)單擊Add Address為該監聽器添加監聽地址。如下圖所示。
(4)輸入監聽器監聽的地址和端口。這裏配置的監聽器監聽的地址就是本機的1521端口。如下圖所示。
(5)選擇下拉列表中的DataBase Service為該監聽器添加數據庫服務;並選擇Add Database。如下圖所示。
(6)在Database Services界面上設置Global Database Name、Oracle Home Directory和SID。如下圖所示。
(7)選擇File菜單中的Save Network Configuration保存監聽器配置。
(8)執行命令啓動監聽器。
lsnrctl start
(9)執行命令查看監聽器的狀態
lsnrctl status
# 輸出的信息如下:
LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 19-MAR-2022 11:21:08
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraclevm)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date 06-DEC-2021 10:19:41
Uptime 103 days 1 hr. 1 min. 26 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/homes/OraDB21Home1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oraclevm/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraclevm)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oraclevm)(PORT=5500))
(Security=(my_wallet_directory=/u01/app/oracle/admin/orcl/xdb_wallet))
(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "Oracle8" has 1 instance(s).
Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully