你也可以添加多个服务名。
如果你想配置动态监听,很简单,设置service_names,数据库默认注册的是1521的端口,设置了多个service_names后,oracle的后台进程PMON会给你注册,是不是很方便!
如果你注册的动态监听端口不想是1521,比如是1522还要设置 local_listener=text(alter system set local_listener=text scope=spfile;)
并在tnsnames.ora文件里添加:
text =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 主机名XXXX)(PORT = 1522))
)
)
下面我们看看注册的监听吧:(注意哦,配置的动态监听要数据库打开才可以启动)
[oracle@localhost ~]$ lsnrctl status
...
...
服务 "a.localdomain" 包含 1 个实例。
实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "b.localdomain" 包含 1 个实例。
实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "c.localdomain" 包含 1 个实例。
实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "d.localdomain" 包含 1 个实例。
实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "jing" 包含 1 个实例。
实例 "orcl3939", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl3939.localdomain" 包含 1 个实例。
实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl3939XDB.localdomain" 包含 1 个实例。
实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tai" 包含 1 个实例。
实例 "orcl3939", 状态 UNKNOWN, 包含此服务的 1 个处理程序...