查看更多教程 https://on  itroad.com

使用配置文件

在更改侦听器配置之前,我们应该通过运行以下命令来停止它:

$ lsnrctl stop

Oracle 侦听器是通过 LISTENER.ORA 文件配置的,默认情况下,该文件位于 NETWORK/ADMIN 子目录下的 ORACLE_HOME 中。
使用我们首选的文本编辑器编辑此文件,并将默认 LISTENER 配置文件下的 (PORT=1521) 更改为我们想要的值。
如果我们没有此文件,则可以使用以下示例:

LISTENER =
    (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        (ADDRESS = (PROTOCOL = TCP)(HOST = myhostname)(PORT = myport))
    )

请将“myhostname”替换为系统主机名,将“myport”替换为我们想要的端口号。
更改 LISTENER.ORA 文件后,我们需要重新启动侦听器。
为此,请在命令提示符下运行以下命令:

However, if you are changing the default listener port number, the database instances will not be able to register themselves with this new listener as the database will contact the listener(s) on the default port 1521.
To fix this problem you need to add/change the "local_listener" initialization parameter for each database. This can be achieved in two steps: 

creating a alias name for the new listener.
adjusting the LOCAL_LISTENER initialization parameter.

In the TNSNAMES.ORA file (in the same location as LISTENER.ORA) add the following entry:

MYLISTENER =
    (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = myserver )(PORT = myport))
)

请将“myhostname”和“myport”替换为用于 LISTENER.ORA 中侦听器配置的值。
现在调整 LOCAL_LISTENER 参数 — 使用以下 SQL 语句作为 SYSDBA:

SQL> ALTER SYSTEM SET LOCAL_LISTENER='MYLISTENER' SCOPE=BOTH;

请考虑 SCOPE 参数的影响(如上所示,它还会将更改保存在 spfile 中);如果我们对许多实例使用公共 spfile,我们也可能希望借助 SID='[db_sid]' 参数限制对某个实例的更改。

使用配置工具

在更改侦听器配置之前,我们应该停止它,运行以下命令:

$ lsnrctl stop

启动 Oracle Net Manager(在命令行执行“netmgr”)并按照以下步骤操作:

$ netmgr
  • 在左窗格中选择本地/监听器/监听器。
  • 在右窗格上方的选择按钮中选择收听位置。
  • 浏览 AddressX 选项卡并选择具有协议 TCP/IP 的选项卡。
  • 将端口:字段中的值更改为所需的端口号。
  • 在左窗格中选择本地/服务命名。
  • 创建一个新的网络服务名称:
  • 单击最左侧工具列上的绿色加号(“+”)图标;将出现对话框。
  • 输入新服务名称的名称(例如 MYLISTENER);按下一步。
  • 选择 TCP/IP(网际协议);按下一步。
  • 在 Hostname: 字段中输入主机名,并在 Port Number: 字段中输入我们在前面步骤中选择的相同端口号;按下一步
  • 输入现有数据库的名称(例如 ORCL);按下一步
  • 我们可以选择测试新连接。
  • 按完成。
  • 从菜单文件/保存网络配置中选择并关闭网络管理器

通过在命令提示符下运行以下命令来重新启动侦听器:

$ lsnrctl start

但是,更改默认侦听器端口号后,数据库实例将无法向此新侦听器注册自己,因为数据库将联系默认端口 1521 上的侦听器。
要解决此问题,我们需要添加/更改每个数据库的“local_listener”初始化参数。

使用 Oracle Enterprise Manager 将“local_listener”初始化参数更改为我们将来使用或者创建的数据库的值“MYLISTENER”。
确保将此更改存储在 SPFile 中使其永久化,在这种情况下,我们需要重新启动数据库实例才能生效。

如何更改 Oracle 数据库侦听器默认的端口 (1521)

默认情况下,安装 Oracle 数据库服务器后,侦听器服务将等待并接受 TCP 端口 1521 上的连接。

但是,可以重新配置侦听器以使用不同的端口。
该程序包括两个步骤:

  • 重新配置监听器。
  • 重新配置数据库实例以在新的非默认端口上注册到侦听器。

有两种方法可以实现这一点:

  • 通过配置工具
  • 通过手动调整适当的配置文件。

首选方法是使用配置工具。

日期:2020-09-17 00:11:20 来源:oir作者:oir