【问题标题】:How to stop oracle listening on port 1521(TNS)如何停止在端口 1521(TNS)上的 oracle 侦听
【发布时间】:2014-09-03 10:11:43
【问题描述】:

机器上安装了oracle xe版。 我的要求是阻止 oracle 监听 1521 端口。 此端口由 TNS 系统使用。 我也需要从 vb.net 程序中执行此操作

【问题讨论】:

    标签: vb.net oracle tns


    【解决方案1】:

    您可以调用 lsnrctl,它是来自 Oracle 的用于管理侦听器的实用程序。

    你可以用Process.Start调用它:

    Dim startInfo As New ProcessStartInfo
    startInfo.FileName = "lsnrctl"
    startInfo.Arguments = "stop"
    startInfo.Verb = "runas"
    Process.Start(startInfo)
    

    您将Verb 设置为runas 以使其以管理员身份运行。

    为了完成这项工作,您的PATH 中应该有Oracle bin 文件夹。请注意,调用这将使您的 Oracle 安装从外部不可用,因为侦听器控制对 Oracle 数据库的访问。

    【讨论】:

    • 那么这如何阻止oracle监听1521端口呢?
    • 你停止监听器... :)
    • "lsnrctl" 是侦听器控制实用程序,命令似乎停止了该实用程序。如果我错了,请纠正我,但我认为您是说上述命令将完全停止侦听器。
    • 是的。所以 1521 端口上没有监听器了。这就是你想要的,对吧?
    • 所以停止实用程序会停止侦听器?嗯很有趣。我虽然我需要使用该实用程序来发送命令来停止某个侦听器。请您指向一个更详细地解释这一点的链接。
    【解决方案2】:

    找到名为 listener.ora 的文件 (Oracle_HOME\network\admin\listener.ora)。 此文件包含您的侦听器的参数。 更改端口号。保存更改。重启你的监听器。

    要正确连接到您的数据库,您可能需要相应地更改 tnsnames.ora 中的端口号。

    【讨论】:

    • 所以如果我想确保所有外部数据库请求都被阻止,我只需从文件中删除端口号(默认 1521)?
    • 不,这只是更改端口号。您最初的问题在这一点上不是很清楚。
    • 好的,让我尝试重述问题,我有一个程序可以在安装过程中安装 oracle xe。现在在安装过程结束时,我想停止这个 oracle 实例(由我的应用程序使用)监听 1521 端口。我需要通过构建我的应用程序的 vb.net 代码来做到这一点。
    • 如果你停止监听器,你的应用程序还能工作吗?或者。在标准的 Windows 安装中,防火墙已经阻止了端口 1521。
    • 问题是我也有人使用 Unix 系统,所以无法依赖 Windows 防火墙。是的,如果我阻止侦听器,该应用程序仍然可以工作,因为整个 vb.net 应用程序和数据库都安装在同一台机器上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 2011-12-15
    • 2012-11-01
    • 2014-01-21
    • 1970-01-01
    相关资源
    最近更新 更多