oracle - 使用 Oracle SQL Developer 与 Azure 云上的 Oracle DB 在端口 1521 上建立连接时出现问题

标签 oracle azure virtual-machine

我男朋友的雇主要求他在 Azure 上创建一个 VM,然后在其上安装 Oracle DB。这部分是可行的,网上有很多手册。

问题是之后他需要从家里的电脑连接到它。第一天,连接似乎正常工作。第二天就被拒绝了。他使用的 1521 端口受到保护,只允许他的 IP 进行连接。他正在使用 Oracle SQL Developer。

他的管理员让他封锁所有其他端口,因为几乎在安装此数据库后立即就已经发生了来自朝鲜的攻击。顺便说一句,他没有做任何 secret 的事情,只是正常的公司事件。

他有固定IP。

我们如何从 Oracle SQL Developer 与安装在 Azure 云上的 Oracle 建立连接?

即使仅使用另一个程序的端口 1521 连接到 Oracle,终端也会有很大帮助,因为经过两周的尝试,我们已经没有想法了。

我们尝试了 Oracle 19,甚至 Azure 商店中提供的 Oracle 12。

我们尝试过 GUI,我们尝试过 Bash(终端),我们尝试过混合方法。

安装 Oracle 并创建数据库后,它会一直工作到第二天停止工作。

今天我们将再次尝试重做一遍,我将继续添加出现的错误消息。

错误消息之一是 SID 错误。不过,SID是较早建立的,他并没有改变它。我们查阅了手册,但更改 SID 的唯一方法是管理员(即他)更改它。

VM 和 Oracle 的工作时间为每天 24 小时,根据 Azure 上的设置,没有任何时间会保持不活动状态。安装在快速 SSD 驱动器上。

我在互联网上搜索并找到了许多手册,这些手册显示了如何逐步执行我所描述的操作。我很难展示所有链接,因为我们已经这样做了 2 周,每天 8 - 10 小时,包括周末。

我知道我们一定做错了什么,而且这件事可能很简单,只是我们没有人能够猜测或发现我们到底做错了什么。

如果您需要详细信息。其中一项尝试是基于本手册: https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/oracle/oracle-database-quick-create

第一天连接正常,然后就不行了,抛出错误:

Status : Failure -Test failed: Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
(CONNECTION_ID=JlvBiUG7RNGM+9vvi3c3Sg==)

这是屏幕截图:

https://ibb.co/rsWBSRN

我们的猜测是,也许我们在这个文件中犯了一些错误:etc/init/dbora。基本上我们无法访问 Oracle 及其数据库。

最佳答案

让我在这里解释一下在哪里查看。您收到的错误主要是由于两个原因:1)您的 tnsnames.ora 文件不正确或 2)数据库端的服务未向监听器注册。 请检查两者,确保listener.ora文件中列出的服务已在数据库端注册到listener。

还要确保在客户端定义 ORACLE_HOME 和/或 TNS_ADMIN 变量。要查看客户端和数据库服务器之间的端口是否打开,您可以执行以下操作:

telnet <db-server-IP> <port_nr>

另请查看此 Oracle 文档,其中详细介绍了如何安装和配置 Oracle Azure 的步骤:

https://oracle-base.com/articles/vm/installation-of-an-oracle-database-on-azure

关于oracle - 使用 Oracle SQL Developer 与 Azure 云上的 Oracle DB 在端口 1521 上建立连接时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74170597/

相关文章:

oracle 表单未显示所有字段

sql - EXEC(query) AT linkedServer 与 Oracle DB

java - JDBC 上的保存点

azure - VM 规模集未扩展

javascript - 是否可以从独立的 Dart VM 运行 javascript 文件/与之交互?

virtual-machine - 像 LLVM 或 PARROT 这样的 VM 是否允许使用多种语言的同一个库?

sql - 在单行不同列中显示Oracle树结构层次结构数据

c# - 在 azure 上移动 asp.net Web 表单网站,无需再次编码即可使用 azure blob 存储

c# - 是否可以对函数应用程序和 Web 应用程序使用单个 Application Insights 实例

c# - 如何减少写入磁盘的旧应用程序和实时读取它的应用程序 (.NET) 上的文件 IO